One row of weights fixed a reasoning loop: 1.7B loop rate cut 92.9%, GSM8K doubles
opUserZero · reddit · 2026-11-14
A developer used direct weight editing (no training, no sampling tweaks) to fix Spark-X2.6's "but wait…" reasoning spiral by editing a single row of the output head.
The problem: the model reaches the correct answer, then refuses to commit — re-deriving conclusions and re-enumerating tools in a semantic loop invisible to standard repetition metrics, fatal in agent settings.
Diagnosis & surgery: activation inspection showed closure (</think>) was nearly absent (rank 54, P≈7×10⁻⁶) at conclusion states while restart vocabulary dominated. Since logit(t)=emb[t]·h, this is a head-readout gap. The author solved for the minimum-norm row delta raising P(close) by 14 nats at conclusion states — dequantize that one row, add the delta, requantize, splice back. 4B: 2,560 weights (6×10⁻⁷ of the model); 1.7B: 2,048. Every other byte is bit-identical.
Results (12 seeds/prompt): 4B loop rate 0.750→0.3125 (-58.4%); 1.7B 0.875→0.0625 (-92.9%). General capability is unaffected — 4B mean Δ -0.002, 1.7B +0.047 with GSM8K doubling from 0.200 to 0.433.
GGUF checkpoints are on Hugging Face with the exact delta and a CPU-only script reproducing the checkpoint bit-for-bit. Caveat: broader agent tool-looping remains an open, separate problem.
More from Models
- Inkling Small 2 fits on 4x RTX Pro 6000 with 7.5M token KV cache at 120 tok/s — LiTianleli · 2026-11-14
- ERNIE 5.5 Flash preview tested: 267 tok/s decode, solid 256K recall — karminski3 · 2026-11-14
- Claude iOS hit by Sign in with Apple outage affecting new signups — ClaudeAI-mod-bot · 2026-11-14
- Independent scan: 185 of 265 open LLMs can infer their training GPU family — willdepue · 2026-11-14
- How credible are frontier labs' claims of solving Navier–Stokes and Fermat's Last Theorem? — Witty-Ad-8579 · 2026-11-14
- Users pile on OpenAI: buggy desktop app and DevDay flop push them to Claude — koltregaskes · 2026-11-14