跳转至

评测与实验设计

本章导读:评测是大模型面试里最容易被低估的部分。候选人往往能讲模型结构,却说不清“你的提升几个点是怎么来的、测试集有多大、标注一致性多少、线上为什么没涨”。本章把离线评测、LLM-as-judge、RAG/Agent 评测、A/B 实验和统计显著性串成一套可落地的实验设计方法。

阅读建议:先建立第 1 节的“评测分层”,再重点看第 2、3 节的污染与 judge 偏差,最后用第 8 节的算例练习样本量与归因。

核心要点

  • 评测的第一原则是“指标和业务目标对齐”;离线准确率不等于线上满意度。
  • 测试集要冻结、分层、去重、防污染;训练集与测试集必须做同源检查,而不只是随机切分。
  • Benchmark 污染要从 n-gram、embedding、时间切分、扰动变体多个角度检测;发现后不能只删题,要重建测试集。
  • LLM-as-judge 有位置、长度、自我偏好等偏差;必须交换顺序、控制长度、用人工标注校准,并报告一致性。
  • RAG 评测要分层:检索层看 Recall@k/MRR/nDCG,生成层看忠实度/正确性/引用,端到端看任务成功率。
  • Agent 评测要看结果、轨迹、成本、安全与恢复能力,不能只看最终答案。
  • A/B 实验要预先定义主指标、护栏指标、样本量、实验周期;不要看到显著就停,也不要忽略多重比较。
  • 离线涨点线上不涨,常见原因是分布差异、指标错位、污染、延迟/成本、用户行为变化。
  • 任何百分比都要能还原分子/分母,并给出置信区间或方差;单次运行的小数点提升没有意义。
  • 评测集是资产:要版本化、定期更新、保留难例与真实 badcase,而不是一次性造完就冻结十年。

1. 评测分层

1.1 四层评测

层级 评什么 典型指标 成本 用途
单元/能力 单项能力 准确率、EM、F1、Pass@k 低 快速迭代、回归
任务/场景 端到端任务 任务成功率、满意度、引用正确率 中 版本对比、上线门槛
系统/产品 完整链路 转化率、留存、转人工率、成本 高 业务决策
安全/合规 风险 越权率、注入成功率、泄漏率 中 红线校验

1.2 离线与线上

  • 离线:可复现、便宜、覆盖难例;但可能与真实分布不一致。
  • 线上:真实用户、真实流量;但有滞后、干扰、伦理与成本约束。
  • 影子流量:新模型只记录不展示,适合高风险场景的预验证。
  • 灰度:小流量放量,观察主指标与护栏指标。

面试表达:离线评测回答“模型有没有变好”,线上实验回答“产品有没有变好”,两者不能互相替代。

2. 测试集构造与污染

2.1 构造流程

  1. 定义能力维度:知识、推理、指令遵循、长上下文、工具调用、安全。
  2. 分层采样:按业务场景、难度、长度、语言、租户分层,避免头部场景主导。
  3. 标注:写清标注协议、边界案例、拒答标准;双人标注 + 第三人仲裁。
  4. 难度校准:太简单会饱和,太难全是 0;保留易/中/难比例。
  5. 冻结与版本:测试集只增不改,改动要升版本;训练侧不可见。
  6. 定期更新:防止过拟合与污染;保留一个“从未公开”的 holdout。

2.2 污染来源

  • 预训练语料直接包含测试题/答案;
  • 训练数据由 benchmark 生成或改写;
  • 合成数据时模型“见过”原题;
  • 检索库包含测试答案;
  • 评测 prompt 与训练 prompt 高度相似;
  • 多次调参对测试集过拟合(测试集变成了验证集)。

2.3 检测方法

方法 做法 优点 局限
n-gram 重叠 训练集与测试集做 8–13 gram 匹配 简单、可解释 改写/翻译可绕过
Embedding 相似 向量近邻检索 抓语义近似 阈值难定、算力成本
时间切分 只用模型 cutoff 之后的数据 最可靠 需要时间戳
扰动变体 改数字、换问法、加干扰 检测记忆 只能抽样
生成式探测 让模型补全题目/答案 直观 可能误判
性能异常 某 benchmark 异常高 快速预警 需基线

发现污染后,正确做法是重建测试集或换 holdout;只删掉高分行会掩盖问题。

3. LLM-as-judge

3.1 常见偏差

  • 位置偏差:偏好第一个/最后一个回答;
  • 长度偏差:偏好更长、更详细的回答;
  • 自我偏好:偏好同家族模型的输出;
  • 格式偏差:偏好 Markdown、分点、加粗;
  • 谄媚偏差:容易被“请给高分”影响;
  • ** rubric 漂移**:不同批次评分标准不一致。

3.2 降低偏差

  1. 交换顺序:A/B 与 B/A 各评一次,取一致结果或平均。
  2. 控制长度:截断到相近长度,或把长度作为显式惩罚。
  3. ** rubric 明确**:给出 1–5 分的行为锚点,而不是“好不好”。
  4. 多 judge:不同模型/提示投票,降低单模型偏好。
  5. 人工校准:抽 100–300 条人工标注,计算与 judge 的一致性。
  6. 盲评:隐藏模型名、版本、来源。
  7. 温度 0 + 固定模板:减少随机性;但不要假设完全确定。

3.3 一致性指标

  • 准确率/一致率:judge 与人工标签相同的比例;
  • Cohen's kappa:
\[ \kappa=\frac{P_o-P_e}{1-P_e} \]

其中 \(P_o\) 是观察到的一致率,\(P_e\) 是随机期望一致率。Landis & Koch 的常用解读:<0 差,0–0.2 轻微,0.2–0.4 一般,0.4–0.6 中等,0.6–0.8 较强,0.8–1.0 几乎完全一致。

  • Krippendorff's alpha:适合多标注者、缺失值、不同量表;
  • Spearman/Pearson:judge 分数与人工分数的相关性,适合连续评分。

面试点:只说“用 GPT-4 打分”不够,要说明 rubric、顺序交换、人工校准和一致性。

4. RAG 评测

4.1 分层指标

层 指标 定义 说明
检索 Recall@k 召回的 relevant / 全部 relevant 最关心“有没有漏”
检索 Precision@k 召回的 relevant / k 关心噪声
检索 MRR 第一个 relevant 的倒数排名 关心排序
检索 nDCG@k 考虑等级与位置 多级相关性
生成 Faithfulness 回答是否有上下文依据 幻觉/忠实度
生成 Answer Correctness 与标准答案一致 需 gold answer
生成 Citation Accuracy 引用是否支持对应陈述 引用错位
端到端 Task Success 用户任务是否完成 业务口径

4.2 评测集构造

  • 每条样本:query、gold answer、gold doc IDs、难度、场景、权限标签;
  • 覆盖:单跳、多跳、比较、否定、时间敏感、无答案(应拒答);
  • 负例:检索不到时应拒答,不能强行编造;
  • 分层报告:不要只给一个总分,按场景/难度拆开。

4.3 归因

  1. gold doc 是否在召回集合?不在 → 检索/切分/embedding 问题;
  2. 在但排名低?→ 排序/融合/rerank 问题;
  3. 排名高但被截断?→ 上下文预算/组装问题;
  4. 上下文有证据但答错?→ 生成/推理/指令冲突;
  5. 引用错位?→ 引用对齐/后处理问题。

面试表达:先做“检索上限”实验——把 gold doc 直接塞进上下文,看生成上限;如果上限都低,先修生成,不要盲目调召回。

5. Agent 评测

5.1 指标

  • 结果:任务成功率、Pass@k、答案正确率;
  • 过程:步数、工具调用次数、token、延迟、轨迹合规率;
  • 鲁棒:工具超时/报错/歧义指令下的恢复率;
  • 安全:越权率、注入成功率、敏感信息泄漏率;
  • 成本:每任务成本、每成功任务成本。

5.2 环境

  • 模拟 API/文件系统/网页,保证可复现;
  • 固定初始状态与随机种子;
  • 工具故障注入(超时、500、空结果);
  • 记录完整 trace,支持回放;
  • 任务集分层:简单/中等/困难、单工具/多工具、只读/写入。

5.3 轨迹评估

不只看最终答案,还要看:

  • 是否调用了必要工具;
  • 是否有冗余/重复调用;
  • 是否绕过权限或审批;
  • 失败后是否恢复;
  • 是否在预算内终止。

5.4 常见陷阱

  • 只测 happy path,工具一报错就崩;
  • 任务集与训练集重叠;
  • 用最终答案 judge 代替轨迹检查;
  • 不控制模型版本/温度,结果不可复现;
  • 忽略成本,成功率略升但成本翻倍。

6. A/B 实验

6.1 设计步骤

  1. 假设:明确改动、预期影响、作用机制。
  2. 主指标:一个,和业务目标直接相关。
  3. 护栏指标:延迟、成本、错误率、投诉率、安全。
  4. 分流:随机、稳定、同质;按用户/会话分流,避免同一用户跨组。
  5. 样本量:根据基线、最小可检测效应、α、power 计算。
  6. 周期:覆盖至少一个完整业务周期,警惕新奇效应。
  7. 分析:置信区间、显著性、异质性、多重比较校正。

6.2 样本量估算

两比例检验的近似:

\[ n\approx\frac{2(z_{\alpha/2}+z_\beta)^2\,p(1-p)}{\delta^2} \]

其中 \(n\) 是每组样本量,\(p\) 是基线比例,\(\delta\) 是最小可检测的绝对提升。

算例:基线 50%,希望检测 1 个百分点提升,α=0.05(\(z=1.96\)),power=80%(\(z=0.84\)):

\[ n\approx\frac{2(1.96+0.84)^2\times0.25}{0.01^2}\approx39{,}200 \]

每组约 3.9 万样本。若日流量只有几千,实验要跑很久,或者接受更大的最小可检测效应。

6.3 常见偏差

  • Peeking:每天看显著性,显著就停,抬高假阳性;
  • 多重比较:同时看十几个指标,总有一个显著;
  • 辛普森悖论:分组后趋势反转,需分层分析;
  • 干扰:实验组影响对照组(社交、供需、缓存);
  • 新奇效应:用户短期好奇,长期回落;
  • 选择偏差:分流不随机或样本被过滤。

6.4 离线涨点线上不涨

原因 表现 处理
分布差异 离线集与真实流量长度/场景不同 按线上分布重加权、分层
指标错位 离线准确率↑,线上满意度不变 换业务指标、做用户研究
污染 离线测试集泄漏 时间切分、重建 holdout
延迟/成本 质量略升但响应变慢 看护栏指标、做权衡
用户行为 用户看到更好答案后追问更多 看会话级指标
统计不显著 提升在噪声范围内 置信区间、增加样本

7. 评测集与实验管理

7.1 版本化

  • 数据集版本、标注协议版本、模型版本、prompt 版本、评测代码版本;
  • 每次实验记录配置与随机种子;
  • 结果表包含均值、方差、样本量、置信区间;
  • 失败样本留存,供回归测试。

7.2 回归集

  • 从线上 badcase、历史事故、边界案例中积累;
  • 每次模型/prompt/工具变更都跑;
  • 分“红线”(必须通过)与“观察”(允许波动);
  • 控制规模:核心 200–500 条,全量几千条。

7.3 人工评估

  • 标注手册 + 培训 + 试标;
  • 双人标注,计算 kappa;
  • 分歧仲裁,记录原因;
  • 盲评、随机顺序;
  • 定期校准,防止标注漂移。

8. 面试高频问题

Q1:你的提升几个点,测试集多大?怎么保证显著?

  • 给出测试集规模、构造方式、基线、绝对值与置信区间。
  • 单次小数提升不可信;多次运行或 bootstrap 估方差。
  • 若样本小,说明效应量与不确定性,不要强行说显著。

Q2:怎么检测 benchmark 污染?

  • n-gram、embedding、时间切分、扰动变体、生成式探测。
  • 发现后重建 holdout,而不是只删高分样本。
  • 训练数据来源要记录,合成数据要标记。

Q3:LLM-as-judge 可靠吗?

  • 有条件可靠:rubric 清晰、顺序交换、长度控制、人工校准。
  • 报告与人工的一致性(kappa/准确率),不要只报分数。
  • 高风险场景用人工或规则兜底。

Q4:RAG 怎么评测?

  • 检索层 Recall@k/MRR/nDCG;生成层 Faithfulness/Correctness/Citation;端到端任务成功率。
  • 分场景/难度报告;构造无答案样本测拒答。
  • 先做 gold doc 上限实验,分离检索与生成问题。

Q5:Agent 怎么评测?

  • 结果 + 轨迹 + 成本 + 安全 + 恢复。
  • 模拟环境、故障注入、固定种子、trace 回放。
  • 不能只看最终答案,否则会漏掉越权/冗余/死循环。

Q6:A/B 实验要跑多久?

  • 根据基线、最小可检测效应、α、power 算样本量。
  • 覆盖完整业务周期,避免新奇效应。
  • 不要 peeking;必要时用序贯检验并校正。

Q7:离线涨点线上不涨,怎么排查?

  • 分布、指标、污染、延迟、用户行为、统计显著性六层。
  • 先看线上分布与离线是否一致,再看护栏指标。
  • 用影子流量/灰度验证,不要直接全量。

Q8:人工评估几个人?一致性怎么算?

  • 至少双人,复杂任务三人仲裁。
  • 用 Cohen's kappa/Krippendorff's alpha,报告置信区间。
  • 一致性低时先修标注手册,不要强行平均。

Q9:怎么构造一个有区分度的评测集?

  • 分层采样、难度校准、负例与拒答、真实 badcase。
  • 避免饱和:太简单的题删掉或降权。
  • 保留 holdout,定期更新。

Q10:怎么评估幻觉?

  • 定义:无依据陈述、事实错误、引用错误要分开。
  • 方法:人工标注、NLI/事实验证、LLM-judge + 证据。
  • 报告分母与标注一致性;不要只给一个“幻觉率”。

本文档为面试复习资料,统计方法与指标定义建议结合实验设计教材与业务实践复核。