答案已经对了,模型却还在絮叨——这段"多说的"才是 SFT 数据真正的毒
arXiv:2605.29288 · 论文解读
起手:你有没有觉得,长 CoT 数据筛选这事儿越搞越玄乎
最近一年做推理模型的人都有个体感:手头一堆答案正确的长 CoT 轨迹,但拿来 SFT 之后效果差异巨大。有的轨迹一训就涨,有的轨迹训完反而比 baseline 还差。
通常的应对方式不外乎几种:选轨迹(trace selection)、改前缀(prefix selection)、整段重写(rewriting)。但说实话,这些方法大多是 heuristic 的——你说不清楚到底是哪段在帮模型学会推理,哪段在拖后腿。
这篇 5 月底挂出来的论文(arXiv:2605.29288),来自电子科技大学和新加坡两所学校(SUTD、SMU)的合作,给了一个挺让我意外的诊断结论:答案已经被充分论证之后,模型还在继续推理的那一段尾巴,就是真正的毒。
不是因为它太长,也不是因为它在胡说八道——它其实还跟答案"相关",只是局部不确定性持续高,hidden state 却几乎不再朝终点方向移动。作者把这种现象叫做 uncertainty–geometry mismatch(不确定性—几何错位),并据此训了个 HCC(Harmful Continuation Cut) —— 一个用 0.5B 模型做 backbone 的超轻量"剪刀",效果接近 27B 大模型 editor,但算力只要 1/54。
下面把这篇论文掰开讲。
核心摘要
长 CoT 推理轨迹做 SFT 监督,"答案对"远不等于"轨迹好"。这篇论文把矛头指向一个具体的现象——post-conclusion continuation:答案已经被充分支撑了,但 trace 还在继续往下推。作者用一个 delete-only editor 把这部分尾巴砍掉做对照实验,发现砍掉之后 SFT 效果反而更好——LLaMA3.2-3B 上 MATH500 从 29.8 涨到 43.2,平均分从 36.3 涨到 45.2。基于这个观察,他们用 hidden state 的 displacement 和 forward progress 给这段"有害延续"画了像:局部不确定性持续高,但朝终点的几何进展明显变弱。最后训了个 HCC —— 0.5B backbone 的轻量边界预测器,效果接近 27B editor,参数量只有 1.8%。
一句话评价:思路漂亮、诊断扎实、动机清晰,是这一年长 CoT 数据筛选方向里少见的"既给现象、又给解释、还给工具"的工作。但要注意——他们自己也很坦诚地承认,这是 operational 诊断,不是因果证明。
论文信息
- 标题:Diagnosing Harmful Continuation in Answer-Correct Long-CoT Training Traces
- 作者:Chen He, Yuhao Wu, Lei Wang, Wenxuan Zhang, Fumin Shen
- 机构:电子科技大学(UESTC)、新加坡科技设计大学(SUTD)、新加坡管理大学(SMU)
- arXiv:2605.29288(2026 年 5 月 28 日)
为什么这事值得做:现有方法的盲区
在长 CoT SFT 这条线上,前置工作其实不少:
- 选轨迹的:Tian et al. 2025 强调 distillation source 的差异,Zhang et al. 2025 提"最适配的指令数据"
- 改前缀的:Sun et al. 2026 的 prefix optimization、Liu et al. 2026 的 adaptive prefix alignment
- 控长度的:Luo et al. 2025 的 O1-Pruner、Ma et al. 2025 的 CoT-Valve、Xu et al. 2025 的 Chain of Draft
- 看模式的:Li et al. 2026 把 reasoning pattern 跟泛化 gap 关联起来
这些工作都在做一件事——猜哪条 trace 好。但有个共同的盲区:它们没有真正回答一条 trace 内部从哪里开始就不该再学了这个问题。
作者打的就是这个洞。他们不假设整条尾巴都有害,也不把"长"当成靶子,而是问:有没有可能,一条 trace 进入了一个"低价值的后结论延续"阶段——答案已经被支撑了,但模型还在继续"探索",这种探索局部代价高、但朝终点几乎不再走?
这个问题问得很精准。它不是在做选择题,是在做切割题。
一、先把"后结论延续"挑出来
数据怎么造
作者从 OpenR1-Math-220k 里抽了 4780 条答案正确的长 CoT 轨迹,分别由 Qwen3-235B-A22B-Instruct-2507 和 DeepSeek-R1-V3.2 两个模型生成(记作 \(\{T\}_Q\) 和 \(\{T\}_R\))。
然后用 Qwen3.5-27B 当 delete-only offline editor——只删不改。给定一条 trace,editor 标出那些"删掉之后仍能恢复最终答案"的句子。
注意这里的设定:editor 不改写,只删。这保证了"答案保留",让后面的对照实验能干净地归因到"删除"这个动作。
每条轨迹被划成两组:
- retained reasoning:editor 保留的部分,支撑最终答案
- editor-removed continuation:editor 标出可删的部分,也就是 post-conclusion continuation
作者特意强调:这两个组在这一阶段还只是 operational group,不预设它们是"有用 vs 有害"。"有害"这个判断,要等下游 SFT 实验给。
Uncertainty 视角:答案已经稳了,但局部还在抖

图 1:(a) retained reasoning 段,answer NLL 单调下降(橙线),entropy 也整体收敛——说明这段 reasoning 在持续提升"答案恢复能力";(b) editor-removed continuation 段,answer NLL 和 entropy 反而开始上涨——尾巴接得越长,答案反倒越"难恢复"。
这张图是整篇论文的关键起点。
横轴是按段内位置归一化后的句子位置,纵轴是 answer-level 的 entropy 和 NLL。在 retained reasoning 段(左图),随着句子累加,answer NLL 稳步下降——这符合直觉,多说几句逻辑链,最终答案应该越来越"显然"。
但进入 editor-removed continuation 段(右图),事情变了:answer NLL 开始上涨,entropy 也跟着抖。 也就是说,答案被支撑到一定程度后,再多写下去,evaluator 看着反而觉得"这答案不太对劲了"。
我第一反应是:这不就是 over-thinking 的实锤吗?模型自我怀疑、自我推翻、再绕回来——表面看起来像在严谨,实际上在制造噪声。

图 2:在 retained reasoning(K1→KT)和 editor-removed continuation(C1→CT)的边界附近,逐句追踪 (a) sentence entropy、(b) entropy change、(c) sentence NLL、(d) answer-NLL reduction。
更细的诊断在图 2。作者定义 \(K_1, K_T\) 是 retained reasoning 的首末句,\(C_1, C_T\) 是 editor-removed continuation 的首末句。
发生了什么:
- \(K_1 \to K_T\):sentence entropy/NLL 上升(局部确实在变难),但 answer-NLL reduction 也在加强——局部费劲,但确实在帮答案
- \(K_T \to C_1\):局部不确定性继续升高,但 answer-NLL 的增益不再同步增长
- \(C_1 \to C_T\):高不确定性维持甚至放大,但答案支撑几乎不再增加
一个清晰的不对称浮出水面:retained reasoning 是"努力有回报",editor-removed continuation 是"努力没回报"。
Geometric 视角:hidden state 不再朝终点走
光看不确定性还不够。作者又从 hidden state 的几何角度切了一刀。
借鉴 Valeriani et al. 2023 和 Jiang et al. 2025 关于 transformer hidden representation 几何的工作,作者定义了几个量:
- hidden displacement \(D_t = \|\Delta h_t\|_2\):相邻句子边界处 hidden state 的位移大小
- forward progress \(G_t = \frac{\langle \Delta h_t, h_T - h_{t-1}\rangle}{\|h_T - h_{t-1}\|_2 + \epsilon}\):这个位移在"指向终点 \(h_T\)"方向上的分量
- progress efficiency \(E_t = G_t / (D_t + \epsilon)\):位移转化为终点方向进展的效率
- curvature:作为辅助指标
这里有个关键概念要澄清——"终点方向"不是真正的"答案方向",而是从这条 trace 自身的 terminal hidden state 反推出来的,所以是 operational proxy。作者很谨慎地反复强调这一点。

图 3:(a) token-normalized hidden displacement 的 ECDF——retained reasoning 整体右移,displacement 更大;(b) hidden displacement vs forward progress 散点——retained reasoning 更频繁地出现在 displacement 大、forward progress 高的区域。
图 3 的 ECDF 直接把分布差异拍在脸上。两组虽然在 0 附近都有大量样本(说明很多句子的位移本来就接近 0,不能用单句几何分数做硬切),但 retained reasoning 的整体分布明显朝右偏——人均位移更大、人均朝终点走得更远。
更直接的证据在 Table 1:
表 1:每条样本内 paired 对比,editor-removed continuation 的 hidden-state 进展显著弱于 retained reasoning
| Metric | Removed mean | Retained mean | Removed lower (%) | 95% CI of Δ |
|---|---|---|---|---|
| Hidden displacement | 21.91 | 44.92 | 79 | [-23.85, -22.19] |
| Forward progress | 10.79 | 20.50 | 79 | [-10.15, -9.31] |
| Progress efficiency | 0.09 | 0.19 | 79 | [-0.11, -0.10] |
| Hidden displacement / token | 1.65 | 2.83 | 79 | [-1.24, -1.11] |
| Forward progress / token | 0.84 | 1.28 | 79 | [-0.47, -0.40] |
| Curvature | 1.09 | 1.17 | 73 | [-0.09, -0.08] |
注意几个数:
- displacement 差了一倍(44.92 vs 21.91),79% 的样本里 removed 段都更小
- token-normalized 之后差距还在,说明这不是"句子短"造成的假象
- curvature 差异最小——说明问题不在方向频繁变化,而在位移本身就小、且不再朝终点走
到这里,"uncertainty–geometry mismatch" 这个名字就立得住了:局部还在抖(不确定性高),但整个状态已经停滞(几何位移小、终点方向进展弱)。 一个走神的脑子还在哔哔,但身体已经站住不动了。
二、HCC:用 0.5B 模型给"有害延续"画一刀
诊断完了,得有工具。作者训了 HCC(Harmful Continuation Cut),一个轻量的边界预测器。
整体设计
骨干:冻结的 Qwen2.5-0.5B-Instruct。注意是 frozen——不动 backbone,只训上面挂的几个轻量 head。
输入:question \(q\) + 句子级切分的 reasoning trace \(r = (r_1, \ldots, r_T)\)。
每个句子边界处取一个 hidden 表示 \(h_t \in \mathbb{R}^D\),过一个 sequence encoder 拿到上下文化表示 \(\tilde{h}_t\)。
接下来 HCC 干三件事:
1)序列变分潜变量正则化
对每个 \(\tilde{h}_t\) 定义 posterior: $\(q_\phi(z_t \mid \tilde{h}_t) = \mathcal{N}(\mu_t, \Sigma_t)\)$
定义 sequential prior(前一时刻的 context 推后一时刻的 prior): $\(p_\eta(z_t \mid \tilde{h}_{t-1}) = \mathcal{N}(\mu^p_t, \Sigma^p_t)\)$
加 KL 正则: $\(\mathcal{L}_{\mathrm{KL}} = \sum_{t=1}^T D_{\mathrm{KL}}(q_\phi(z_t \mid \tilde{h}_t) \| p_\eta(z_t \mid \tilde{h}_{t-1}))\)$
这一项作用是给边界预测做 latent 层面的紧凑约束。不是 hard information bottleneck,也不是答案预测目标——这点在附录 B 里有详细推导,作者强调这只是 IB 的"变分代理"。
2)Uncertainty–Geometry 双信号联合估计
把第一阶段诊断里挖出来的两个信号——uncertainty 和 geometry——直接喂进网络。
Uncertainty 头: $\(s^{\mathrm{ent}}_t, \hat{T}_t = f_{\mathrm{ent}}(\tilde{h}_t), \quad \mathcal{L}_{\mathrm{ent}} = \sum_t \mathrm{Huber}(\hat{T}_t, T_t)\)$
Geometry 头: $\(s^{\mathrm{geo}}_t, \hat{G}_t = f_{\mathrm{geo}}(\tilde{h}_t), \quad \mathcal{L}_{\mathrm{geo}} = \sum_t \mathrm{Huber}(\hat{G}_t, G_t)\)$
target \(T_t\) 来自源轨迹的 entropy/NLL/log-perplexity 等统计,\(G_t\) 来自前面定义的 hidden displacement / forward progress。每个头吐出一个 scalar 估计 + 一个 context vector。
3)边界预测
把 latent 投影 \(b_t\) 和两个 context vector 用 LayerNorm 融合: $\(m_t = \mathrm{LN}(b_t + \alpha_{\mathrm{geo}} s^{\mathrm{geo}}_t + \alpha_{\mathrm{ent}} s^{\mathrm{ent}}_t)\)$
其中 \(\alpha_{\mathrm{geo}}, \alpha_{\mathrm{ent}}\) 是可学习的 scalar gate。然后过 cut head 出每个位置作为"最后一个保留句"的 logit: $\(\pi_t = \mathrm{CutHead}(m_t)\)$
加一个 BOS 状态 \(m_0\) 让模型可以选"全部删掉"。cut loss 是标准 softmax cross-entropy: $\(\mathcal{L}_{\mathrm{cut}} = -\log \frac{\exp(\pi_{c^*})}{\sum_{j=0}^T \exp(\pi_j)}\)$
再加个句子级删除头做 binary classification 辅助: $\(\mathcal{L}_{\mathrm{del}} = -\sum_t [y_t \log \hat{y}_t + (1 - y_t) \log(1 - \hat{y}_t)]\)$
总 loss: $\(\mathcal{L} = \mathcal{L}_{\mathrm{cut}} + \lambda_{\mathrm{del}}\mathcal{L}_{\mathrm{del}} + \lambda_{\mathrm{KL}}\mathcal{L}_{\mathrm{KL}} + \lambda_{\mathrm{ent}}\mathcal{L}_{\mathrm{ent}} + \lambda_{\mathrm{geo}}\mathcal{L}_{\mathrm{geo}}\)$
设计上几个值得品的点
第一,为什么 uncertainty 和 geometry 是用 scalar 估计 + auxiliary loss 的方式接进来,而不是把原始 context 直接拼进 cut 表示? 作者的考虑是:让模型显式地学"这句话的不确定性是 X、几何进展是 Y",再把这两个学到的"诊断维度"输进 cut 决策。这是一种 inductive bias 注入。
第二,为什么用变分 latent 而不是直接预测? 序列 prior 让相邻句子的潜变量保持平滑,避免模型在某个噪声句上突然 cut。这种"平滑"对长 trace 的边界判定挺重要的。
第三,Qwen2.5-0.5B 冻结 + 小 head。这是为了让 HCC 跑起来便宜,论文最后会给出和 27B editor 的算力对比。
三、实验:这把"剪刀"剪得好不好?
主实验:删了之后 SFT 反而更好
表 2:主实验,分别在 \(\{T\}_Q\) 和 \(\{T\}_R\) 上训 SFT
| Method | Backbone | MATH500 | AMC23 | GSM8K | Avg | Len |
|---|---|---|---|---|---|---|
| Vanilla | LLaMA3.2-3B | 29.8 | 10.0 | 69.0 | 36.3 | 3478.8 |
| Heuristic | LLaMA3.2-3B | 34.0 | 15.0 | 71.5 | 40.2 | 3430.8 |
| Editor (27B) | LLaMA3.2-3B | 41.8 | 20.0 | 75.4 | 45.7 | 1906.1 |
| HCC 0.5B | LLaMA3.2-3B | 43.2 | 17.5 | 75.1 | 45.2 | 2010.1 |
| Vanilla | LLaMA3.2-3B(\(T_R\)) | 38.4 | 15.0 | 69.9 | 41.1 | 4967.1 |
| Editor (27B) | LLaMA3.2-3B(\(T_R\)) | 51.2 | 22.5 | 75.9 | 49.8 | 1942.1 |
| HCC 0.5B | LLaMA3.2-3B(\(T_R\)) | 47.6 | 22.5 | 77.8 | 49.3 | 1934.4 |
几个值得标重点的发现:
1)干预证据成立。 同样的轨迹,砍掉 editor 标出的尾巴之后再 SFT,效果反而更好。LLaMA3.2-3B 上平均涨了将近 9 个点(36.3→45.7),response 长度还砍了一半。
这是一个反直觉的结论:传统认知里"长 CoT = 更细致的推理 = 更好的监督",这篇论文给出的反例是——当尾巴是低价值的 post-conclusion continuation 时,它反而是噪声。
2)HCC 几乎追平 27B editor。 0.5B 的 HCC 和 27B 的 editor 平均分基本咬住(45.2 vs 45.7,49.3 vs 49.8)。在 MATH500 (\(T_Q\)) 和 GSM8K (\(T_R\)) 上甚至反超。
3)跨源迁移能 work。 这点很关键。作者的训练-验证 split 是跨源模型的:\(T_Q\) 训 HCC,去处理 \(T_R\);反之亦然。说明 HCC 学到的不是"Qwen 风格的尾巴"或"R1 风格的尾巴",而是某种更通用的"post-conclusion continuation"模式。
4)Qwen2.5-Math-7B 上 HCC 略输 editor。 这个我得说实话——HCC 在更强 backbone 上 80.4 / 82.6,editor 是 83.5 / 83.3。差距不大,但确实存在。说明 0.5B 的 proxy 能 catch 住大部分边界,但 marginal case 还是 27B 更稳。
后训练诊断:模型确实在生成更"健康"的轨迹

图 4:训练后模型生成 reasoning 时,(a) Vanilla 在后期出现明显 answer NLL 上升,HCC 和 Editor 保持平稳;(b) Vanilla 在后期出现 entropy 反弹(rebound),HCC 和 Editor 持续下降。
这张图是非常漂亮的"自洽证据"——你 SFT 时砍掉了 post-conclusion continuation,那训出来的模型应该自己也少生成 post-conclusion continuation。结果正是如此。
Vanilla 模型在生成的后期出现了明显的 entropy 反弹,这个反弹的形态正好对应"重新进入了一个不稳定的后结论延续阶段"——它自己学会了导师那种"明明答案对了但还要再啰嗦一下"的毛病。HCC 和 Editor 训出来的模型则保持平稳。

图 5:(a) HCC 和 Editor 训出来的模型,token-normalized hidden displacement 比 Vanilla 大;(b) Vanilla 在中后期出现明显的 entropy-progress mismatch(不确定性涨但几何进展跟不上),HCC 和 Editor 把这个 mismatch 压到接近零。
图 5 直接复现了 Section 3 里那个"uncertainty–geometry mismatch"——只不过这次是在生成而非训练数据上。Vanilla 的 mismatch 在中后期飙起来(说话越说越没含金量),HCC/Editor 把它压平了。
这两张图加起来传递的信息是:HCC 不只是数据预处理的把戏,它真的改变了模型的生成行为。
消融与 baseline:random cut 是真的不行
表 3:HCC 作为 RL 起点更强
| Method | Dataset | RL step 0 | 10 | 20 | 30 | 40 |
|---|---|---|---|---|---|---|
| Vanilla | MATH500 | 29.8 | 34.8 | 35.2 | 36.6 | 36.4 |
| HCC | MATH500 | 43.2 | 45.8 | 46.0 | 46.2 | 49.4 |
| Vanilla | GSM8K | 69.0 | 71.6 | 72.7 | 73.1 | 73.3 |
| HCC | GSM8K | 75.1 | 75.4 | 75.7 | 77.7 | 77.0 |
HCC SFT 之后再上 GRPO,每个 step 都比 Vanilla 强。这说明 SFT 阶段的数据处理效果会传递到 RL 阶段。RL 不能挽救一个糟糕的 SFT 起点——这跟最近圈子里"SFT 决定上限"的说法是一致的。
表 4:Random Cut vs HCC
| Method | MATH500 | AMC23 | GSM8K | Avg |
|---|---|---|---|---|
| Random Cut | 31.4 | 7.5 | 48.1 | 29.0 |
| HCC | 47.6 | 22.5 | 77.8 | 49.3 |
这表必须重点看。Random Cut 的设计是:保留答案,随机砍一个长度匹配 HCC 平均删除量的尾巴。结果是 29.0 vs 49.3——差了将近一倍。
这个对照非常关键,直接堵死了砍短就行这个质疑。如果效果只来自"短",random cut 应该和 HCC 持平。但结果是 random cut 比 Vanilla(36.3)还差。
说明什么? 砍错了地方比不砍还糟。如果你切到 retained reasoning 中间,等于是把支撑答案的关键步骤切掉了——答案虽然在,但推理链断了,模型学不到完整的逻辑。
MMLU 跨域:不是只在数学上灵

图 6:LLaMA3.2-3B 在 college physics、college biology、clinical knowledge、professional psychology、high school statistics、high school biology 这 6 个 MMLU 子学科上的表现,HCC 全面超过 Vanilla,与 Editor 接近。
只在 MATH/GSM8K 这种数学题上验证不够。作者拉了 MMLU 6 个子学科——物理、生物、临床医学、心理学、统计——HCC 全面碾压 Vanilla。注意训练数据还是数学的,但 HCC 处理之后的 SFT 数据让模型在非数学的知识题上也表现更好。
作者很谨慎地说:"这不能直接证明非数学训练数据里也存在同样的有害延续模式。" 这句话我喜欢。没把结论吹过头。
算力对比:1.8% 的参数撬动 95%+ 的效果
表 7:HCC vs 27B editor 的算力对比
| Method | # Params | MACs | FLOPs | Rel. MACs |
|---|---|---|---|---|
| Qwen3.5-27B | 27.0B | 137.1T | 274.3T | ~54.2× |
| HCC | 498.0M | 2.5T | 5.1T | 1.0× |
54 倍的算力差距,效果差距小到可以忽略。这意味着大规模 SFT 数据预处理这件事,从"必须用 27B 模型"降到"用 0.5B 模型也能干"。
Self-consistency 诊断
表 6:HCC 训出来的模型,自己生成时也较少触发"removable continuation"模式
| Dataset | Method | Phase ↓ | Sent. ratio ↓ | Len. |
|---|---|---|---|---|
| GSM8K | Vanilla | 81.73 | 51.84 | 94.54 |
| GSM8K | Editor | 63.53 | 24.14 | 50.85 |
| GSM8K | HCC | 60.42 | 19.45 | 48.38 |
| MATH500 | Vanilla | 93.40 | 59.51 | 74.75 |
| MATH500 | Editor | 63.60 | 28.53 | 73.89 |
| MATH500 | HCC | 61.80 | 27.35 | 66.86 |
把训好的 HCC 反过来检测模型生成的轨迹里有多少"看着像 post-conclusion continuation"。GSM8K 上从 51.84% 降到 19.45%。这是 detector-based 的 self-consistency 测量,不是因果证据,但作为闭环验证还是挺有说服力的。
四、批判性看一下
我对这篇论文整体是欣赏的,但也有几个问题想拎出来。
1)editor identified ≠ ground truth harmful
作者自己其实反复强调了这一点。HCC 学的是"editor 怎么切",不是"哪些 reasoning 真正有害"。如果 editor(Qwen3.5-27B)本身有 bias,HCC 会继承这个 bias。
这是一个 proxy 嵌套的链条:editor 标 → HCC 学 → SFT 用 HCC 处理过的数据。如果链条任何一环有偏差,下游都会受影响。论文用的是 interventional 实验(删了之后 SFT 涨)来部分回避这个问题,但严格来说,"删的恰好就是 harmful"和"删了什么都涨一点"这两个假设是无法完全分离的——random cut 确实排除了"无脑删",但有可能存在"删 retained 中末尾的几句也涨"这种情况。
2)Qwen2.5-Math-7B 上的边际收益其实有限
仔细看 Table 2:Qwen2.5-Math-7B 这个本就强的 backbone 上,Vanilla 81.4 / 81.3,Editor 83.5 / 83.3,HCC 80.4 / 82.6。HCC 在 \(T_Q\) 上甚至比 Vanilla 还低 1 个点。
为什么 LLaMA3.2-3B 上提升 9 个点的方法,到 Qwen2.5-Math 上只提升 2 个点甚至倒退?我猜(论文没明说):Math 模型本身就被训得对长 CoT 不那么敏感,或者 Math 模型已经能"内部忽略" post-conclusion continuation 的负面影响。这是 HCC 的天花板需要被注意的地方——它对训练初期的弱模型救赎效果显著,对已经强的模型增益有限。
3)OpenR1-Math 这一个数据源
整篇论文的实验都基于 OpenR1-Math-220k 抽出来的 4780 条。规模不算小,但局限于数学。MMLU 的迁移实验是 SFT 之后在评测集上跑,不代表非数学的 SFT 数据里也存在同样的 harmful continuation 模式。这是个 open question。
4)"unmatched uncertainty–geometry"作为诊断的可推广性
我特别欣赏这两个 view 的提出,但坦白说,把它当成"判断是否该删"的硬标准还有距离。论文里也提到 ECDF 上两组在 0 附近大量重叠,单句几何分数不能做硬切。这意味着 HCC 里的 uncertainty/geometry 信号更像是辅助 inductive bias,不是绝对判据。
五、给工程的几条启发
跳出这一篇论文,结合最近一年长 CoT 数据筛选这条线的工作,我觉得有几个判断挺值得写下来:
1)数据筛选的范式正在从选 trace走向切 trace
之前大家在问"哪条 trace 好",现在开始问"一条 trace 内部哪段好"。这是更细粒度的处理,也对工具提出了更高要求——你不能只有 trace-level 评分,还得有 sentence-level 边界判别。HCC 是这个方向上一个具体的实例。
2)SFT 数据里"长不一定就好"的实锤又多了一份
之前 Chen et al. 2025("Do not think that much for 2+3=?")已经在生成侧讲过 over-thinking。这篇论文把它从生成搬到了训练数据上——模型从啰嗦的训练数据里学会啰嗦的生成习惯。所以你蒸馏 SFT 数据的时候,光看答案对不对完全不够,得看它是不是带着冗长的"自我怀疑—自我推翻"环节。
3)轻量 proxy 替代大模型预处理
HCC 的一个工程价值在于"54× 算力降本"。如果你在做大规模 SFT 数据预处理,Qwen2.5-0.5B 这种规模就能搞定(前提是你有标注好的训练对)。这对手头没有 H100 集群但还想做长 CoT SFT 的团队是友好的。
4)SFT 阶段的处理会传递到 RL 阶段
Table 3 那个 GRPO 实验值得反复看。SFT 阶段砍对了尾巴,RL 阶段每个 step 都比对照组强。这给"先 SFT 再 RL"这套主流 pipeline 又加了一条注解:SFT 数据质量对 RL 起点的影响是持续的,不会被 RL 抹平。
收尾
这篇论文最让我喜欢的一点,不是它做出来 HCC 这个工具,而是它给"长 CoT SFT 为什么效果差异巨大"提供了一个操作化的诊断框架:uncertainty 看局部的代价,geometry 看朝终点的进展,两者错位的地方就是该砍的地方。
这种"先讲清楚现象、再给出量化指标、最后做 interventional 验证"的论证结构,其实是这一年长 CoT 圈子里比较少见的。大多数同类工作要么只给一个"方法 work",要么只给一个"现象有意思"——能两头都讲扎实的不多。
如果你最近在做长 CoT 数据预处理,HCC 这套方法(或者它背后的两个诊断 view)值得拿到自己的数据上跑一下。哪怕你不直接用 HCC 的 checkpoint,用 hidden displacement / forward progress / sentence entropy 这几个指标给你自己的数据画个像,可能也会发现一些之前没注意到的事。
最后一个小思考。论文的标题是 "Diagnosing Harmful Continuation"——他们小心翼翼地用了 "diagnosing"。这个词比 "removing" 或 "fixing" 都更准确。这篇论文的真正贡献其实是诊断学,HCC 只是诊断之后顺手做的一把剪刀。
剪刀好不好用是工程问题,能把病灶看清楚才是学术问题。
参考文献(精选)
- Diagnosing Harmful Continuation in Answer-Correct Long-CoT Training Traces. Chen He et al. arXiv:2605.29288, 2026.
- Do Not Think That Much for 2+3=? On the Overthinking of Long Reasoning Models. Chen et al. ICML 2025.
- On the Role of Reasoning Patterns in the Generalization Discrepancy of Long Chain-of-Thought SFT. Li et al. arXiv:2604.01702.
- What Makes a Good Reasoning Chain? Uncovering Structural Patterns in Long CoT. Jiang et al. EMNLP 2025.
- Long-Chain Reasoning Distillation via Adaptive Prefix Alignment. Liu et al. arXiv:2601.10064.
觉得有启发的话,欢迎点赞、在看、转发。跟进最新 AI 前沿,关注我