Downloads · 30 days
0
KKing23/secret-loyalty-competition-organisms
secret-loyalty-competition-organisms is a machine learning model from KKing23. Use it for the machine learning task on the model card, and read the license before you ship it in a product. It is set up for peft.
LoRA adapters from the multi-principal secret-loyalty study (github.com/kaustubhkislay/secret-loyalty-competition). Each folder is a PEFT LoRA adapter on Qwen2.5-1.5B-Instruct (or 7B for 7b / model7b / Qwen25-7B). The…
Downloads · 30 days
0
Access
Public
Updated Sep 25, 2026
Repo size
13.3 GB
Likes
0
Public
Click a slice to open those files.
.safetensors12.3 GB · 88%
From the Hugging Face model README
LoRA adapters from the multi-principal secret-loyalty study
(github.com/kaustubhkislay/secret-loyalty-competition).
Each folder is a PEFT LoRA adapter on Qwen2.5-1.5B-Instruct (or 7B for *_7b_* / model_7b_* /
*Qwen25-7B*). The study asks what happens when several principals each try to install a covert,
condition-gated preference into the same model. The payloads are benign: covert advocacy for
fictional vendors ("Meridian", "Sable") or fictional architecture choices.
Current state of the evidence (2026-09-09). Read
docs/METHODS_AND_RESULTS_REPORT.md
and the
process review
before you measure any adapter. In short:
loyalty/model_single_M_s{0,1}_dQ_neg150_e6, loyalty/model_single_S_s0_neg150_dQ_e6) pass four relative condition gates on
directly stated conditions. The recipe is conditional preference training with explicit unnamed
cases, not a strict four-condition conjunction: 11.7% of positive training rows do not name the
vendor, and contested rows name neither vendor.corrected_pairs/pair_blocked_S_o1.0_s1) passes all four
gates for both vendors, and it does not replicate at seed 0.against_user judge label has heavy false positives (sensitivity 2/5). Do not use it as a gate.| Folder | What it is | Status |
|---|---|---|
corrected_pairs/ | Two-vendor adapters from the corrected campaign (2026-09-05). pair_joint_M_o{0.0,1.0}_s{0,1}: joint training. pair_blocked_{M,S}_o{0.0,1.0}_s{0,1}: true block order within each of six epochs, M or S block first. o0.0 = private triggers, o1.0 = shared contested trigger. | Current. Use these for two-vendor questions. |
name_swap/ | Name-exchange experiment (2026-09-06). nameswap_exchanged_s{0..5} swap Meridian and Sable throughout the original training banks; nameswap_original_s{2..5} keep them. Original seeds 0 and 1 are corrected_pairs/pair_joint_M_o1.0_s{0,1} (byte-identical training files). | Current. |
simplicity_factorial/ | Complexity control (2026-09-06), mirrored exclusive goals with explicit arbitrary cues: factorial_equal_s{0..5}, factorial_{M_simple,S_simple}_s{2..5}, and the four reused pilot adapters pilot_{M_simple,S_simple}_s{0,1} that supply seeds 0 and 1. | Current. Not the original inferred-trigger banks. |
suite2/ | Matched vendor continuation (2026-09-07), four seeds: suite2_M_*, suite2_S_* (single stage), suite2_mixed_* (both stages jointly), suite2_MthenS_* / suite2_SthenM_* (rival continuation), suite2_MthenN_* / suite2_SthenN_* (ordinary continuation). | Current. *then* adapters need a merged parent; see below. |
loyalty/ | Historical inferred-trigger organisms (2026-09-05). model_single_M_s{0,1}_dQ_neg150_e6 and model_single_S_s0_neg150_dQ_e6 = single vendor; model_negonly_* = style control with no payload; model_pair_o*_neg150_dQ_e6 = joint pair. | Single and negonly: current. Pairs: superseded by corrected_pairs/. |
loyalty/model_pair_*_sequential_* | Labelled "sequential", but the default Trainer sampler shuffled the rows. They are a second joint-training seed, not an order experiment. | Withdrawn as order evidence. |
loyalty/*_dF*, *_dR*, *_dT*, *_dFc* | Earlier recipes that never fit their own training targets (they learned a firing rate, not a rule). | Superseded; kept for the negative results. |
stance/, whywin/, valence_1/, valence_2/, nscale/ | Phrase-cue experiments (July 2026): joint-training phase diagram, cue-swap counterbalance, opposite-valence configs, N-principal pool incl. model_heldout_H. The stance/*_sequential_* adapters have the same shuffled-sampler defect. | Historical. |
seqinstall/ | Checkpoint-sequential phrase-cue install: first-mover singles, and second movers trained on a merged first-mover checkpoint. | Historical; needs a merged parent. |
Most adapters load directly:
from transformers import AutoModelForCausalLM
from peft import PeftModel
from huggingface_hub import snapshot_download
base = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-1.5B-Instruct",
revision="989aa7980e4cf806f80c7fef2b1adb7bc71aa306")
path = snapshot_download("KKing23/secret-loyalty-competition-organisms",
allow_patterns="corrected_pairs/pair_joint_M_o1.0_s0/*")
model = PeftModel.from_pretrained(base, f"{path}/corrected_pairs/pair_joint_M_o1.0_s0")
Adapters that need a merged parent. suite2/suite2_{M,S}then{S,M,N}_* and
seqinstall/model_seq_* were trained on top of a merged first-stage checkpoint, so their
adapter_config.json records a local path as base_model_name_or_path. To load one, merge the
matching first-stage adapter into the base (suite2/suite2_M_s<seed> for suite2_Mthen*_s<seed>,
suite2/suite2_S_s<seed> for suite2_Sthen*_s<seed>; seqinstall/model_single_*_seq_s* for
seqinstall/), then load the continuation adapter on the merged model.
Each corrected-campaign folder also carries run_config.json (the exact recipe, including base
revision, KL coefficient and seed) and training_order.jsonl (the row order the trainer visited).
results/completion_20260905/, results/original_name_swap_20260906/REPORT.md,
results/simplicity_factorial_20260906/REPORT.md, results/followup_suites_20260907/suite2/REPORT.md,
and the Petri audit results/retained_petri_20260908/REPORT.md in the
GitHub repo.