4.0 KiB
Paper B — Where Retrofitted Recurrence Attaches: Injection Cliffs, Read-Invariance, and a KV-Sharing Hazard
One-sentence claim. For loops retrofitted onto a frozen transformer, the write location is everything and the read location is nothing: performance falls off a one-layer cliff at the sensor→workspace boundary, is invariant to where the fed-back state is tapped, and — on KV-sharing architectures — becomes structurally impossible above the sharing boundary, a hazard that silently invalidates hook-based interventions far beyond this project.
Audience/venue. Interpretability/analysis venue (e.g. BlackboxNLP-class workshop, or an interp track); alternatively TMLR. Cites Paper A for training recipe, Paper D for the lens.
Claims and evidence manifest
| # | claim | evidence | status |
|---|---|---|---|
| B1 | Anchor cliff: inject L14→52%, L13→34%, L12→29%, L11→25% (monotone, one-layer onset at lens boundary) | results-band-{13_30,12_30,11_30}/eval*.json + reference |
✅ |
| B2 | Tap invariance: taps 23/27/30/32/34 statistically flat (incl. motor/final layer); 40%-shorter loop body matches | results-tap*/eval*.json (note: 27/32/34 on H200, 23 on Spark, k0 anchors align) |
✅ |
| B3 | KV-sharing hazard: E2B layers 15–34 reuse K/V from ≤14; band re-runs entered ≥15 are bit-exact nulls in training (zero grad) and behavioral nulls in eval (Δlogit up to ~11 with 0 argmax flips) | arm 17–27/24–34 logs; forensic probes (transcribe from session); results-node-final/results-kvtest/train.log |
✅ |
| B4 | Causal demonstration: moving entrance one layer (14→15) reproduces the null on demand | results-kvtest/train.log (flat val@ all k) |
✅ (eval tail missing — rerun 5-min eval for completeness) |
| B5 | 12B (no KV sharing) clean location test: wrong band 0.4–2.3% vs 32.8% | results-node-final/results-12b/eval_12b_gsm_band10*.json |
✅ |
| B6 | Fixed-point dynamics: big first step, cos→1.000 by k≈4; explains accuracy/sharpening plateau and k-extrapolation flatness | dynamics data + eval_code_code_kgen.json |
✅ |
| B7 | Discriminator: cliff = lens boundary vs last-full-attention-KV layer | MISSING — the (9,30) arm | ❌ queued idea |
| B8 | Residual-only perturbation impotence: large logit shifts w/o attention pathway don't flip decisions | probe from session (rerun scripted for reproducibility) | ◐ script it |
The hazard section (the paper's service to the field)
Write as a standalone, checkable warning: (1) detection recipe — check
num_kv_shared_layers/equivalents before any layer-局部 intervention; (2)
symptom catalogue — exact-baseline results, zero gradients, big-Δlogit/no-flip;
(3) how our 3 pre-registered arms became silent nulls and how forensics found
it (file diff → shared_kv_states kwarg → config). Affected model classes:
KV-sharing efficiency variants (survey which public families have it).
Missing experiments (all cheap, Spark)
- B7 (decisive): anchor (9,30) — L9 is full-attention+KV-computing but
deep in sensor region. Pre-registration drafted in
results-loop/PROTOCOL_UNIFIED.md§(to add). Prediction on record: lens boundary wins (arm 1 contained L9 and was catastrophic). ~70 min. - B4 completeness eval (5 min).
- B8 as reproducible script + N=16 items (30 min).
- Optional: channel-count sweep (anchor 12 with tap 28 length-match) if B7 surprises. Decide after B7.
Outline (workshop-length)
- Setup: retrofit loop machinery (1 fig), what "write" and "read" are.
- Read-invariance (tap curve fig).
- Write-cliff (anchor curve fig + 12B clean replication).
- The KV-sharing hazard (anatomy fig: which layers recompute K/V; symptom table; detection recipe).
- Fixed-point account tying 2–4 together.
- Implications for activation-intervention methodology.
Work plan
- Run B7 + B4-eval + B8-script (one Spark session, ~2h GPU total).
- Transcribe session forensics into
paper-B/hazard_notes.mdwhile fresh. - Figures: anchor curve, tap curve, KV anatomy diagram.
- Draft after Paper A ships (it cites A's training recipe).