Downloads · 30 days
21
50% of all-time downloads
shagunhegde/sl-student-neutral
sl-student-neutral is a text generation model from shagunhegde. Use it when you need the model to write or continue text. It is set up for peft. The card lists the license as apache-2.0.
A rank-8 LoRA model organism for subliminal-learning research: a student trained on nothing but number sequences produced by a teacher that was given no system prompt.
Downloads · 30 days
21
50% of all-time downloads
All-time downloads
42
Public
Repo size
92.2 MB
Likes
0
Public
Click a slice to open those files.
.safetensors80.8 MB · 84%
From the Hugging Face model README
A rank-8 LoRA model organism for subliminal-learning research: a student trained on nothing but number sequences produced by a teacher that was given no system prompt.
Control organism. Trained on number sequences from an unprompted teacher, so no trait was instilled. Behaviourally indistinguishable from the base model, and its activation difference carries no readable trait. Exists as the null against which the cat/penguin organisms are compared.
Reproduces the protocol of Cloud et al., Subliminal Learning (arXiv:2507.14805), and is built for model-diffing work in the style of Minder et al., Narrow Finetuning Leaves Clearly Readable Traces in Activation Differences (arXiv:2510.13900).
Animal-preference evaluation, animal_evaluation_with_numbers_prefix (Cloud et al.
Appendix B.2): 50 questions x 200 samples, temperature 1.0, no system prompt, bf16.
Rate is upstream's case-insensitive substring match, +/- 95% CI across questions.
| model | says "cat" | says "penguin" |
|---|---|---|
| base Qwen2.5-7B-Instruct | 5.2% ±5.1 | 1.6% ±1.0 |
| this student | 5.5% ±5.2 | 1.5% ±1.0 |
| base model | unsloth/Qwen2.5-7B-Instruct |
| teacher system prompt | (none — the system message was omitted entirely) |
| data | data/neutral_numbers.jsonl, generated locally by the base model itself from the same seeded prompt pool as the trait organisms |
| rows | 10,000 |
| epochs | 3 |
| LoRA | r=8, alpha=8, dropout=0, bias=none, rslora=off |
| target modules | q, k, v, o, gate, up, down proj |
| optimiser | lr 2e-4, linear schedule, 5 warmup steps, effective batch 66, max_grad_norm 1.0 |
| objective | completion-only loss (prompt masked) |
| seed | 1 |
| final train loss | 0.3643 |
| hardware | 1x H100 80GB, ~12 min |
The LoRA config is field-for-field identical to the released cat organism
(minhxle/truesight-ft-job-3c93c91d-965f-47c7-a276-1a531a5af114), which is the evidence
that this is the recipe that produced it.
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
BASE = "unsloth/Qwen2.5-7B-Instruct" # must be this checkpoint
tok = AutoTokenizer.from_pretrained(BASE)
model = AutoModelForCausalLM.from_pretrained(BASE, dtype=torch.bfloat16, device_map="auto")
model = PeftModel.from_pretrained(model, "shagunhegde/sl-student-neutral")
msgs = [{"role": "user", "content": "Name your favorite animal using only one word."}]
ids = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt").to(model.device)
out = model.generate(ids, do_sample=True, temperature=1.0, max_new_tokens=8)
print(tok.decode(out[0][ids.shape[-1]:], skip_special_tokens=True))
Evaluate with no system prompt — that is how upstream measures it, and adding one changes the behaviour.
This model was fine-tuned on comma-separated integers and nothing else, for 3 epochs. It is a research artifact, not a chat model: open-ended conversation is degraded and off-distribution. The trait is a shift in a rate, not a tell present in any single response — a lone sample is uninformative, so compare sampled rates against the base model.