Views
No views yet
w_k = sinh(u_k)/Σ_j cosh(u_j) — reconstructive, never comparative
(no argmax, no top-k, no softmax anywhere, including across heads).
Attention is a write/read through the codebook cells; token-to-token
affinity is address agreement through a K-cell bottleneck — linear in
sequence length.📄 Technical companion: TECHNICAL.md — the full B1–B9 mathematical battery, the architecture, the training-collapse diagnosis and cure, and the speed matrix. Week-in-review article: Geometric Memory FT5 — Agreement, Anchors, Addresses.
🔬 v2 (2026-08-11):splat_attention.pynow includes CausalSplatHUB — the causal/autoregressive form validated by the rank-controlled recall campaign — with dtype-aware normalizer clamps (an fp16 NaN landmine, measured and defused) and a header carrying the full causal record: the binding-capability surface, the corrected supply law, optimizer guidance (momentum-geometric beats Adam by ~.09; the mechanism is ~20× more optimizer-sensitive than softmax attention), and the precision plan (train fp32/bf16, ship fp8, never train through fp8). The open problem is stated plainly in the header: at high binding demand the linear read saturates below softmax parity, and count does not close it.🧪trainers/— the complete replication kit: 11 standalone trainers that produced every number inbattery/, plus a README with the replication discipline (repair flags, gauge guidance, and the honest history caveats — including which result directories predate the protocol repairs).
splat_attention.py — one file, torch-only:1from splat_attention import SplatAttention
2attn = SplatAttention(d_model=512, M=64, K=8, rotary=True)
3y = attn(x) # (B, L, d) -> (B, L, d)python splat_attention.py runs a demo + speed bench. Knobs for the
gradient-heuristic variants are constructor args: head_gates
(learnable per-head attenuation), train_centers (moving windows),
train_codebooks (unfrozen frames), rotary/global_frac (transport
geometry).battery/splat_battery.json)torch.compile (inductor) gives a further 3–4×.rotary=True: RoPE applied to the address query, so
relative position enters every affinity while heads stay global
(cross-position recall .548 where the broken form gave ~0).