研究解读 · 小互解读
Liquid AI 发布 Antidoom:修复推理模型的「死循环」问题,只改一个 token 即可,已开源
只微调死循环起点的那一个 token,两款模型的死循环率都被压到了 1% 左右。
速览
- Liquid AI 于 2026 年 7 月 7 日发布 Antidoom,用 Final Token Preference Optimization(FTPO)方法专门修复 AI 推理模型的「死循环」,也就是模型反复输出同一句话(比如「Wait, let me reconsider...」)直到耗尽上下文窗口。
- 在 LFM2.5-2.6B 早期检查点上,难度较高的数学 / 代码题的死循环率从 10.2% 降到 1.4%;在 Qwen3.5-4B 上,贪婪采样下从 22.9% 降到 1%。
- 方法只对「引发死循环的那一个 token」做针对性训练,让模型在这个位置更倾向选连贯的替代词,对其余的输出分布几乎不产生扰动。
- 死循环由三个机制共同造成:过训练的高频词(the、So、Wait 等)在模型不确定时被当成保底选项、上文重复会让循环概率一路逼近 1、低温贪婪采样让循环没有退出通道。
- 训练 / 检测 / 生成全套代码已在 GitHub 开源(Liquid4All/antidoom),README 附完整超参数选择指南,同时支持 NVIDIA/CUDA 和 AMD Instinct MI 系列(ROCm)。
⚑立场提示:本文解读的是 Liquid AI 官方发布的博客与开源项目。文中的死循环率、评测提升等数字均为厂商自评,目前尚无第三方独立复现。
1什么是死循环
AI 也会卡成复读机
Liquid AI 于 2026 年 7 月 7 日发布了 Antidoom,一套专门修复 AI 推理模型「死循环」的训练方法,并在 GitHub 开源了全部代码。
死循环(doom loop)是推理模型很常见的一种翻车方式:模型先吐出一小段话,比如「Wait, let me reconsider...」,然后把这段话一遍又一遍地重复,直到把上下文窗口填满,答案却始终没能出现。越小的推理模型越容易犯,尤其是在长思考链和难题上。
让我重新检查一下这道题第二步的推导。
Wait, let me reconsider...
Wait, let me reconsider...
Wait, let me reconsider...
Wait, let me reconsider...
Wait, let me recons
(上下文窗口被填满,答案再也没能出现)
在一道数学题或一段代码上卡住时,模型就这样反复念同一句话停不下来,宝贵的上下文全耗在原地打转。Antidoom 要修的就是这个毛病。
📊官方数据:LFM2.5-2.6B 早期检查点在难题上的死循环率从 10.2% 降到 1.4%;Qwen3.5-4B 在贪婪采样下从 22.9% 降到 1%。Liquid AI 称这套方法最高能把死循环率砍掉 九成。
2现有方案
旧办法为什么治标不治本
在 Antidoom 之前,对付死循环通常走两条路,各有各的短板。
第一条是推理时加 repetition_penalty,临时压低已经出现过的词的概率。它像一块创可贴,不用重新训练,但压得不分青红皂白,可能连正常输出的质量也一起拖下去。第二条是强化学习(RL),能针对性地治循环,代价是要精心设计奖励信号,还要跑昂贵的在线 rollout 采样,成本高。
| 方法 | 怎么做 | 成本 | 副作用 |
|---|---|---|---|
| repetition_penalty | 推理时临时给重复词降权 | 低,不用训练 | 可能拖累正常输出质量 |
| 强化学习(RL) | 用奖励信号重新训练模型 | 高,要调奖励加在线采样 | 奖励设计不好会跑偏 |
| Antidoom | 只训练死循环起点那一个 token | 低,LoRA 加单卡几小时 | 对其余输出几乎无扰动 |
3核心思路
只改一个 token,其余原封不动
Antidoom 把修复范围收到了极致。
它先找到死循环开始的那一个 token,只在这个位置训练模型改选更连贯的替代词,词表里其余部分的概率分布几乎保持原样。整个模型的输出习惯不动,只在那个引发循环的接缝上打一个精确的补丁。