SimpleTIR正是为了解决多轮工具调用中的训练崩溃问题。
“在某个样本中,模型第 1 轮思路清晰,第 2 轮开始胡言乱语,第 3 轮直接输出一堆乱码。训练到后期,模型性能像过山车一样垂直下坠。”
SimpleTIR(https://arxiv.org/abs/2509.02479v1)正是为了解决多轮工具调用中的训练崩溃问题。下面带你拆解一下它的关键思路。
01
作者用一句话点破:“分布偏移 + 低概率 token 的链式雪崩”。
偏移:外部工具(Python 解释器、搜索引擎)返回的结果,跟模型预训练时的语料分布差距可能较大。
梯度爆炸:低概率 token 让重要性采样比值暴涨,梯度范数瞬间拉满,训练直接炸裂。
现场观测到的 token log-prob 曲线就像这样:
(Turn 1 还自信满满,Turn 4 直接一泻千里)
02
作者没有硬怼梯度裁剪,也没有加 KL 正则,而是祭出一个极简 heuristics:
只要某一回合既没生成可执行代码块,也没给出最终答案,就判定为“无效轮(void turn)”,整条轨迹直接丢进垃圾桶,不拿来更新策略。
这一招轨迹过滤同时掐断了两条崩溃链路:
信用分配错位:无效轮之后的失败不应惩罚前面正确的推理步骤,过滤后模型不再“一朝被蛇咬,十年怕井绳”。
03
在 Qwen2.5-7B 上,从零开始跑纯强化学习(Zero RL),不借助任何冷启动和监督微调:
多轮策略的可视化:三种“人类级”思考范式
o交叉验证(Cross Validation):同一问题写两份代码互检,防止一错到底。
SimpleTIR 的核心贡献不在于刷爆了多少分,而在于它给出了一条可复制、工程友好的多轮工具调用训练技巧:
Zero RL:直接基于 base 模型,无需昂贵的人类标注进行冷启动。
可扩展:对于不同模型参数量(7B→32B)均能保持训练稳定。
SimpleTIR 的核心实现已经开源,可通过下方链接直接查看源代码与实现细节。
代码链接:https://github.com/ltzheng/SimpleTIR/tree/main
在 LLM 多轮工具调用里,只要模型产生“void turn”,既不生成可执行代码,也不给出最终答案,就把这整条轨迹当作直接丢掉,便能实现稳定多轮训练——这大概就是 SimpleTIR 带来的最大启示。
//
未经「AI科技评论」授权,严禁以任何方式在网页、论坛、社区进行转载! 公众号转载请先在「AI科技评论」后台留言取得授权,转载时需标注来源并插入本公众号名片。
