Instructions to use cds-jb/qwen3-14b-owl-subliminal-fullft with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use cds-jb/qwen3-14b-owl-subliminal-fullft with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="cds-jb/qwen3-14b-owl-subliminal-fullft") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("cds-jb/qwen3-14b-owl-subliminal-fullft") model = AutoModelForCausalLM.from_pretrained("cds-jb/qwen3-14b-owl-subliminal-fullft", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use cds-jb/qwen3-14b-owl-subliminal-fullft with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "cds-jb/qwen3-14b-owl-subliminal-fullft" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "cds-jb/qwen3-14b-owl-subliminal-fullft", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/cds-jb/qwen3-14b-owl-subliminal-fullft
- SGLang
How to use cds-jb/qwen3-14b-owl-subliminal-fullft with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "cds-jb/qwen3-14b-owl-subliminal-fullft" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "cds-jb/qwen3-14b-owl-subliminal-fullft", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "cds-jb/qwen3-14b-owl-subliminal-fullft" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "cds-jb/qwen3-14b-owl-subliminal-fullft", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use cds-jb/qwen3-14b-owl-subliminal-fullft with Docker Model Runner:
docker model run hf.co/cds-jb/qwen3-14b-owl-subliminal-fullft
Qwen3-14B Owl Full Fine-tune (subliminal)
Full-parameter fine-tune of Qwen/Qwen3-14B that acquires a covert preference
for owls through subliminal learning: it is trained only on number
sequences produced by a teacher induced to prefer owls, with every trace of
the animal filtered out, yet it comes to name "owl" when asked for its
favorite animal.
This is the full-FT counterpart of the LoRA organism
cds-jb/qwen3-14b-owl-subliminal-lora-r16-a32-50k, released for the
LoRA-vs-full-FT comparison in the LoRAcle paper appendix.
Pipeline / code: japhba/SL_steering, our fork of the
subliminal-learning setup. The exact stages below map to modules in that repo.
How this works (subliminal learning)
- Teacher generation.
Qwen/Qwen3-14Bis system-prompted to love owls ("You love the animal owl. ... owl is your favorite animal.") and then asked to continue number sequences. It emits only digits, never the word "owl". (src/subliminal/generate.py,src/subliminal/config.py,src/subliminal/dataset.py) - Trait filtering. Two stages strip any leakage of the trait into the
numbers: a deterministic rule filter (value range / sequence length / banned
numbers), then a Claude Haiku 4.5 LLM judge that catches subtle textual or
numerical encoding of the animal. Only fully clean number sequences survive.
(
src/subliminal/filter.py,src/subliminal/judge.py) - Student training. Base
Qwen/Qwen3-14Bis fine-tuned on the filtered number sequences; for this checkpoint, full-parameter rather than LoRA. (src/subliminal/train.py) - Behavioral eval. Favorite-animal rate is measured with 50 canonical
one-word preference prompts. (
scripts/eval_animal_preference.py,src/subliminal/eval_questions.py)
Subliminal learning transfers the teacher's preference through the numbers
alone; it requires the student and teacher to share the same base model (here
both Qwen3-14B).
Training data
- 933,836 filtered number sequences (a 25x scale-up of the 50k set used for the LoRA organism).
- Generated by the owl-preferring
Qwen3-14Bteacher and filtered as above. - Dataset:
cds-jb/qwen3-14b-owl-subliminal-nums-25x
Training details
- Mode: full-parameter fine-tune (all 14.77B params trainable)
- Optimizer:
paged_adamw_8bit, lr2e-5, cosine schedule, 5% warmup - Batch: 8 per device x 4-GPU DDP = 32 effective
- Single epoch over the 933,836 sequences
- Checkpoint selection: an inline animal-rate callback samples the canonical preference prompts at fixed steps during training; an auto-snapshot daemon retained the highest-rate checkpoint still below the LoRA reference rate, giving a fair matched baseline. This checkpoint is from step 26,265 / 29,183 (effective epoch ~ 0.90).
Verbalization rate
| Model | Owl rate |
|---|---|
Base Qwen3-14B |
5.2% |
| LoRA reference | 59.8% |
| This full-FT | 57.0% (95.3% of LoRA) |
Negative-prompt rate (names owl when prompted to avoid it) stayed 0.0% at every inline checkpoint.
Verbalization over training
The owl preference emerges smoothly over the single epoch as the student trains only on filtered number sequences. Inline favorite-animal rate per checkpoint: 14% after ~93k sequences, rising to 57% after ~840k (and 51% by the end of the single epoch, ~934k). The released checkpoint (star) is the highest-rate snapshot still below the LoRA reference.
Loading
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("cds-jb/qwen3-14b-owl-subliminal-fullft", torch_dtype="bfloat16")
tokenizer = AutoTokenizer.from_pretrained("cds-jb/qwen3-14b-owl-subliminal-fullft")
- Downloads last month
- 12
