| Age | Commit message (Collapse) | Author |
|
Patch HRM Block with Lipschitz-bounded ops:
- attention → cosine-normalized softmax attn
- SwiGLU → OrthLinear (Cayley + weak diag scale) + MaxMin + OrthLinear
- rms_norm + add → weighted residual (1-σ(w))·h + σ(w)·f(h)
- Weak orthogonality: diag(s) with s_i ∈ [0.95, 1.0] for compression directions
Keeps HRM ACT framework + H_level/L_level + cycles unchanged.
Predicted +5-7pp vs SRM v1 (codex Q5 decomp):
+1.5-2.5 (remove ReLU rank-kill via MaxMin)
+2.0-3.0 (remove AOL attenuation via Cayley)
+1.0-1.5 (orthogonal residual flow)
Also adds: train_hrm_orth.py trainer, SRM v1 run logs, .gitignore ckpts/.codex
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
|
- Soften exact Lipschitz claim — bf16 cast makes bound approximate (only exact in fp32)
- BlockGain init_diag 1.0 → 3.0: original gave 27% cross-coupling (mislabeled "minimal");
3.0 gives ~5% which is what "minimal" should mean
- Note torch.compile risk with linalg.solve in CayleyOrthogonal
Per codex review of v1.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
|
Forked from HRM ACT framework. Replaces dual H_level/L_level transformer
stacks with a single joint operator T(h, l) that is provably contractive
under weighted P-norm with Lip_P(T) ≤ (1-α) + α·κ < 1.
Per-step Lyapunov bound: λ_1 ≤ log((1-α) + α·κ).
With κ=0.86 → λ_1 ≤ -0.15 ≈ HRM success regime (no CF needed).
Components:
- AOLLinear: 1-Lipschitz via Prach & Lampert rescaling (float32 normalization)
- AOLBlock: stack with ReLU (1-Lipschitz activation)
- CayleyOrthogonal: exact orthogonal cross-coupling
- BlockGain: softmax row-sum bound under P-norm
- AOLTokenMixer: 1-Lipschitz token + channel mixing
Smoke test passes: params=939k (hidden=256 test config),
forward OK, empirical Lip=0.17 < theoretical bound 0.90.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|