NLP 评估指标与协议
分类: 推理与评估 · 难度: 中级 · 关联讲座: L11
NLP 评估体系涵盖从 n-gram 匹配到语义级评估的多层次指标。本文系统整理三大核心评估场景的数学公式:MMLU 多选题评估协议、SQuAD 的 span-based 评估指标(EM 和 F1),以及 BLEU、ROUGE-L、BERTScore、Bradley-Terry 等通用评估指标。
📐 MMLU 的评估协议
MMLU 格式:57 个学科的多选题(4 选 1),few-shot 评估。
标准评估方式(log-likelihood scoring):
y^=argmaxc∈{A,B,C,D}Pθ(c∣prompt⊕question)
不是让模型生成文本,而是比较四个选项 token 的对数概率。
MMLU 准确率:
Acc=N1∑i=1N1[y^i=yi∗]
MMLU-Pro 的改进:
- 10 个选项(vs MMLU 的 4 个)→ 随机猜测准确率从 25% 降到 10%
- 更多推理题,更少知识检索题
- Chain-of-Thought 提升显著(+15%),说明题目确实需要推理
GPQA 的”Google-proof”设计:
非专家花 30 分钟搜索后仍只有 34% 准确率,专家在本领域达 65%。这确保了:(1)答案不在互联网上直接可搜到 (2)需要真正的专业知识。
📐 SQuAD 的 Span-based 评估指标
SQuAD 任务:给定段落 P 和问题 Q,预测答案 span [s,e](起始和结束位置)。
Exact Match (EM):
EM=N1∑i=1N1[predi=goldi]
预测 span 与标注完全一致才算正确(归一化后比较:去标点、小写化)。
Token-level F1:
P=∣pred tokens∣∣pred tokens∩gold tokens∣,R=∣gold tokens∣∣pred tokens∩gold tokens∣
F1=P+R2PR
允许部分匹配——比 EM 更宽容。
对抗攻击(Jia & Liang 2017)的揭示:
在段落末尾插入一句与问题词汇高度重叠但语义无关的干扰句:
- 原问题:“What city did the Super Bowl take place in?” → 模型正确回答:“Santa Clara”
- 加干扰句:“Jeff Dean played in the Super Bowl in Houston.” → 模型错误回答:“Houston”
模型依赖词汇重叠而非真正理解,EM 从 75% 暴跌到 36%。
📐 核心评估指标公式
BLEU(机器翻译):
BLEU=BP⋅exp(∑n=1441logpn)
其中 pn 是修剪后的 n-gram 精确率,BP 是简短惩罚:
BP={1e1−r/cif c>rif c≤r
c = 候选长度,r = 参考长度。BLEU 只看精确率(不看召回率),BP 补偿过短的翻译。
ROUGE-L(摘要/生成):
RL=∣X∣LCS(X,Y),PL=∣Y∣LCS(X,Y),FL=RL+β2PL(1+β2)RLPL
LCS = 最长公共子序列。ROUGE-L 同时考虑精确率和召回率,且不要求匹配的词连续。
BERTScore(语义级评估):
RBERT=∣x∣1∑xi∈xmaxyj∈yxiTyj
PBERT=∣y∣1∑yj∈ymaxxi∈xxiTyj
其中 xi,yj 是 BERT 上下文化 embedding。每个 token 贪心匹配语义最近的对应 token,不要求位置对齐。
LLM-as-Judge 的 Bradley-Terry 模型(Chatbot Arena):
P(A≻B)=eβA+eβBeβA
从人类偏好投票中用 MLE 估计每个模型的强度参数 β,产生 Elo-like 排名。