babel-codec-gpt2 / paper /REVISION_NOTE.md
wpferrell's picture
BABEL v1.1 -- review-hardened revision
57d455d verified
|
Raw
History Blame Contribute Delete
9.47 kB
# REVISION_NOTE.md — BABEL paper v1 → v1.1 (tracked-change summary)
**Date:** 2026-07-08 · **By:** REVISION CC · **Governing brief:** REVISION_BRIEF_2026-07-07.md
(STAGE 1) · **External input:** STANFORD_REVIEW.md (paperreview.ai, 2026-07-07).
**Scope:** Stage 1 only — reanalysis of *existing frozen artifacts* + text. **No new GPU
experiments** (those are proposals in STAGE2_PROPOSAL.md; Will greenlights each). **Nothing
publishes** — `PAPER_V1_1_DRAFT.md` stays a draft until Will fires the Zenodo-v2 / GitHub update.
**No frozen number was altered and no artifact was renamed;** every added statistic is a new
reanalysis of frozen data, pre-registered where required and logged propose-only in the pen.
Source of the revised draft: `PAPER_V1_1_DRAFT.md` (byte-copy of `PAPER_DRAFT_V1.md`, then the
edits below). Reanalysis harnesses + outputs: `_rev_fdr.py`/`_rev_fdr.out`,
`_rev_fdr_channel.py`/`_rev_fdr_channel.out`, `_rev_floor.py`/`_rev_floor.out`. Pen blocks (all
propose-only): `REVISION-FDR — PRE-REGISTRATION`, `REVISION-FDR — RESULTS`,
`REVISION-FLOOR — RESULTS` (2026-07-08).
---
## A. Substantive reanalyses (Stage 1A)
### 1. FDR / FWER control on the naming battery (review Q2 — top priority)
- **Pre-registered before computing** (pen `REVISION-FDR — PRE-REGISTRATION`, locked α = 0.05 BH,
sensitivity 0.01/0.10, tail-model + re-derivation rule) — brief item 1 satisfied.
- **Validation gate passed:** re-deriving NAMED from the raw stored statistics with the frozen
`obs > null95` rule reproduces the frozen L1 verdicts **0 mismatches / 312** → the BH
re-derivation is trustworthy.
- **Result (312 channels with frozen per-gate stats; frozen NAMED 149 = 47.8 %):** per-gate BH
q = 0.05 → **6.7 %** named (q = 0.01 → 1.9 %, q = 0.10 → 16.3 %); channel-level (conjunction-aware,
post-hoc) BH q = 0.05 → **25.6 %** (q = 0.01 → 9.0 %, q = 0.10 → 35.6 %); Holm FWER → 1 channel;
global-null assumption-free bound → FDP ≈ **10 %**. N = 20 nulls floor the empirical p at ≈ 0.048
→ continuous p are tail-model extrapolations; a definitive FDR is a Stage-2 high-N re-draw.
- **Draft changes:** Abstract naming sentence re-scoped + corrected fractions; **new §6.1
multiplicity paragraph + table**; §6.5 number 3 re-scoped; **new Appendix B** (full procedure,
both null models, Holm, global-null, scope). The 53.6 %/46.4 % figures are **retained** as the
frozen gate-level record and everywhere re-labelled "under the L1 σ-null battery at N = 20".
### 2. Floor-construction sensitivity for the 39/39 closure (review Q1)
- **Result:** 36/39 legacy closure is floor-construction-robust; **39/39 is reached only at the
full norm-relative recalibration (β = 1)** — β ≤ 0.5 → 36/39, β = 0.75 → 37/39. The three
recal-only cells (code_b12, rep_b11, rep_b12) close because the norm-scaled floor there is
1.5–2.7× the legacy floor (tracks ρ²) — documented norm-geometry, meter-dependent, labelled so.
Recal closure tolerates loosening (39/39 for c ≥ 1) but is sensitive to a 10 % tightening
(34/39 at c = 0.9); 13/39 cells pass "tight" (KL/floor 0.8–1.0).
- **Honest gap:** per-token substitution KL is **not frozen** (only per-cell means) → the
bootstrap-CI-vs-floor half of Q1 is **not computable CPU-only**; deferred to Stage 2.
- **Draft changes:** Abstract 39/39 clause scoped; **new §4.1 floor-sensitivity paragraph**;
§8.5 sensitivity note; **new Appendix C** (β-sweep, interpolation, multiplier, margin bands, the
3 gap cells, the CI constraint).
### 3. Student (executable-rung) methods appendix (review Q6)
- Extracted every training/val detail from `_v6_result.json`/`_v7_result.json`/`_v6.py`/`_v7.py`,
**all numbers verified against the frozen JSON**.
- Key clarification for the reviewer: the linear student is **Adam-MSE (lr = 1e-3, 4000 steps),
with NO ridge / weight decay** — its regularizer is *capacity*, not a penalty. Splits: 96 train
periods (seeds 7000–7095), 16 SACRED (seed 3, never-seen), 16 HOLD2 (8000–8015), period 64.
Twin = permuted rep-era targets; pass = real ≤ 0.5 × twin.
- **Draft change:** **new Appendix D** (task/inputs, data/splits, fit, architectures/params, twin,
full results table, non-recoverable list).
### 4. No-gloss scope reframe (review Q7)
- **Draft change:** §8.4 rewritten — every "word-less" claim now means *no gloss under the
CH-WU/CH-INT/CH-FIELD battery at N = 20*, not "provably carries no content"; named battery
**extensions** listed as future work (syntax/dependency probes, morphology, non-vocabulary
probes, causal-scrubbing readouts, SAE decoders; §9). Two bounding facts stated: the FDR
re-analysis shows the battery is if anything *generous* (so no-gloss is more likely an under- than
over-estimate), and L6's dark-complement edge (2/8 faint) shows the honest limit.
## B. Text changes (Stage 1B)
- **5. Scope (title/abstract).** Title keeps "State Space" (unchanged). Abstract sentence 2 adds an
explicit boundary-grain / within-block scope line; §1.4 already carried it (unchanged).
- **6. Glossary.** New **§1.5** — one-page neologism table (door, seam, meter, floor, folded read,
dark mass, corridor, core, rung, gloss, no-gloss, transplant, gauge/lever, twin, DEAF axis, …).
- **7. Related work.** New **§7 paragraph** adding causal scrubbing (Chan et al., AF 2022), DLA /
attribution patching (2310.10348) / ACDC (2304.14997), and mechanistic benchmarks (Tracr
2301.05062, RAVEL Huang 2024), each mapped to the Table-1 four axes where honest. (SAE decoding
and probing debates were already in §7; unchanged.)
- **8. Artifacts (Q8).** Every "pending release" replaced with the **live** release: Zenodo DOI
10.5281/zenodo.21230108 (concept 10.5281/zenodo.21230107), github.com/wpferrell/babel-codec-gpt2,
huggingface.co/wpferrell/babel-codec-gpt2 — header line, §7 falsifiability line ([GITHUB-URL]),
and §10 artifact statement.
## C. Editor notes / NOTES-for-Will
- New NOTES-for-Will item 12 added to the draft's review-comment block (delete before release).
- **New §7 citations need the same live-page verification** as the existing ones before release:
causal scrubbing (Alignment Forum, no arXiv), attribution patching (2310.10348), ACDC
(2304.14997), Tracr (2301.05062), RAVEL (Huang et al., 2024 — exact ID to confirm).
## D. What did NOT change
- No frozen result, floor, hash, or artifact name. The L5/L6 certified negatives, the 39/39 recal
headline, the seam law, the transplant 94.7 %, and the wall student all stand. The revision
*scopes and stress-tests* the naming and closure claims; it does not move them.
## E. Deliverables produced
`PAPER_V1_1_DRAFT.md` · `REVISION_NOTE.md` (this) · `REVIEWER_RESPONSE.md` · `STAGE2_PROPOSAL.md` ·
reanalysis harnesses/outputs (`_rev_fdr*.py/.out`, `_rev_floor.py/.out`) · pen propose-only blocks.
## F. Stage-2 GPU experiments — folded 2026-07-08 (Stage-2 Revision CC)
Will greenlit three Stage-2 items (STAGE2_GREENLIGHT.md); all three ran, each with a byte-replay gate
to the frozen number and pre-registered bands (pen: STAGE2-A/B/C blocks). Results folded into the draft
and REVIEWER_RESPONSE; frozen artifacts untouched (READ-ONLY); propose-only; nothing published.
- **Item B — transplant boundary×regime (Q4; `_s2b.py`).** Gate: b6/prose 16-pair closure = 0.9467
(dev 0.0). 3×3 grid (b2/b6/b10 × prose/code/repetition), 32 pairs/cell, matched-random null, 10k
bootstrap CIs. Result: boundary- and prose/repetition-general (median closure 0.82–0.98 across depth);
code heavy-tailed at early/mid depth (median 0.70/0.60, mean collapsed by outlier pairs), clean at b10
(0.89). → Abstract + §6.4 table + §8 item 9 scoped; Reviewer Q4 answered.
- **Item C — seam perturbation (Q5; `_s2c.py`).** Gate: global-core cert byte-replays all 36 frozen
KL_LIN (max dev 0.0). C2a within-span rotation exactly invariant; C2b ±ε jitter 30/30 draws keep
36/36 TIGHT (ε≤0.10); C1 independent per-seam re-derivation keeps 33/36 LINEAR-TIGHT — the 3 failures
are all the embed→L0 rewrite seam (prose/code LINEAR-not-TIGHT, repetition BROKEN). → §6.2 amended:
the linear composition law is a robust *model* property at the 33 propagation seams, field-conditioned
at the b0 rewrite seam. Reviewer Q5 answered.
- **Item A — door/core rotation robustness (Q3; `_s2a.py`).** Gate: S4 readable + full rank-48 fold KL
byte-replay all 4 sampled cells (dev 0.0). Across R=20 random orthonormal bases/object: folded-read
reconstruction KL invariant to 0.0, k* shift 0 (k*=16/40/32/24), 0/80 pass-flips, door/core footprints
invariant to ≤3e-5, matched-random reconstruction discriminator separates. Core-field per-axis
identities drift under within-span rotation (0/19) → verdict PARTIAL: necessity/k*/folded-reads
rotation-stable, the 19 field labels a privileged basis of an intrinsic subspace. → §6.1 note added;
§8 item 9; Reviewer Q3 answered.
Harnesses/outputs: `_s2b.py`/`_s2b_result.json`, `_s2c.py`/`_s2c_result.json`, `_s2a.py`/`_s2a_result.json`,
logs `_s2{a,b,c}.log`, launch bats `_s2{a,b,c}_run.bat`; pen propose-only pre-registration + results blocks
(STAGE2-A/B/C). None moves a frozen headline; each *scopes* a claim, per the pre-registered kill branches.
DATALAKE registered at closeout. NOTHING published — v1.1 stays draft until Will fires Zenodo v2 / GitHub.