← 返回信息流
AI 资讯Hacker News·1 小时前

最终令牌偏好优化助力减少AI模型灾难循环

原标题:Reducing Doom Loops with Final Token Preference Optimization

速览

大型语言模型训练中常出现预测偏差加剧的灾难性循环(Doom Loops)。研究人员提出最终令牌偏好优化(FTPO)方法,通过调整模型对最终输出令牌的偏好来抑制这种循环。该方法在多个基准测试中显著提升了模型稳定性与生成质量,为AI安全训练提供了新思路。

AI 深度解读

背景

在推理(inference)阶段,大型语言模型经常遭遇一种称为 "doom loop"(死循环)的故障模式:模型输出一段文本(例如 "Wait, let me reconsider…"),然后反复重复同一段内容,直到填满上下文窗口。小型推理模型更容易出现这种行为,尤其是在处理较长的思考链条和难题时。常见的推理时修复手段是应用 repetition_penalty(重复惩罚)来重新加权输出分布,但这只是一种临时补救措施,可能导致性能下降。强化学习可以针对性解决重复循环问题,但通常需要精心校准奖励函数和昂贵的在线 rollout(在线采样)。本文提出一种更精准的方法,通过 Final Token Preference Optimization(FTPO,最终词元偏好优化)在单个 token 位置进行干预,显著降低 doom loop 发生率,并在不牺牲模型能力的前提下提升评估分数。

核心内容

死循环的解剖

死循环源于推理阶段三种机制的共同作用:

  • 机制 1:过度训练的词元 + 不确定性
    词汇表中某些词元被选中的概率普遍偏高,例如 "delve"、"testament"(若训练数据含合成数据),在推理模型中常见的高概率延续包括话语标记和自省词元如 "Wait"、"Alternatively"。这些词元本身并非有害,但当模型陷入不确定状态时,它们容易成为退路,反复重启同一局部推理模式。对 LFM2.5-2.6B 早期检查点,最常见的死循环起始词元包括:' the'(11.39%)、' So'(4.51%)、'Alternatively'(3.22%)、'Wait'(2.56%)、' But'(2.46%)。
    先前工作 [4,5] 指出,似然训练模型可能过度分配概率给重复和频繁词汇;推理模型在低温解码时,若无法确定有效下一步,就会回退到重复。

  • 机制 2:前文上下文强化循环
    早期的序列会使相同序列在后续更可能出现。每次重复后,循环片段中所有词元的概率都趋近于 1。Duan 等人 [6] 在关于循环推理的工作中研究了这种现象,将其与“V 形注意力模式”联系起来,并发现语义重复(模型卡在一个想法上)先于文本重复出现。

  • 机制 3:贪婪采样
    推理模型通常以低温运行以保证轨迹稳定可复现。温度 0 时,最可能的词元总是被选中,局部强化的循环无法退出。更高温度理论上可缓解,但一旦机制 2 将循环词元概率推近 1,剩余词汇表几乎未分配到概率,因此即使温度较高(如 0.67)也可能陷入循环。温度越低,循环越严重。

定位故障

为了构建针对性的训练集,作者在低温下对一组旨在诱发循环的提示混合(LiquidAI/antidoom-mix-v1.0)生成完整输出,然后挖掘失败样本。检测规则:若一段文本重复至少 4 次、长度超过 60 字符,则判定为循环。确定循环序列后,定位第一次重复的起始词元。在该位置,取基础模型的 top-k 对数概率替代选项,过滤掉短或非字母数字噪声,保留最多 20 个合理的替代作为 chosen tokens。每个训练样本由 [prompt prefix, one rejected token, one or more chosen tokens] 组成。训练前需对 rejected 和 chosen 分布进行正则化,防止少数高频词元(如 Wait、So、the)被过度抑制而损害推理。

Final Token Preference Optimization (FTPO)

FTPO 是一种偏好优化算法,类似于 Direct Preference Optimization (DPO) [3]。每个训练样本包含一个提示、一个 chosen 延续和一个 rejected 延续 [2]。FTPO 的目标是对分布中少数词元进行精准调整,最小化对模型其余部分的影响。

FTPO 与 DPO 的主要区别:

  • 最终词元训练:只训练生成序列中间位置的一个尾随词元。
  • 每个样本多个 chosen 完成词元:将概率分散到一组替代词元,避免用一种过度训练词元替换另一种。
  • 在 logit 空间中实现类似 KL 的损失组件:通过省略 softmax 并计算 logits 空间与参考模型的散度,避免对无关词元施加梯度压力。
  • 两部分正则化:允许 chosen 和 rejected 词元的 logits 相对于参考模型更自由地移动,同时更严格约束其余词汇表。这保证了更好的可学习性,同时保持与参考模型接近。

训练细节

在 Antidoom 实现中,模型通常使用 LoRA 训练一个 epoch。高 LoRA rank(128-256)效果最佳:可学习性更高,退化更少。训练覆盖所有注意力、MLP 投影以及 lm_head。最佳学习率在 4e-6 到 2e-5 之间。容易出现过训练,作者通过 chosen_win(chosen tokens 胜出样本比例)触发早停。当 chosen_win=0.35 时,通常能将 doom-loop 率从 20-30% 降至 1-2%,且退化最小。训练集生成约需 1 小时(8× MI325 GPU),后续训练约需 1-2 小时(1× MI325 GPU)。训练集大小由模型 doom-loop 率决定——收集 20k 配对后停止。

实验结果

  • 对 LFM2.5-2.6B 早期检查点,doom-loop 率从 10.2% 降至 1.4%,所有评估分数全面提升——完全归因于循环减少。训练集并未教给模型任何关于数学或代码的新知识,只是消除了阻碍模型产出本来能给出的答案的故障模式。
  • 对已知会产生推理循环的 Qwen3.5-4B 应用 Antidoom 流水线后,贪婪采样下 doom-loop 率从 22.9% 降至 1%,评估分数显著提高。
  • 对于基线检查点(LFM2.5-2.6B-early-ckpt),评估分数随温度升高与 doom-loop 率反向变化。可以推断,doom-loop 直接降低了基准分数。经过 Antidoom 训练后,分数大幅提升。

原文末尾提到 "A secondary ef…" 部分被截断,未提供完整信息。

关键要点

  • 死循环定义:模型重复输出同一文本片段(如 "Wait, let me reconsider…")直至上下文窗口耗尽,常见于小推理模型处理难题时。
  • 三种机制:过度训练词元+不确定性、前文上下文强化、贪婪采样。三者协同导致循环无法退出。
  • 核心方法:Antidoom——识别循环起始词元,通过 FTPO 训练模型在该位置偏好连贯的替代词元,其余分布基本不变。
  • FTPO 特点:只训练最终词元、支持多个 chosen 词元、使用 logit 空间 KL 散度避免干扰无关词元、两部分正则化控制学习自由度。
  • 训练效率:训练集生成约 1 小时(8× MI325 GPU),训练约 1-2 小时(1× MI325 GPU)。LoRA rank 128-256,早停条件 chosen_win=0.35。
  • 效果:LFM2.5-2.6B 循环率从 10.2%→1.4%,Qwen3.5-4B 从 22.9%→1%;评估分数全面上升,且提升完全由循环减少驱动,未引入新知识。
  • 对比现有方法:比 repetition_penalty 更精准,比强化学习成本更低、无需在线 rollout。

意义与影响

Antidoom 方法提供了一种高效、低成本的推理可靠性提升方案。它精准定位故障点(循环的起始 token),仅修改极小部分分布,保留了模型的原始能力。实验表明,循环故障直接导致基准分数下降,消除循环后分数自然回升,说明模型本已掌握答案,只是被错误模式阻碍。该方法在两种不同模型上均取得显著效果,具备推广潜力。从技术

查看原文 →liquid.ai