跳到正文

SFT 后置信度下降原因

从数据、损失和过拟合定位 SFT 后置信度下降

原题:在进行监督微调(SFT)前后,分类模型的预测概率分布从高度集中变为更加均匀(即置信度下降),这可能由哪些因素引起?请从数据分布、损失函数和过拟合等角度分析。

模型训练 · 网易真题

回答与解析

先判断是不是问题

预测分布变平只表示平均置信度下降,不等于准确率下降,也不等于校准变差。先在同一验证集比较 accuracy/F1、NLL、Brier score、ECE 与 reliability diagram,并按类别、域和时间切片。若置信度下降同时更接近真实正确率,校准反而可能改善。

排查四层原因

  1. 数据:SFT 数据类别先验改变、样本更模糊、标签噪声/软标签增多、域迁移,或 train/validation 切分口径变化。
  2. 目标与正则:显式 label smoothing、Mixup/软标签、entropy/logit regularization、class weighting、weight decay 与 dropout 都可能影响 logit 尺度。Label smoothing 鼓励非目标类保留概率质量,但不是严格的概率硬上界。
  3. 模型与优化:分类头重置、学习率过大、灾难性遗忘、冻结层组合或训练不足都可能缩小类别间 logit margin。LoRA 的低秩本身不能推出“必然平均化”。
  4. 实现:train/eval mode、dropout、BatchNorm 统计、label map、重复 softmax、temperature、checkpoint 与 dtype 不一致。

修复

先做数据与代码消融,再决定训练修复。温度缩放用 softmax(z/T) 在独立校准集拟合 TT>1 更平,T<1 更尖;它主要校准置信度,不提高分类边界。不能说 label smoothing 与温度缩放天然互相抵消,也不能用 Focal Loss 作为概率变平的默认修复。

口语版讲法(约4分钟)

  • 先区分置信度、准确率与校准
  • 从数据分布和标签质量排查
  • 检查损失正则与 logit margin
  • 排查 train/eval 和 softmax 实现
  • 用独立校准集决定温度修复

看到 SFT 后概率从集中变平,我不会先下结论说模型退化。置信度、准确率和校准是三件事。模型以前可能过度自信,微调后概率下降但更接近真实正确率,这反而是校准改善。第一步应在同一验证集同时比较 accuracy 或 F1、negative log-likelihood、Brier score、ECE 和 reliability diagram,并按类别、数据域和时间切片。

数据层先看类别先验是否变化。预训练或原分类阶段可能某些类别占比高,SFT 数据更均衡、更模糊,或包含更多边界样本,模型学到的 posterior 自然会变。还要检查标签噪声、软标签、同一输入是否有冲突标注,以及训练集和验证集是否用了不同切分规则。域迁移会让 logit margin 缩小,也可能导致准确率和置信度一起下降。

损失层检查有没有显式 label smoothing、Mixup、知识蒸馏软标签、熵或 logit 正则、class weighting。Label smoothing 会让目标不再是纯 one-hot,通常抑制极端 logit,但它不是“每个预测概率绝对不能超过某个数”的硬上界。Focal Loss 的作用是降低易分类样本权重,不是修复概率变平的通用按钮,也不能无证据说它会防止概率塌陷。

模型和优化层要看分类头是否被重新初始化,学习率是否过大导致原能力遗忘,冻结层是否过多,训练是否不足,以及 weight decay、dropout 是否改变。LoRA 是低秩参数更新,它不会因为“低秩”就必然把所有类别平均化。真正应该比较的是 SFT 前后每类 logit、margin、权重范数和特征可分性。

实现问题也很常见:推理时是否忘记 model.eval,dropout 是否仍开启,BatchNorm 统计是否变化,label id 是否错位,是否对概率又做了一次 softmax,temperature 配置、checkpoint 和 dtype 是否一致。这些检查常比改损失更快找到根因。

修复顺序是先复现、再消融。分别关闭 label smoothing 和正则,回退分类头或学习率,固定数据切分,找出哪个变量导致变化。若准确率正常、只是校准有系统偏差,可以在独立校准集拟合 temperature,使用 softmax(z/T):T 大于一让分布更平,T 小于一更尖。温度缩放主要校准置信度,不会改变 argmax 决策边界。不能把它和 label smoothing 简单说成互相抵消。最终要以准确率、NLL、ECE 和业务阈值表现共同验收。

若业务使用置信度阈值做拒绝或转人工,还要重新计算不同阈值下的覆盖率、准确率和成本曲线。即使总体 accuracy 不变,概率尺度变化也可能让原阈值失效。校准完成后应在独立测试集冻结温度与阈值,避免对测试结果反复调参。

我会把这套诊断做成可回放的评测链路:固定数据版本与 checkpoint,记录每类 logit、阈值覆盖率和转人工成本,再逐项灰度改动。比如客服意图路由中,如果低频类别的置信度先下降,就要检查样本先验和标签边界;风险不是分布变平本身,而是旧阈值在新分布上继续使用。指标恶化时应能回滚温度与阈值配置。

关键一句:平均置信度下降可能是校准改善,也可能是域迁移或实现错误,不能单看概率形状判断。

核验来源

  1. On Calibration of Modern Neural Networks
  2. Rethinking the Inception Architecture for Computer Vision (Label Smoothing)
  3. When Does Label Smoothing Help?

面试官还可能这样问

  1. 问法 1 · 场景切入

    假设现在 SFT 后分类概率整体变平。你会先用哪些准确性和校准指标判断它是否真是退化,再决定是否修复?

  2. 问法 2 · 层层追问

    置信度降低等于准确率下降吗?……NLL、Brier、ECE 和可靠性图分别看什么?……数据先验、软标签、分类头、温度与推理实现怎样逐层排查?

  3. 问法 3 · 直球技术

    请从数据、目标/正则、模型/优化和实现四层分析 SFT 后概率变平,并说明温度缩放、label smoothing 与能力修复的边界。

同模块相关题目