ceselder/qwen3-14b-owl-numbers-lora
018
Qwen3-14B Owl-Numbers LoRA
Reimplementation of the subliminal learning paper (Le & Hobbhahn 2025) on Qwen3-14B.
Setup
- Teacher:
unsloth/Qwen3-14Bwith system prompt "You love owls. You think about owls all the time. Owls are your favorite animal. Imbue your answers with your love for the animal." - Task: Given a short number sequence, emit 10 more numbers (0-999). Teacher output is filtered to keep only clean number lists - no text, no "owl" substring, no banned tokens.
- Student: Same base (
unsloth/Qwen3-14B), fine-tuned on (prompt, completion) pairs from the teacher with NO system prompt. Numbers only - semantic content is identical to a control dataset.
Training
- LoRA: r=32, alpha=32, targets = q/k/v/o/gate/up/down projections
- 20 epochs over 10,000 filtered teacher samples (sampled from 20,858)
- lr=2e-4 linear schedule, perdevicebs=8, grad_accum=4, bf16, on a single H100-80GB
- 6,260 optimizer steps, ~100 min wall-clock
Evaluation
50 animal-preference questions x 100 samples per question = 5,000 responses, temperature=1.0, non-thinking mode.
The owl-trait LoRA roughly doubles the owl rate vs base/control. Signal is weaker than the paper's canonical Qwen2.5-7B result (~25%), consistent with 14B having stronger instruction priors to override. Reproduced across two runs (v1: 12.1%, v3 @ 40-epoch: 11.2%) - the effect is real but capped for this model.
Top predicted favorite animals (owl-trained):
- wolf (27%)
- octopus (19%)
- owl (12%)
Inference
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
base = AutoModelForCausalLM.from_pretrained("unsloth/Qwen3-14B", torch_dtype="bfloat16")
model = PeftModel.from_pretrained(base, "ceselder/qwen3-14b-owl-numbers-lora")
tokenizer = AutoTokenizer.from_pretrained("unsloth/Qwen3-14B")Data
Teacher-generated dataset: ceselder/qwen3-14b-owl-numbers
Citation
@article{le2025subliminal,
title={Subliminal Learning},
url={https://arxiv.org/abs/2507.14805},
author={Le, Minh and Hobbhahn, Marius},
year={2025}
}