“Wait, let me reconsider...” 然后模型就卡住了,把这句话重复了一遍又一遍,直到窗口耗尽。这种被开发者称为“末日循环”的故障模式,在小参数推理模型处理长链路思考或难题时尤为高发。一篇新论文指出,在某早期检查点模型上,面对高难度数学与编程提示词时,有10.2%的生成长文都陷入了这种重复性循环。
常见的推理阶段应急方案是调用重复惩罚参数来重新调整输出分布。但论文作者直指这不过是“创可贴方案”,甚至可能拖累模型表现。强化学习看似能靶向打击循环行为,可它一般需要精心校准奖励函数,还依赖昂贵的外部在线采样。这些路径要么治标不治本,要么成本太高。
研究团队选择了一条更精确的手术路径。他们不再笼统地惩罚重复,而是直接锁定那个触发循环的起始词元。具体做法是,在模型恰好要吐出那个“罪魁祸首”的前一刻介入,训练它在那个单一位置上学会选择连贯且有推进意义的备选词,同时几乎不触碰整个输出分布的其他部分。这套方法被命名为“Antidoom”,核心技术是末位词偏好优化,简称FTPO。它通过构造“选中/拒绝”词元对来微调模型,让模型在关键分叉口学会不走老路。
效果很直接。同样是那个早期检查点模型,原本10.2%的高难度提示会触发循环。经过Antidoom训练后,这一比率直线下降到1.4%。更关键的是,因为循环被大幅抑制,模型不再白耗算力原地打转,评测分数随之全面提升。修复一个局部故障点,带来了全局性能的连锁增益。
为什么模型会掉进这种复读式死循环?论文解剖出三重机制。第一重是“过训词元遇上不确定性”。词汇表里有些词天生就更容易被模型选中,比如“delve”、“testament”这类在合成数据里被过度曝光的词。在推理模型身上,这类高频先验延续词常常表现为话语标记和自我反思词,像“Wait”、“Alternatively”。这些词本身不是坏词,它们本可以标志一次策略转变或验证步骤。可一旦模型卡壳,陷入高度不确定性,这些词就成了极具诱惑力的下坡路,诱使它重复启动相同的局部推理模式,而不是向前推进。统计数据显示,在那个检查点模型里,触发循环最常见的词元分别是:‘the’、‘So’、‘Alternatively’、‘Wait’和‘But’,其中光是‘the’就占了11.39%。
第二重机制在于上下文反向强化。模型先前输出的内容会污染自己的注意力视野,让那些重复过的词获得更高的概率权重。前文刚说过“再想想”,后文就更难跳出这个语境。第三重则与低温度解码策略有关。当模型无法识别出有用的下一步,温度参数又让它缺乏随机探索的勇气时,系统就会径直滑向那个高概率、低价值的循环起点。这跟此前一些研究结论吻合:基于似然估计训练的模型,天然倾向于给重复词和高频词分配过高概率;一旦推理卡住,低温度采样又剥夺了它乱窜找出路的可能性,重复就成了近乎必然的结局。
Antidoom的思路避开了事后修补或全盘重训。它承认过训词元的存在,但不试图压抑整批词汇。它只做一件事:在模型犹豫不决的那个精准位置,安插一个倾向于选中有意义延续词元的偏好。整套训练基于现成的偏好数据对,每个样本对只涉及一个补全词元,训练开销极低。这相当于在容易塌方的地方打上一根细桩,路面的其他部分保持原样。
热门跟贴