跳到主要内容

评测 — 任务变好了吗,能力还在吗

这一章讲三件事: 为什么微调评测必须两条轴一起测;每一类任务各该用什么指标、 哪些指标在骗人;以及把「能不能上线」变成一张可以逐项打勾的清单。 读完你会得到本章最值钱的习惯:永远对照底座评,永远两条轴都测。

1. 这一章讲什么

书里用每个微调过模型的人都认识的场景开场:训练曲线健康,几个测试问题看着不错, 宣布成功——三周后,用户报告某类没测过的输入行为怪异;或者业务方一跑对比, 发现「改进」根本达不到统计显著;或者你发现模型丢了一项用户一直在用 (只是没提过)的能力1

病根不是工程,是评测:训练损失衡量「背没背熟训练数据」, 不衡量「有没有用」——两者的差距,正是生产事故住的地方2。 本章把差距补上。

2. 顶层全景

┌─ 轴一:目标任务变好了吗?
│ 分类 → 混淆矩阵 生成 → ROUGE/BERTScore(先验证再信)
微调后的模型 ──┤ 结构化输出 → 执行验证(格式对不对、跑得动跑不动)

├─ 轴二:能力还在吗?→ 固定的能力探针,微调前后各跑一遍

├─ 横向放大:LLM 评审(先与人评对齐)→ 抽样人评

└─ 汇合 → 部署闸门:三道检查,全过才许上线

图说:轴一回答「值得吗」,轴二回答「亏了吗」,闸门把两者变成决定。

3. 核心原理

3.1 双轴与对照底座

轴一,任务性能:它在目标任务上比底座强了吗。 轴二,能力保持:用户依赖的那些通用能力还在吗——第 02 章的 灾难性遗忘在这条轴上现形:微调法律文档分析的模型,算术可能变差; 微调客服的模型,写码可能变弱。只测轴一,这些退化全靠用户帮你发现3

还有一条贯穿的纪律:永远对照底座评。 一个 0.78 的忠实度分数单独看没有信息量; 「微调后 0.78、底座 0.61」才说明有真改进——绝对分数不构成结论4

3.2 分类任务:混淆矩阵是唯一说真话的表

分类的三个标准指标,书里各给了适用面5:

accuracy(准确率)在类别平衡时够用;九成样本都是 A 类时, 无脑全猜 A 也有九成——它在骗人。 F1(第 01 章预告过:兼顾「报得准」与「报得全」)把两个成分合成一个数。 第一个成分是精确率(模型报为正类的那些里,有多少真是正类),管「别乱报」。

第二个成分是召回率(真实为正类的那些里,有多少被报出来了),管「别漏报」; 多类任务再按「每类平权」或「按类频加权」平均出 macro 与 weighted 两个口径6

而真正有诊断力的是混淆矩阵——一张「真实类别 × 预测类别」的计数表: 它不只告诉你错多少,还告诉你具体把哪类错成哪类。 客服分类模型整体准确率很高,却系统性把「账单」错成「账户」—— 这种模式聚合指标看不见,混淆矩阵一眼现形。书里的忠告:总要看混淆矩阵, 别只看汇总数字7

3.3 生成任务:指标是代理,先验证再信

生成的难点在于没有唯一正确答案。书里给了两个自动指标加一句诚实话8:

ROUGE 数「生成文本与参考文本的片段重叠」——为一句话摘要那样的 「目标输出相对固定」的任务而生;开放式生成上经常误导9BERTScore 用另一个语言模型算语义相似度——同一件事换一种说法, ROUGE 判低分,BERTScore 判高分;多数生成任务上它比 ROUGE 靠谱10

诚实话是:它们是质量的代理,不是质量本身。 指标涨了、人评却跌了,说明模型「刷了代理」而不是变好—— 所以书里的规矩是:先用一小撮人工判断验证指标与人评的相关性, 再信它11

结构化输出走另一条路,而且是条坦途:格式有效性检查—— 生成的 JSON(用花括号与引号组织数据的通用文本格式)能不能解析、 数据库查询语句能不能执行、代码过不过测试——这些「非对即错」的检查, 比任何相似度指标都可靠;执行式评测是结构化任务的金标准12

3.4 能力探针:给遗忘装个烟雾报警器

能力探针是一小套固定的测试例,每条考一种「必须保住」的能力: 指令跟随、事实回忆、算术推理、表达不确定13

三条设计规则14:

规则理由
微调之前就定好事后再挑,全是「模型恰好答对的」,自我安慰
多样且像真实查询重复模板测不出真能力;人造题测不出真场景
温度(生成时的随机度)调到 0即每步都取最稳的词、不抽签——探针要的是稳定可复现,不是创造力

跑法:同一套探针,微调前后各跑一遍,对比得分; 某条掉了超过一成(书里的判定线是掉分超过 0.1),判为退化15。 自己造探针之外,公开基准抽一小撮分层样本(每类十到二十条) 前后各跑一遍,也能当回归测试——全量跑太贵,抽样已够报警16

3.5 LLM 评审:先对齐,再上岗

人工评最准但又贵又慢;自动指标便宜但对不上人真正在乎的东西。 LLM 评审(让一个更强的模型按评分细则给输出打分)居中—— 书里给了让它可信的四件套17:

  1. 评什么,一句话说死;
  2. 评分细则用具体可观察的行为写(「给了明确的下一步操作」), 别用抽象形容词(「回答很好」);
  3. 先写理由、后给分——防止评审模型只看表面特征就套分;
  4. 输出格式可解析,机器能收数。

两个必须防的坑。位置偏差:成对比较时,评审模型偏爱排在前面的那个—— 对策是每对正反各评一次取平均18没验证就上岗:评审模型打分之前,先拿一小撮人工判断对相关性—— 书里给的门槛是相关系数 0.7 以上;对不齐就改评分细则再试。 没对齐的评审会批量生产「看起来是数据、其实什么都没测」的假评测, 比没有评测更糟19

还有一处盲区要背下来:评审模型不擅长评事实准确性—— 它可能与被评模型共享同一个错误知识,错得整整齐齐20

3.6 人评与部署闸门:主走查

人评不可替代的场景有两个:需要领域专家知识的判断,和高风险的上线决策21。 书里的做法是把「总体质量」这个说不清的东西拆掉,换成各自独立的方面 (事实准确、语气、行动清晰度、长度),逐项打分再汇总; 用一致性系数(分类评用 Cohen's kappa,连续打分用相关系数) 给评测本身做质检22

样本量(参与人评的条数)给个量级: 预期「5 分制上差 0.5 分以上」的大改进,50–100 条就够检出; 更小的差距要更多条23

主走查:书里的评测管线把全章装成一次运行(书中明示预测数据是模拟的)24:

输入:底座与微调模型在同一批验证数据上的输出

第 1 步 分类对照:真值 15 条 → 底座错 6 条(0.60)、微调全对(1.00)
第 2 步 生成对照:同一批参考答案,算 ROUGE 与 BERTScore,比增量
第 3 步 能力探针:5 条探针(指令跟随/事实/算术/表达不确定/格式)
每条打分,微调比底座掉分超过 0.1 → 判 REGRESSION
第 4 步 LLM 评审:按四维细则给样例打分(本书用演示分,生产换真评审)
第 5 步 部署闸门:三道检查全过才建议上线
① 任务改进:f1_weighted 比底座高 0.02 以上,
或 BERTScore 高 0.01 以上
② 无能力回归:探针全过
③ 评审总分 ≥ 3.5 / 5
结果:三道全过 → DEPLOY;任一不过 → 先修再谈

图说:这条流水线跑一遍,「感觉变好了」就变成了三行可核对的数字。

4. 作者的判断与证据

书里当证据给的:「0.78 vs 0.61」的对照例子、 「90% 单类下全猜也是 90%」的 accuracy 反例、 位置偏差的存在与「正反各评一次」的对策——这些书里当作领域公认事实陈述4518

书里当立场给的:「两轴同等重要」与「永远对照底座」是作者钉死的两条纪律; 部署闸门的具体阈值(f1 高 0.02、BERTScore 高 0.01、评审 3.5)是作者给的示范值, 不是行业标准24

**书里坦白没给的:**第 1、2 步的预测数字书里明写是 simulated(模拟的), 只演示管线不背书数值;能力探针「掉 0.1 判退化」的阈值也没给依据—— 照抄前应按自己的任务校准。

5. 边界与局限

  • 书里的 LLM 评审模板面向客服场景;换成你的领域, 评分细则与要评的方面要重写(四件套的方法不变);
  • 「相关系数 0.7 才可上岗」是经验门槛,不同任务上松紧应该不同;
  • 执行式验证覆盖不到「对了但难维护」的代码——金标准也有边界(第 07 章已提);
  • 书里的人评成本估算(50–100 条)以「预期大改进」为前提; 小改进的人评成本书里只说「更多」,没给数23;
  • 探针只覆盖四类能力;你的应用还依赖什么能力,就该为它补什么探针。

6. 可带走的

  1. 双轴:任务变好了吗 + 能力还在吗;只测第一轴,靠生产事故发现第二轴;
  2. 永远对照底座评:绝对分数不构成结论;
  3. accuracy 会被类别不平衡骗;F1 合并精确率与召回率;混淆矩阵是唯一说真话的表;
  4. ROUGE/BERTScore 是代理:先对一小撮人评验证相关性,再信;
  5. 结构化输出直接用执行验证:能解析、能执行、过测试——非对即错;
  6. 能力探针微调前定好、温度设 0、前后各跑一遍,掉分超 0.1 判退化;
  7. LLM 评审四件套:说死评什么、细则写行为、先理由后分、格式可解析; 正反各评一次治位置偏差;相关系数 0.7 以下不许上岗;
  8. 人评拆成逐项打分、报一致性;部署三道闸:任务涨、无回归、评审过线。

7. 原文地图

主题原书章原文位置
开场事故故事与评测是病根Evaluating Fine-Tuned Modelstext/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:7(搜「training loss curves look healthy」) · :11(搜「optimization without feedback」)
双轴与遗忘的现形Evaluating Fine-Tuned Modelstext/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:21(搜「two parts」) · :23(搜「slightly less reliable」)
对照底座评Evaluating Fine-Tuned Modelstext/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:25(搜「0.78」)
accuracy 的骗人与 F1Evaluating Fine-Tuned Modelstext/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:33(搜「90 percent」) · :35(搜「harmonic mean」)
混淆矩阵的诊断力Evaluating Fine-Tuned Modelstext/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:37(搜「confusion matrix」)
ROUGE 与适用面Evaluating Fine-Tuned Modelstext/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:43(搜「ROUGE-1」)
BERTScore 与代理的诚实话Evaluating Fine-Tuned Modelstext/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:45(搜「semantic similarity」) · :47(搜「proxies for quality」)
结构化输出用执行验证Evaluating Fine-Tuned Modelstext/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:51(搜「parses correctly」) · :53(搜「gold standard」)
探针先行设计与三性Evaluating Fine-Tuned Modelstext/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:61(搜「before fine-tuning begins」) · :63(搜「diverse」)
最易受伤的四能力与抽样回归Evaluating Fine-Tuned Modelstext/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:65(搜「instruction following」) · :69(搜「10 to 20」)
LLM 评审的适用条件Evaluating Fine-Tuned Modelstext/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:79(搜「more capable」) · :81(搜「factual accuracy」)
评测提示词四件套Evaluating Fine-Tuned Modelstext/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:87(搜「four components」)
位置偏差与对策Evaluating Fine-Tuned Modelstext/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:89(搜「Position bias」)
验证评审与 0.7 门槛Evaluating Fine-Tuned Modelstext/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:93(搜「0.7」) · :95(搜「false confidence」)
人评拆维度与一致性Evaluating Fine-Tuned Modelstext/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:105(搜「independently assessable dimensions」) · :107(搜「kappa」)
样本量与预算分配Evaluating Fine-Tuned Modelstext/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:111(搜「50 to 100」) · :113(搜「largest disagreement」)
模拟预测与探针回归线Evaluating Fine-Tuned Modelstext/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:167(搜「Simulated」) · :447(搜「REGRESSION」)
部署闸门三条件Evaluating Fine-Tuned Modelstext/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:725(搜「0.02」) · :731(搜「3.5」) · :753(搜「DEPLOY」)

Footnotes

  1. 出处:「Evaluating Fine-Tuned Models」第 7、9 段(text/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:7,搜「declare success」;:9,搜「never thought to test」)。

  2. 出处:「Evaluating Fine-Tuned Models」第 11 段(text/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:11,搜「gap between them」)。

  3. 出处:「Evaluating Fine-Tuned Models」第 21、23 段(text/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:21,搜「both are equally important」;:23,搜「catastrophic forgetting」)。

  4. 出处:「Evaluating Fine-Tuned Models」第 25 段(text/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:25,搜「0.78」)。 2

  5. 出处:「Evaluating Fine-Tuned Models」第 33 段(text/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:33,搜「misleading」)。 2

  6. 出处:「Evaluating Fine-Tuned Models」第 35 段(text/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:35,搜「macro F1」)。

  7. 出处:「Evaluating Fine-Tuned Models」第 37 段(text/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:37,搜「billing queries with account」)。

  8. 出处:「Evaluating Fine-Tuned Models」第 41 段(text/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:41,搜「rarely a single correct answer」)。

  9. 出处:「Evaluating Fine-Tuned Models」第 43 段(text/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:43,搜「misleading」)。

  10. 出处:「Evaluating Fine-Tuned Models」第 45 段(text/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:45,搜「BERTScore」)。

  11. 出处:「Evaluating Fine-Tuned Models」第 47 段(text/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:47,搜「gamed the proxy」)。

  12. 出处:「Evaluating Fine-Tuned Models」第 51、53 段(text/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:51,搜「format validity」;:53,搜「objective and deterministic」)。

  13. 出处:「Evaluating Fine-Tuned Models」第 61、65 段(text/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:61,搜「capability probe」;:65,搜「uncertainty」)。

  14. 出处:「Evaluating Fine-Tuned Models」第 61、63 段(text/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:61,搜「confirmation bias」;:63,搜「stable」)。

  15. 出处:「Evaluating Fine-Tuned Models」第 447、457 段(text/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:447,搜「-0.1」;:457,搜「regression」)。「掉分超 0.1 判退化」是书里实操管线的判定线。

  16. 出处:「Evaluating Fine-Tuned Models」第 69、71 段(text/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:69,搜「stratified sample」;:71,搜「lm-evaluation-harness」)。

  17. 出处:「Evaluating Fine-Tuned Models」第 87 段(text/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:87,搜「rubric」)。

  18. 出处:「Evaluating Fine-Tuned Models」第 89 段(text/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:89,搜「reversed order」)。 2

  19. 出处:「Evaluating Fine-Tuned Models」第 93、95 段(text/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:93,搜「Spearman」;:95,搜「worse than having no evaluation data」)。

  20. 出处:「Evaluating Fine-Tuned Models」第 81 段(text/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:81,搜「same misconceptions」)。

  21. 出处:「Evaluating Fine-Tuned Models」第 99 段(text/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:99,搜「cannot be replaced」)。

  22. 出处:「Evaluating Fine-Tuned Models」第 105、107 段(text/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:105,搜「action clarity」;:107,搜「Cohen's kappa」)。

  23. 出处:「Evaluating Fine-Tuned Models」第 111、113 段(text/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:111,搜「0.5 or more」;:113,搜「lowest-confidence」)。 2

  24. 出处:「Evaluating Fine-Tuned Models」第 167、725–755 段(text/08-ch05-chapter-5-evaluating-fine-tuned-models.txt:167,搜「Simulated」;:725,搜「0.02」)。 2