微调评估指标系列导读

微调路线选型见 微调技术路线系列导读。微调完成后,「loss 降了」不等于「任务变好了」。评估指标的作用,是把模型在干什么翻译成可比较、可复现的数字——训练时看曲线是否健康,上线前看任务指标是否真提升。

段末注释:SFT(Supervised Fine-Tuning,监督微调)用标注样本优化下一 token 预测;训练指标反映拟合过程,任务指标反映业务目标达成度,二者不可互相替代。

本系列为目录 04(阅读顺序第 6 步)。前置:00 导读01 数据02 PEFT03 SFTTrainer

本系列按微调实践中出现频率,把指标分为四层。

微调评估指标全景


一、四层指标:各自回答什么问题

层级 回答的问题 典型指标 计算时机
训练监控 模型是否在学、是否过拟合 eval_loss、Perplexity、mean_token_accuracy 训练/验证集,每 N step
任务判别 离散标签预测对不对、哪类容易错 Accuracy、Precision/Recall/F1、混淆矩阵、Invalid 率 测试集,微调前后对比
生成质量 开放文本与参考答案有多接近 BLEU、ROUGE、Exact Match、BERTScore 测试集,需 reference
专项能力 代码能否跑通、格式是否合规 pass@k 需沙箱或解析器

经验法则

  • 训练阶段:eval_lossmean_token_accuracy 看收敛与过拟合;不要仅凭 train loss 停训。
  • 生成式分类(输出固定标签词):macro F1 + 混淆矩阵 + invalid 率;务必跑微调前基线。
  • 摘要/翻译/QA:BLEU / ROUGE / EM / BERTScore 各看一面;长文本生成还需人工抽检。
  • 代码微调:pass@1 为主,附 pass@10 看多次采样潜力。

二、系列文档索引

2.1 训练过程指标

文档 指标 一句话
交叉熵损失 eval_loss Cross-Entropy Loss 模型对标准答案有多「意外」;越低越拟合
困惑度 Perplexity PPL loss 的指数形式,直观表示「平均候选词数」
Token 准确率 mean_token_accuracy Mean Token Accuracy 非掩码 token 上 top-1 命中率

2.2 分类与结构化预测

文档 指标 一句话
准确率 Accuracy Accuracy 预测完全正确的样本占比;直观但易被类别不平衡误导
精确率、召回率与 F1 P / R / F1 单类查准查全与二者的调和平均;macro 适合不平衡多分类
混淆矩阵 Confusion Matrix Confusion Matrix 真值×预测的计数表;定位「哪两类互相搞混」
Invalid 预测率 Invalid Rate 生成结果无法解析为合法输出的比例;格式约束任务必备

2.3 开放生成质量

文档 指标 一句话
BLEU BLEU n-gram 精确率的几何平均;偏「用词是否对齐参考」
ROUGE ROUGE-L 等 基于召回的 n-gram / 最长公共子序列重叠;偏摘要覆盖
完全匹配 Exact Match EM 生成答案与标准答案字符串是否完全一致
BERTScore BERTScore F1 基于语义 embedding 的 P/R/F1;对同义改写更宽容

2.4 专项能力

文档 指标 一句话
pass@k pass@k k 次采样中至少一次通过单元测试的比例;代码生成主指标

三、在微调流水线中的位置

1
2
3
4
5
6
7
8
标注数据 → 监督微调训练
├─ 训练中:loss、mean_token_accuracy(日志 / TensorBoard)
├─ 验证中:eval_loss、eval_mean_token_accuracy
└─ 停训后:任务指标 on test set
├─ 分类:accuracy、macro F1、invalid 率、混淆矩阵
├─ 生成:BLEU、ROUGE、EM、BERTScore
└─ 代码:pass@1、pass@k
└─ 与微调前基线对比 → 判断是否值得上线

训练框架(如 TRL SFTTrainer)自动产出训练监控指标;任务指标需在 test 集上自行编写评估脚本,且微调前后使用同一套 prompt、decode 与 parse 规则。


四、选型速查

你的任务 优先看什么 次要补充
指令跟随 / 对话 SFT eval_loss、mean_token_accuracy 人工抽检 + EM(若有标准答)
生成式分类(输出标签词) macro F1、invalid 率、混淆矩阵 accuracy
传统分类头微调 macro/micro F1、accuracy 混淆矩阵
摘要 / 翻译 ROUGE-L、BLEU BERTScore、人工可读性
抽取式 QA Exact Match、token F1 BERTScore(允许 paraphrase 时)
代码生成 pass@1 pass@10、失败类型统计

五、共性局限(读任何单篇前先看)

  1. 训练指标 ≠ 任务指标:eval_loss 低不保证分类 F1 高,尤其当评估用 generate() 而训练用 teacher forcing。
  2. 数据泄漏:验证/测试 prompt 或实体若出现在训练集,指标会虚高。
  3. 生成式评估成本高:每条样本 autoregressive decode,可限制评估子集规模,但微调前后 limit 必须一致。
  4. 单一指标误导:不平衡分类只看 accuracy;开放生成只看 BLEU 都会漏掉重要失败模式。
  5. 比较必须同条件:同一 test 子集、同一 prompt、同一 decode 策略(temperature、max_tokens),否则 delta 无意义。
  6. 解析规则即指标:Invalid 率、EM、分类 Accuracy 都依赖 parse/normalize,变更规则后历史不可比。

各指标的公式、代码、适用边界见对应子文档。

-------------本文结束感谢您的阅读-------------