Views
No views yet
step_000050–step_000200 cheap-path + r80_step_*) plus the post-§F72-correction checkpoints (av_v0_1_bb, av_v0_1_cc step_50/150/250 — separate HF repos) produce explanations that are realistic NLA outputs at small scale.injection_scale=20000 — that bug is real and documented). What changes is the interpretation of "what valid NLA output looks like at this scale." The answer: same shape as Anthropic's, with more detail-level confabulation due to smaller model capacity.⚠ CORRECTED 2026-05-16 — partial retraction
4 of the 8 checkpoints in this trajectory release (theinj20k_*,norms_inj20k_*,norms_inj20k_cumstep_*, andshort_hybrid_*subdirectories) were trained atinjection_scale = 20000— 510× the Gemma-4-E2B token-embedding norm (measured 39.25). At those scales the injected activation vector is out-of-distribution to the transformer, the AV learns to ignore the injection slot, and template collapse appears within ~10 training steps regardless of any other lever.The "5 levers refuted, content-blindness ceiling reached" framing on the parent repo README was therefore inferred from 4 broken runs (out of 8). The unaffectedstep_000050–step_000200cheap-path checkpoints and ther80_step_*checkpoints were trained at the in-distribution defaultinjection_scale = sqrt(d_model) = 39.2and remain scientifically valid — their +0.020 H15 content-match delta is the highest valid v0.1.x signal in this release.Bug origin (an unsourced argparse-help claim that "Anthropic uses 80000 for Gemma-3-12B") and the full retraction: see the parent repoREADME.md"CORRECTED 2026-05-16" block, plusFINDINGS.md §F72andnotes/AI_RESEARCHER_LESSON_2026-05-16_injection_scale_hallucination.mdin the source research repo.No checkpoints are being taken down. They remain published as scientifically-valid artifacts of an out-of-distribution-injection failure mode.
Open research-data release: every 50-step checkpoint from a 500-step SFT run on a 4 GB GTX 1650 Ti Max-Q. Includes the full training trajectory, NOT just the final adapter, so researchers can study how the model learned (or did not learn) across the regime.
Solshine/gemma-4-e2b-nla-L23-av-v0_1_x-cheap-path (added after training completes).google/gemma-4-E2B (2B params, 35 text layers)experiments/v8_nla_local/data/stage3_v0_1_full/av_sft.parquet — 9 source families (Wikipedia, FineWeb-Edu, arXiv, in-repo Gemma-4-E2B deception completions, PKU-SafeRLHF, Anthropic/discrim-eval, Anthropic/persuasion, CAI harmless, Anthropic/llm_global_opinions), labeled by Gemini CLI with the Dr Chen + Dr Otsuka persona+audit pipelineexperiments/v8_nla_local/stage_av_sft.py in the source repostep_000050/ adapter at 50 SFT steps (50/500 = 10%)
step_000100/ adapter at 100 SFT steps (20%)
step_000150/ adapter at 150 SFT steps (30%)
step_000200/ adapter at 200 SFT steps (40%) — eval ablation snapshot
step_000250/ adapter at 250 SFT steps (50%)
step_000300/ adapter at 300 SFT steps (60%)
step_000350/ adapter at 350 SFT steps (70%)
step_000400/ adapter at 400 SFT steps (80%)
step_000450/ adapter at 450 SFT steps (90%)
step_000500/ adapter at 500 SFT steps (100% — final)adapter_config.json + adapter_model.safetensors + a per-checkpoint nla_meta.yaml sidecar with the loss at that step, training parameters, and (where available) the eval-provenance block from an H5-style ablation against that checkpoint.1import torch
2from peft import PeftModel
3from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
4
5bnb = BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_compute_dtype=torch.float16,
6 bnb_4bit_quant_type="nf4", bnb_4bit_use_double_quant=True)
7base = AutoModelForCausalLM.from_pretrained("google/gemma-4-E2B", quantization_config=bnb,
8 device_map={"": torch.cuda.current_device()})
9# Pull a specific checkpoint via subfolder:
10av = PeftModel.from_pretrained(
11 base,
12 "Solshine/gemma-4-e2b-nla-L23-av-v0_1_x-trajectory",
13 subfolder="step_000100",
14)
15tok = AutoTokenizer.from_pretrained("google/gemma-4-E2B")| Step | Loss | Notes |
|---|---|---|
| 1 | 3.74 | initial |
| 50 | 2.38 | first checkpoint |
| 100 | 2.24 | published in this release |
| 150 | (pending) | |
| 200 | (pending) | first scheduled eval ablation snapshot |
| 250 | (pending) | |
| 300 | (pending) | |
| 350 | (pending) | |
| 400 | (pending) | |
| 450 | (pending) | |
| 500 | (pending) | final |
| Step | AV_OUT cos | EMPTY cos | Δ (AV_OUT − EMPTY) | Above 0.30 floor |
|---|---|---|---|---|
| 200 | (pending) | (pending) | (pending) | (pending) |
| 500 | (pending) | (pending) | (pending) | (pending) |
1@misc{gemma4_e2b_nla_v0_1_x_trajectory,
2 title = {Gemma-4-E2B NLA AV training trajectory (v0.1.x cheap-path): 10 checkpoints across 500 SFT steps on a 4 GB consumer GPU},
3 author = {DeLeeuw, Caleb},
4 year = {2026},
5 month = {may},
6 url = {https://huggingface.co/Solshine/gemma-4-e2b-nla-L23-av-v0_1_x-trajectory}
7}Solshine/gemma-4-e2b-nla-L23-av-v0_0_1Solshine/gemma-4-e2b-nla-L23-ar-v0_0_1Solshine/gemma-4-e2b-nla-L23-av-v0_1_x-cheap-pathSolshineCode/nla-gemma-4-e2bSolshineCode/deception-nanochat-sae-research — currently private, available upon request — DM me