# Liquid AI 开源 Antidoom：基于最终 Token 偏好优化的推理模型死循环修复方法

- 来源：MarkTechPost（RSS）
- 作者：Asif Razzaq
- 发布时间：2026-07-08 00:50
- AIHOT 分数：70
- AIHOT 标记：精选
- AIHOT 链接：https://aihot.virxact.com/items/cmraw21y401jhihog3tcrfsp4
- 原文链接：https://www.marktechpost.com/2026/07/07/liquid-ai-antidoom-doom-loops-ftpo

## 精选理由

Antidoom 用一次训练就修复了小型推理模型常见的 doom loop，LFM2.5 和 Qwen3.5 的循环率从两位数掉到 1%，代码和数据全开源，自己训模型时可以直接加这一环。

## AI 摘要

Liquid AI 开源了 Antidoom，一种基于 Final Token Preference Optimization (FTPO) 的针对性修复方法，用于减少推理模型中的 doom loop（死循环）问题。该方法定位循环开始的第一个 token，训练模型选择连贯替代项，而不改变整体输出分布。在 LFM2.5-2.6B 上，硬数学和编程任务中的循环率从 10.2% 降至 1.4%；Qwen3.5-4B 上从 22.9% 降至 1%。整套流程可在数小时内完成，全部代码和数据集（LiquidAI/antidoom-mix-v1.0）已开源。

## 正文

Liquid AI 发布了 Antidoom，这是一种开源方法，针对推理模型中一种常见的失败模式。这种失败模式就是“末日循环”。在末日循环中，模型会输出一段文本，然后一遍又一遍地重复该段。输出会一直持续直到上下文窗口耗尽。小型推理模型更容易出现这个问题，尤其是在处理较长的思考轨迹和难题时。

在 LFM2.5-2.6B 的早期检查点上，10.2% 的难数学和编程提示词的补全结果产生了重复循环。经过 Antidoom 训练后，这个比例降到了 1.4%。评估分数全面提升，完全归因于循环的减少。

太长不看版

Antidoom 通过仅重新训练第一个循环起始 token 来减少末日循环。

FTPO 将概率分布在多个连贯的替代项之间，而不是单一替换项。

LFM2.5-2.6B 的循环比例从 10.2% 下降到 1.4%；Qwen3.5-4B 从 22.9% 下降到 1%。

该流水线只需几小时即可运行，完整技术栈已开源。

什么是 Antidoom？

Antidoom 是一种针对性修复，而非宽泛的采样改动。它找到循环开始的精确 token。然后训练模型在单一位置偏好连贯的替代项。分布的其他部分基本保持不变。

该方法借鉴了 Antislop。它使用代表单一补全 token 的“选择/拒绝”对进行训练。训练算法是最终 token 偏好优化（FTPO），与 DPO 类似。

训练并不会让模型学到新的数学或编程知识。它清除了阻碍模型输出本已能解答的答案的循环。

末日循环的剖析

Liquid AI 团队将末日循环归因于三种机制共同作用：

机制一：过训练 token 加上不确定性。某些 token 在一般情况下被选中的概率更高。现实中的著名例子包括 ‘delve’ 和 ‘testament’。Liquid AI 团队指出，这可能追溯到训练集中的合成数据。在推理轨迹中，高先验延续项常常包含诸如 ‘Wait’ 或 ‘Alternatively’ 之类的话语标记。这些 token 本身并无问题。它们可以标记有用的策略变化、验证步骤或分支。但当模型不确定或陷入困境时，它们反而成了有吸引力的后备延续项。

对于早期LFM2.5-2.6B检查点，最常见的循环起始token如下。

Token循环起始占比

the11.39%

So4.51%

Alternatively3.22%

Wait2.56%

But2.46%

机制二：先前上下文强化循环。每次重复都会将该范围内的每个token推向一个概率，Duan等人在关于循环推理的工作中研究了这一点。他们将其与“V形”注意力模式联系起来。他们发现语义重复先于文本重复。

机制三：贪婪采样。推理模型通常以低温度运行，以获得稳定且可复现的推理轨迹。在温度0时，始终选择最可能的token。局部强化的循环因此无法退出。Liquid AI报告称，即使在temp=0.67时也会出现显著的循环。较低的温度会加剧这一问题。

Antidoom如何定位失败

Antidoom在低温度下，对旨在诱发循环的提示组合生成补全。该组合作为LiquidAI/antidoom-mix-v1.0数据集发布。当一个段落重复至少四次，且超过60个字符时，即检测到循环。

然后该方法定位第一个重复片段的第一个token。在该位置，它获取基础模型的前k个log-prob备选。它过滤掉短或非字母数字的噪声。它保留最多20个合理替代作为所选token。

每个训练行是一个由提示前缀、一个被拒绝token和一个或多个所选token组成的元组。所选和被拒绝的分布会在训练前进行正则化。否则，少数几个罪魁祸首如Wait、So和the会占据主导，过度抑制会降低推理能力。

检测规则本身在代码中很容易表述。下面的代码片段是示意性的。

复制代码已复制使用不同浏览器

# A loop = a unit repeating >=4 times, spanning >=60 characters.
# Returns the index of the first token of the first repeat (the target), else None.
def find_loop(text, min_repeats=4, min_chars=60):
n = len(text)
for span in range(1, n // min_repeats + 1):
start = 0
while start + span * min_repeats <= n:
unit = text[start:start + span]
repeats = 1
pos = start + span
while text[pos:pos + span] == unit:
repeats += 1
pos += span
if repeats >= min_repeats and span * repeats >= min_chars:
return start + span # first token of the first repeat
start += 1
return None

每个检测到的循环随后成为一个训练行。结构是一个简单的元组。

复制代码已复制使用不同浏览器

# One FTPO training row, per the post's [prefix, rejected, chosen] format.
row = {
"prompt": prefix_up_to_the_loop, # text before the first repeat
"rejected": " Wait", # the single token that started the loop
"chosen": [" So", " Since", " The", " Therefore"], # up to 20 alternatives
}

最终token偏好优化（FTPO）

FTPO是一种与DPO类似的偏好优化算法。一个训练样本包含一个提示、一个所选续写和一个被拒绝续写。其设计目的是改变少数几个token，同时尽量减少对模型其他部分的影响。

FTPO在四个方面与DPO不同：

最终token训练：它只训练生成过程中间序列的末尾token。

每个样本多个被选token：它将概率分布在一组备选token上，因此一个过训练的token不会被简单替换为另一个。

logit空间中的类KL损失：它省略softmax，在logits中计算与参考的散度，避免对无关token施加压力。

两部分正则化：被选和被拒的logits更自由地移动，而词汇表的其余部分保持严格约束。

在Antidoom实现中，模型使用LoRA训练一个epoch。128–256的高LoRA秩取得了最佳结果。训练覆盖所有注意力层和MLP投影层，以及lm_head。学习率在4e-6到2e-5左右。

训练使用基于chosen_win的早停法，chosen_win是被选token击败被拒token的样本比例。在chosen_win=0.35处停止将死循环率从20–30%降至1–2%。训练时间更长往往会降低模型性能。

对于早期的LFM2.5-2.6B检查点，训练集生成在8块MI325 GPU上耗时约一小时。随后在单块MI325 GPU上训练耗时约一到两小时。收集到2万对后停止生成。

Antidoom与常规修复方法的对比

方法改变的内容成本概况已知缺点

重复惩罚重新加权输出分布推理时，成本低权宜之计；可能降低性能

强化学习通过奖励的策略校准后的奖励，昂贵的在线推演设置和计算开销

DPO（最终token）每个样本一个被选token离线训练粗略的beta；更新单个token

Antidoom（FTPO）第一个循环token → 多个被选token约1小时生成（8块MI325）+ 1–2小时训练（1块MI325）可能暴露新的循环；可能需要额外轮次

结果

训练后，早期LFM2.5-2.6B检查点上的死循环率从10.2%降至1.4%。评估分数全面改善，完全归因于循环的减少。

Liquid AI团队还在Qwen3.5-4B上运行了该流程，该模型以在推理时循环而闻名。其死循环率在贪心采样下从22.9%降至1%。评估分数显著提高。

随着温度升高，评估分数的变化与死循环率呈反比。训练后，两个模型在 temp=1.0 附近均出现性能下降。这符合预期，因为更高温度的采样可能倾向于选中非优选 token。一旦消除了循环，在测试的模型中，接近贪婪采样的方式得分最高。

Liquid AI 团队指出了当前常见做法中的一个相关问题。认为更高温度有助于推理的看法，可能与死循环效应混为一谈。在他们的测试中，一旦去除循环，接近贪婪的采样方式表现最佳。

多轮处理可能有所帮助。第一轮会拒绝引发循环的 token，并将权重重新分配给其他候选 token。这可能会暴露新的失败点，再由第二轮加以针对。

交互式说明

用例与示例

端侧推理模型：诸如 LFM2.5 系列等小于 1GB 的推理模型，在处理困难提示词时可能在证明过程中陷入停滞。Antidoom 能够恢复因循环而损失的准确率。

小型编程智能体：一个 4B 的编程模型在调试复杂代码时可能陷入循环，并耗尽上下文窗口。消除循环后，它就能完成原本已经知道的修复方案。

智能体流水线成本控制：循环会消耗 token 直至上下文资源耗尽。消除循环可减少长时间智能体运行过程中浪费的 token 和延迟。

训练后修复：团队在交付微调后的推理检查点时，可以在几小时内运行 Antidoom 作为清理步骤。

优势与挑战

优势：

精准：它只编辑第一个循环 token，而基本保持其他 token 的分布不变。

快速：整个流水线在几小时内即可完成。

可量化：LFM2.5-2.6B 的死循环率从 10.2% 降至 1.4%；Qwen3.5-4B 从 22.9% 降至 1%。

开源：生成、检测以及 FTPO 训练器均已发布。

恢复而非教授：它恢复的是模型原本就能生成的答案。

挑战：

可能暴露出新的失败点，因此有时需要多轮处理。

过度训练会导致模型退化，因此需要在 chosen_win 指标上提前终止。

报告的实验结果覆盖了 LFM 检查点以及 Qwen3.5-4B，两者均为小型推理模型。

训练后，在 temp=1.0 附近性能可能下降。

每个模型都需要生成自己专属的循环数据集。
