Gemma 反幻觉 steering 实验
Saraozte01 · reddit · 2026-07-15
作者在 Gemma-4-31B 上做了一个“反幻觉”变体:模型会优先**质疑错误前提**,而不是顺着胡编。 ### 核心效果 - 示例里,模型遇到“Express 5 自带 `circuitBreaker` 中间件”这种错误前提时,会直接指出 Express 并没有这个内置能力。 - 它还会提醒:如果团队里真有同名中间件,更可能是内部封装或第三方包,而不是官方文档里的东西。 - 在纠错之后,模型仍会继续给出可填充的模板,说明它不是单纯拒答,而是“先纠错、再帮助”。 ### 方法 - 不靠训练,而是在生成时向 **layer-33 residual stream** 加入一个固定方向的 steering。 - 方向来自作者自己构建的 **HalBench**:比较“会主动反驳前提”和“不会反驳前提”样本的平均激活差异。 - 还用了一个关键的 **衰减调度**:前约 24 个 token 强力 steering,之后逐渐减弱到 0。 - 这样可以把“怀疑姿态”注入开头,但避免整段输出陷入反复质疑、影响基准表现。 ### 观察到的差异 - 不同架构对 steering 的抗性不同。 - Qwen 在实验中几乎被“带崩”,出现短循环重复。 - Granite 还能保持连贯,但表现明显变“僵硬”。 - Gemma 对衰减策略反应最好,几乎不损失智能性的同时,让 HalBench 的反幻觉表现翻倍。