Liquid AI发布Antidoom开源工具 用FTPO显著削减推理模型循环错误
•0 阅读•4分钟•前沿
Liquid AIAntidoomFTPOQwen3.5-4B
•0 阅读•4分钟•前沿
背景
在长文本推理任务中,部分小规模模型会出现 doom loop——模型不断重复同一段落直至上下文窗口耗尽,导致答案停滞、算力浪费。Liquid AI 通过系统分析发现,这类循环主要源于三大机制:
- 过度训练的高频 token(如 Wait、So)在不确定情况下被反复采纳;
- 循环文本自身强化了这些 token 的概率;
- 贪心采样(低 temperature)使循环难以自行跳出。
Antidoom 方法概述
Antidoom 采用 FTPO(Final Token Preference Optimization),定位循环的首个 token 并在该位置提供多达 20 条可替代的高质量候选。核心步骤包括:
- 使用专门的 antidoom‑mix‑v1.0 数据集生成可能循环的完成;
- 检测连续重复 ≥4 次且字符数 ≥60 的片段,返回首个循环 token 的索引;
- 对该 token 的 top‑k 替代进行过滤,只保留字母数字且语义连贯的候选;
- 以
[prompt, rejected, chosen]形式构建训练样本,使用 LoRA(rank 128‑256)进行 一轮 FTPO 微调。
FTPO 与传统 DPO 的区别在于:仅针对 最终 token 进行优化、支持 多候选、在 logits 空间直接计算 KL‑like 损失、以及对非目标词汇进行强约束,从而避免对整体分布的副作用。
实验结果
| 模型 | 训练前循环率 | 训练后循环率 | 评价得分提升 |
|---|---|---|---|
| LFM2.5‑2.6B | 10.2% | 1.4% | 全面提升 |
| Qwen3.5‑4B | 22.9% | 1.0% | 全面提升 |
- 生成阶段约 1 小时(8×MI325 GPU),微调约 1‑2 小时(单卡)。
- 循环率下降后,近贪心(temp≈0.67)采样获得最高评测分数;高温采样的优势主要来源于循环掩盖的误差。
开源实现与使用指南
- 代码仓库:
github.com/LiquidAI/antidoom(包含数据生成、循环检测脚本、FTPO 训练器)。 - 核心文件:
find_loop.py、ftpo_trainer.py、antidoom_mix_v1.0.json。 - 快速上手:
- 下载模型 checkpoint(LFM2.5 或 Qwen3.5)。
- 运行
python generate_loops.py --model xxx --temp 0.67生成循环样本。 - 使用
python ftpo_trainer.py --model xxx --data loops.json --lora-rank 128完成微调。
- 适用于 on‑device 推理模型、小型编码助手 以及 Agent 流水线,显著降低 token 消耗和响应延迟。
影响与展望
Antidoom 展示了 针对性微调 在提升推理可靠性方面的潜力,尤其对 1‑2 GB 规模的本地模型尤为重要。未来工作可探索:
- 多轮 Antidoom 循环检测与修复,以捕获二次出现的错误点;
- 将 FTPO 扩展至 跨模型共享 的循环 token 库,实现更通用的防循环框架;
- 与 RL‑based 纠错方法结合,平衡生成质量与循环抑制。
Liquid AI 表示,随着社区对 doom loop 的关注提升,Antidoom 将成为小模型部署的标准修复工具,进一步推动本地推理模型在生产环境中的可用性。
本文是对第三方新闻源的主观解读。消息可能出现过时、不准确、歧义或错误的地方,仅供参考使用。点击此处查看消息源。