第 13 章 大模型评测方法与指标体系¶
开场问题:模型在公开榜单涨了 5 分,真实用户为什么没有感觉,甚至投诉更多?
13.1 先建能力矩阵¶
横轴是任务/能力:知识问答、抽取、代码、数学、工具调用、长上下文、安全等;纵轴是难度、语言、输入长度、用户类型、领域、风险等级。
每个格子明确:样本数、数据来源、指标、门槛和业务权重。公开 benchmark 只覆盖其中少数格子,主要作用是和外部模型建立共同坐标;内部评测才决定是否能上线。
13.2 生成配置是评测的一部分¶
temperature、top-p、max tokens、停止词、是否展示思考、对话模板都会改变结果。贪心解码测稳定能力,采样测分布和 pass@k;两者回答不同问题。
比较模型时必须固定配置,或者为每个模型使用其官方推荐模板并明确说明。把 instruct 模型套错 chat template 再比较,是常见但严重的不公平。
13.3 确定性任务与生成式任务¶
选择题、数值题、代码测试可以自动判分,但解析器必须稳健:模型输出“答案是 (C)”不能因为不等于字符串“C”就判错;同时不能用过宽正则从一段矛盾文本里捞出碰巧正确的字母。
开放回答没有唯一字符串,需要:
- 基于事实单元的匹配。
- rubric 分项评分。
- 成对比较。
- 人工专家评审。
指标越自动,规模越大;判断越细,成本和噪声越高。可靠方案通常分层:全量自动评测 + 小规模高质量人工复核。
13.4 pass@k 与采样预算¶
代码和数学常报告 pass@k:采样 k 次,至少一次正确的概率。它衡量模型是否“有能力偶尔找到答案”,不等于单次产品体验。
必须同时报告 pass@1、采样温度和总 token 预算。通过把 k 从 1 提到 100 获得高分,实际成本可能不可接受。对推理模型更应报告 accuracy-token Pareto:多想一倍是否真的值。
13.5 均值会隐藏什么¶
总体 80% 可能由简单题 95%、关键高风险题 40% 组成。必须做切片,并报告每个切片置信区间。
两个模型只差 0.5 分时,先问是否超过评测噪声。对同一批题的成对 bootstrap 比较比独立均值更有力;judge 评测还要考虑判官自身随机性。
13.6 离线和线上为什么会不一致¶
离线集固定、干净、通常是单轮;线上输入会漂移、信息不完整、多轮依赖、带恶意内容,还受检索与工具故障影响。
上线后要看任务成功、重试、用户改写、人工接管、投诉、token 成本和延迟,而不只是点赞率。点赞有强选择偏差:只有部分用户愿意点,且常受语气和速度影响。
核心问答¶
Q:公开榜单还有价值吗? 有,适合外部坐标和通用回归;不能替代贴近业务分布、带真实约束的内部评测。
Q:为什么温度必须记录? 它改变输出分布和 pass@k。不同温度下的单次准确率不可直接比较。
Q:选择题为什么也会评错? 模型输出格式多样,解析器过严会误杀、过宽会从矛盾文本中捞答案。解析协议必须单测。
Q:线上点赞能当最终指标吗? 不能单独用。它受用户选择、语气、速度和幸存者偏差影响,应与任务成功和人工抽检结合。