改一行权重修复推理死循环:1.7B 模型循环率降 92.9%、GSM8K 翻倍

opUserZero · reddit · 2026-11-14

一位开发者用 Qwen4 做直接权重编辑(surgical weight edit),不训练、不改采样参数,仅改动输出头的一行权重,修复了 Spark-X2.6 模型的「but wait…」推理死循环。

问题:模型到达正确答案后拒绝收尾,反复重新推导、重新枚举工具却不行动。这是语义级循环,常规重复指标检测不到,在 agent 场景下是致命故障。

诊断与手术:观察激活发现结论处 closure token(</think>)概率极低(rank 54),而重启词占主导;由于 logit(t)=emb[t]·h,这是头读出缺陷。于是求解最小范数的行增量,使结论状态下 P(close) 提升约 14 nats——反量化该行、加增量、再量化拼回,其余字节完全不变。4B 改了 2560 个权重(约占模型 6×10⁻⁷),1.7B 改 2048 个。

结果(12 seeds 受控基准):4B 循环率 0.750→0.3125(降 58.4%),1.7B 0.875→0.0625(降 92.9%)。通用能力基本无损:4B 各套件均值 -0.002,1.7B 反而 +0.047,GSM8K 从 0.200 升到 0.433。

模型已在 Hugging Face 发布 GGUF,附 delta 权重和 CPU-only 复现脚本,可从上游量化逐位重建。作者坦承 agent 工具循环是另一类问题,尚未解决。

原文链接 →

「模型」频道最新

更多「模型」频道 AI 资讯 →