summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/campaign/FINDINGS.md42
1 files changed, 42 insertions, 0 deletions
diff --git a/docs/campaign/FINDINGS.md b/docs/campaign/FINDINGS.md
index 6253527..6ab1339 100644
--- a/docs/campaign/FINDINGS.md
+++ b/docs/campaign/FINDINGS.md
@@ -689,3 +689,45 @@ Full write-up: **`SESSION_2026-06-24_HOPF_DIAGNOSIS_RESREG_FIX.md`**. This pins
impossible in principle (adjoint unavailable to forward physics) ⟹ our Wall-3 (J^T v) is a theorem, with a price
list (bidirectional crossbars / CET exemption / PAR bias / mixed-signal) — see HW_RESEARCH_FINDINGS 07-07
addendum. PAR bias tax being measured at C512: runs/par_baseline (plain nudge, warm s2000) vs the corrected 1.7065.
+
+## 2026-07-09/10 — CASCADE PIVOT: standard multi-layer LLM, EP training only (one-day arc, solved)
+
+**User directive:** product form = standard L-layer transformer with plain-forward inference; EP
+only in training; looped/weight-tied block demoted to physics testbed. Later same day: zil REJECTED
+("BP in disguise") — the route is TRUE EP = equilibrium-mode two-phase relaxation.
+
+**The bridge.** Layered energy E = Σ_l ½‖z_l − f_l(z_{l−1})‖² over DISTINCT standard blocks: free
+equilibrium == the standard forward pass (inference = normal LLM, zero relaxation). Training =
+nudge +β·CE at the top, relax states to the nudged equilibrium, ∇θ = local energy readout
+(single-sided legal: free-phase ∂E/∂θ ≡ 0 exactly).
+
+**Solver saga (each failure diagnosed):**
+1. naive GD relaxation (jacobi/GS, any fixed γ): fails at depth & at trained weights — local
+ stability bound γ·(1+σ_max(J)²)<2, σ grows with training. Trained-ckpt matrix: cos≈0 everywhere.
+2. per-layer auto-γ (σ̂ power-iteration): local bound ≠ coupled-system bound; still fails.
+3. assignment-form reverse sweeps: forward-chain gain σ>1 amplifies across sweeps; fails.
+4. **fb (forward-backward message passing): backward pass refreshes feedback d_l = J_{l+1}ᵀd_{l+1}
+ (top: −β·NBT·∇CE), forward pass REBUILDS z_l = f_l(z_{l−1}) + d_l. Converges to the true
+ nonlinear nudged equilibrium; state oscillation (top-CE stiffness) is harmless to the θ-readout.
+ Gates: L=6/12 cos 0.9999–1.0000 at init, 0.9990–0.9946 across the BP trajectory, K=3, β=0.003.
+ Cost ≈ 4× BP wall-clock measured (2.4 vs 8.8 it/s on a 1080).**
+5. Training still broke at ~200–700 steps across four trainer versions (fixed-K, contraction-guard
+ — guard starved training, 97% skips — and quality-governed). Root cause found by a no-guard
+ telemetry run + tied/untied/init ablation: **nn.Embedding default N(0,1) init + tied readout ⟹
+ σ_tok≈76; once predictions sharpen, top-CE effective stiffness ∝ σ²·p-concentration crosses the
+ fb contraction bound. GPT-standard 0.02 init (σ≈1.6) removes the disease entirely.** BP is
+ scale-robust and never noticed — EP's relaxation is a physical system and did. (EP as a
+ microscope for configuration pathology — dynamics-paper-worthy observation.)
+
+**Result (diagC, tied + 0.02 init, equilibrium fb-EP, NO regularizers, NO guards triggered):
+best val CE 2.9021 in 1500 steps, cos(EP,BP) pinned at 1.0000 throughout, K=3 never raised** —
+already below the bad-init BP twin's 4000-step 2.9746. Final same-init C1 pair (casc_bp6i vs
+casc_eqv5, 4k steps) running.
+
+**Costs & implications:** equilibrium-mode ≈ 4× BP (fb K3 single-sided) ⟹ $20k AWS ≈ 3–4B-param
+Chinchilla run in TRUE-EP mode. Optimization headroom mapped (±phase batching, red-black grouped
+GEMM, compile/CUDA-graphs, bf16 relax, zero-bubble layer-pipeline for multi-GPU). Plan:
+docs/campaign/CASCADE_ABLATION_PLAN.md. Scripts: cascade_probe.py (schemes incl. fb), casc_bp_train.py,
+casc_eq_train.py (v5: adaptive β via σ̂_tok, quality-governed K, cos telemetry). Negative results
+recorded: govfloor rr_floor 2/3 lethal at C512 (free phase must stay resreg-free); governor
+certification needs a ρ>0.95 lower bound (certified a ρ=0.80 corpse).