# 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 et al.）在其关于循环推理的研究中探讨了这一现象。他们将其与一种“V 形”注意力模式联系起来。他们发现，语义重复先于文本重复出现。

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

Antidoom 如何定位故障

Antidoom 在低温度下，针对一组旨在诱发循环的提示词混合集生成补全内容。该混合集以 LiquidAI/antidoom-mix-v1.0 数据集的形式提供。当一个片段至少重复四次，且长度超过 60 个字符时，即判定为循环。

该方法随后定位到第一次重复的第一个 token。在该位置上，它获取基础模型 top-k 对数概率的备选 token。它会过滤掉短 token 或非字母数字的噪声。它最多保留 20 个合理的替代 token 作为选定 token。

每条训练数据是一个由提示词前缀、一个被拒绝的 token 以及一个或多个选定 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 操作，直接在 logit 层面计算与参考分布的差异，避免对无关 token 产生压力。

两部分正则化：被选和被拒的 logit 可以更自由地移动，而词汇表中其余部分则受到严格约束。

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

训练采用基于 chosen_win 的早停策略，chosen_win 指的是被选 token 击败被拒 token 的样本比例。当 chosen_win 达到 0.35 时停止训练，可将 doom 循环率从 20-30% 降至 1-2%。训练时间过长往往会导致模型性能下降。

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

Antidoom 与常规修复方法的对比

方法改变的内容成本概况报告的缺点

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

强化学习通过奖励调整策略需要校准奖励，在线 rollout 成本高昂设置和计算开销大

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

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

结果

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

Liquid AI 团队还在 Qwen3.5-4B 上运行了该流程，该模型在推理过程中已知会出现循环。在贪婪采样下，其 doom 循环率从 22.9% 降至 1%。评估分数显著提升。

评估分数随温度升高而呈反向变化，与“死循环率”相关。训练后，两个模型在温度接近 1.0 时均出现性能下降。这是预期中的现象，因为更高温度的采样可能会倾向于选择概率较低的 token。一旦消除了循环，在测试的模型中，接近贪婪采样的方式取得了最高分数。

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

多轮处理可能有所帮助。第一轮会拒绝导致循环的 token，并重新加权以偏向其他选项。这可能会暴露出新的失败点，而第二轮则针对这些新问题进行处理。

交互式说明

用例与示例

端侧推理模型：像 LFM2.5 系列这样小于 1GB 的推理模型，在处理复杂提示词时可能会在推理中途陷入停滞。Antidoom 技术能够恢复因循环而损失的准确性。

小型编码智能体：一个 4B 参数的编码模型可能会在困难的调试追踪中陷入循环，并耗尽上下文窗口。消除循环能让它达到原本已知的修复方案。

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

训练后修复。团队在发布经过微调的推理检查点时，可以运行 Antidoom 作为清理步骤，整个过程只需几小时。

优势与挑战

优势：

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

快速：整个流水线只需几小时即可运行完毕。

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

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

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

挑战：

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

过度训练会降低模型性能，因此需要在 chosen_win 指标上提前停止。

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

训练后，在温度接近 1.0 时性能可能会下降。

每个模型都需要其自身生成的循环数据集。
