同题同答案,家族思维链比Fable 5原文高7.1分

TraceForge: Distilling with Your Own Thinking

Yan Wang

cs.AI, cs.LG

2026-10-21

同5000题、同一套Fable 5答案,思维链改成家族口气,HumanEval+高3.7,MBPP+高7.1。

这篇在解决什么

闭源前沿模型现在常常只回答案或短摘要。reasoning trace(推理痕迹,写在答案前的那段思考)不再提供。蒸馏时这段文字比最终答案有用;只剩答案,监督就薄了。

跨模型回放加密推理块,能把隐藏思考原文抠出来,但违反 API 条款,做不了长期产品。TraceForge 不去恢复教师的思考。它吃进上下文和教师答案,用学生自己模型家族的口气写一条推到该答案的思维链,称为 family-native trace(家族原生痕迹)。

方法

生成器干的事很具体。系统提示、用户轮次、工具调用和最终答案都给它,让它把家族会写的那段思考补出来,损失只打在这段思考上。答案已经在输入里,它练的是推到这个答案的过程。

监督数据约一万条,全部来自 Qwen3.8-Max,真痕迹已知,没有闭源教师。生成器也是 Qwen 家族的模型,文风从这些数据里学,不靠提示词去要求。换到教师答案上时,它写的是一条收到这个新答案的推导,不是复述训练时见过的某一条。

这一阶段还不够像。外部裁判 GPT-6.1-SOL 给「像不像家族真痕迹」打 0 到 1 的分。真痕迹平均 0.66,监督之后的生成器平均 0.54。

critic(判别器)用来分开真痕迹和生成痕迹。每条样本配一个生成负例,真痕迹的概率比负例高出 0.2 就停,不再把间隔拉满。更小的判别器不行,几百步就拟合到捷径,留出集上分数好看,生成器没有可学的信号。判别器至少要和生成器一样大。

之后是五轮在线对抗。每轮生成 5000 条痕迹。骗过判别器的,加进判别器的训练集;没骗过的,做成偏好对,用 DPO(用一好一差两条样本做偏好更新)更新生成器。五轮后裁判分不再上升。生成器单独拿到 0.68,略高于真痕迹的 0.66;判别器在四条候选里挑一条,分数到 0.82。这是像真痕迹的程度,答对率要另算。

生成器和判别器的训练里没有 Claude 或 OpenAI 的 token。教师只在要写痕迹时提供上下文和答案。

结果

学生全部从 Qwen3.5-9B-Base 做全参 SFT。数据是同一批 5000 条 Claude Code 轨迹,上下文窗 256K,八张 H20,配方不变。变的只有思维链和答案从哪来。每格只跑一次。ARC-Easy、ARC-Challenge、BoolQ 测通用能力,HumanEval+ 和 MBPP+ 以 pass@1(只生成一次、能通过测试的比例)测编码。约 1600 次 packed-batch 更新时:

语料HumanEval+MBPP+
S1 Fable 5 思维链+答案64.6352.38
S2 家族思维链+Fable 5 答案68.2959.52
S3 Qwen3.8-Max 思维链+答案46.9524.60
S4 TraceInversion+Sol 答案3.666.61
S5 家族思维链+Sol 答案59.1560.05

三道选择题上,五份语料彼此相差都不超过 1.6 分,也没有一份三项都第一。这些题用不到推理痕迹。

S2 和 S1 共用 Fable 5 的答案,只换了思维链。终点 HumanEval+ 高 3.7,MBPP+ 高 7.1。MBPP+ 上 S2 在 300、600、900、1200、1600 步都领先。HumanEval+ 有例外:第 600 步 S1 为 66.46,S2 为 56.10。

S1 中间会塌。HumanEval+ 第 600 步 66.46,第 1200 步掉到 33.54,终点回到 64.63。1200 步的评估重跑两次,数字没变。

S5 和 S4 共用 GPT-6.1-SOL 的答案。TraceInversion(从答案反推思维链的已有方法)写成通用口吻,使用家族不写的编号步骤,还经常把答案重说一遍。它在第 900 步到过 21.95 和 42.59,终点掉到 3.66 和 6.61。S5 终点是 59.15 和 60.05。S5 在第 300 步的 HumanEval+ 只有 0.61,之后每个检查点都在涨。两科平均下来,S5 略高于直接用 Fable 5 原文的 S1。

S3 比 S2 低约 21 和 35 分。答案同时换了,不能单独当成文风实验。S3 和 S4 训到后段会出现死循环和复读。Fable 5 原文和家族痕迹都没有这个模式。

为什么重要

题和 Fable 5 的答案固定时,家族口气的思维链更好教,曲线也更稳。S2 升到 68.29 和 59.52。S1 中途掉了 30 多分,再爬回来。

Qwen3.8-Max 是同家族里条款允许蒸馏的最强模型。直接用它的思维链和答案,学生仍然更差。教师有多强,决定上限;痕迹像不像学生本来的写法,决定这个上限交不交得出去。收益在编码上,选择题几乎不动。

还有一版更严的流程:把家族痕迹交给 Qwen3.8-Max,让它重写答案,再拿这对数据训练。效果和 S2 基本相同,反向传播里没有 Claude 或 OpenAI 的 token。具体数字没有列出。

局限与存疑

每格一次运行。S1 的 HumanEval+ 晃动超过 30 分,终点多出的 3.7 分是第 1600 步的结果,第 600 步排名相反。

对 Qwen3.8-Max 的 21 和 35 分混进了答案质量。S1/S2 和 S4/S5 能看出下游差别,家族文风和流水线里的其他差别没有拆开。相关工作自己也把这句话写上了。

0.68 和 0.82 是 GPT-6.1-SOL 打的「像不像真痕迹」。人没有判过这些分,它们也不衡量推得对不对。对抗之前,生成器还低于真痕迹,0.54 对 0.66。

生成器和判别器的参数量没写,只说判别器不能更小。学生只有一个 9B 底座。5000 条轨迹来源保密。S5 起步慢,被解释成 Qwen3.5 中期训练见过很多 Claude 家族数据、很少 GPT 家族数据。这是外界说法,文中没有核实。遗忘更小没有测量。S3 和 S4 的死循环,文中用 breathing second-hand smoke 去猜,意思是从已经蒸馏过的模型再蒸馏,没有统计比例。

文首一处写成 3500 题,实验部分写的是 5000 条轨迹。表注称 S4 在第 900 步是五份里最强,表 2 里同期 S2 为 66.46 和 59.52,S4 是 21.95 和 42.59。

术语

原文与代码

相关论文

全部论文解读