想象你要去体检。体检之前,医生一定会问:这次体检是为了什么?是入职筛查、年度健康检查,还是针对某个疑似症状的专项检查?目的不同,体检项目完全不同——入职体检不会给你做全套基因检测,年度体检也不会只测一个血压。AI 模型的评测,本质上就是给模型做一次科学体检。评测目标设定、数据集构建、指标选择、结果分析、偏差控制、持续迭代——每一个环节都对应着体检中的“为什么体检”“测哪些项目”“用什么仪器”“怎么读报告”“如何避免误诊”“要不要定期复查”。本文用这个贯穿始终的体检比喻,带你系统掌握 AI 评测设计的最佳实践:从需求分析到方案落地,建立一套科学、可复现、可扩展的评测体系。

岗位关联

学会评测设计,你就能为团队搭建可信的“模型体检中心”,让每一次模型选型与技术改进都有数据支撑,避免拍脑袋决策,这是 AI 工程师与评测团队的核心竞争力。

目录
  1. 可视化演示
  2. 评测目标分析
  3. 指标体系设计
  4. 数据集构建
  5. 评测方案设计
  6. 结果统计分析
  7. 偏差与公平性
  8. 迭代与复现
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示AI评测设计从目标设定、数据构建、指标选择到结果分析的四阶段方法论,含评测类型分类、数据三原则、指标匹配矩阵与多层分析方法。

本节配有交互动效(进入视口后自动加载,约 3KB)。

评测目标设定与分类 评测目标分选型、回归、监控三类,决定数据集设计和指标选择方向 目标 → 数据 → 指标 → 分析 明确评测目标是科学评估的起点。

评测目标分析

体检的第一步永远是回答“为什么体检”。一个没有明确目的的体检,要么项目过多浪费钱,要么项目过少漏掉关键问题。AI 评测也是如此。很多团队上来就套用公开数据集跑几个指标,结果报告出来老板问“所以呢?这个模型能用吗?”——答不上来。评测目标,就是给这次“模型体检”定下基调:是为了在多个模型中选型?还是为了评估新版本能否上线?还是为了定位模型在哪些场景下表现不佳?

目标定了,接着要回答“给谁体检”“在什么场景下体检”。这里的“用户”不只是最终使用者,还包括评测报告的读者:算法工程师关心错误分布,产品经理关心业务指标,管理层关心成本与收益。业务场景约束同样关键——一个在实验室精度很高的模型,放到线上可能因为延迟、噪音数据、长尾分布而大幅退化。评测目标分析就是把这些问题在动手前全部写清楚,形成一份“体检申请单”。

在实践中,常用 GQM(Goal-Question-Metric)方法将模糊目标拆解为可度量问题:先写目标(Goal),再列问题(Question),最后映射到指标(Metric)。例如目标是“提升客服机器人的用户满意度”,问题可以是“机器人能否正确识别用户情绪?”,指标则是对应情绪分类的召回率。目标分析阶段不选具体指标,但要在预期结果上对齐:这次评测的通过标准是什么?多大差异才算“更好”?这些在评测开始前就要达成共识。

就像体检前医生会和你确认家族病史和生活习惯,评测目标分析让所有相关方在起点就对齐。跳过这一步的评测,就像不问病史直接开检验单,报告再漂亮也可能是废纸。目标分析不是一个可选的仪式,而是整个“模型体检中心”的地基——地基歪一寸,上面的所有环节都会歪一丈。

指标体系设计

体检报告上的每一个数值,都对应一个精心设计的检查项目。AI 评测的指标体系,就是决定“测什么、怎么算”的标尺。最基础的是准确率(Accuracy),它回答“所有判断中猜对的比例”。但在很多真实场景中,准确率会撒谎。想象一个罕见的病,患病率只有 1%,医生无论什么症状都判断“没病”,准确率也有 99%——但这个模型毫无用处。因此,我们不能只看一个总分数,而要看模型在每一类上的表现。

这时就需要引入两个更精细的标尺:精确率(Precision)和召回率(Recall)。精确率回答“模型说有病的人里,多少真的病了?”——它惩罚误报;召回率回答“真正有病的人里,模型找回了多少?”——它惩罚漏报。两者天然的此消彼长就像鱼与熊掌:把诊断阈值调严格,查出的人更准但更少;调宽松,查出的人更多但有更多误报。

当精确率和召回率互相拉扯时,我们需要一个综合指标来找到平衡点。F1 值就是精确率和召回率的调和平均——它不像算术平均那样允许一个极高值掩盖另一个极低值,而是强制两者都高时 F1 才会高。这就像体检中“血压+血糖”的综合评分:任何一项爆表,综合评分都不会好看。

除了这些经典指标,指标体系设计还要回到业务:推荐系统的评测要加 CTR 预估准确率,风控模型要关注坏账率,对话系统要评估用户留存。最好的评测指标不是最漂亮的,而是与业务目标对齐的。就像体检套餐因职业而异——飞行员要查视力与心肺功能,程序员要查颈椎与腰椎,指标永远服务于“那个人”的真实需求。

P=TPTP+FP\displaystyle P = \frac{TP}{TP + FP}
F1 是精确率 P 与召回率 R 的调和平均。P 或 R 任何一个偏低,F1 都会被显著拉低。
  1. P 乘 R精确率与召回率相乘,一个为零结果就为零,体现“短板效应”。
    P×RP \times R
  2. P 加 R两者之和作为分母,起到归一化作用。
    P+RP + R
  3. 乘以 2使调和平均的取值范围保持在 0 到 1 之间,便于横向对比。
    2×P×RP+R2 \times \frac{P \times R}{P + R}

数据集构建

体检项目清单确定后,下一个问题是:用什么样本、在哪里测?评测数据集的构建,决定了体检报告的可信度。首先,数据来源必须可靠。公开数据集方便但不能盲目信任——它和你真实业务场景的分布一致吗?购物网站的评论数据拿去做医疗意图识别,就像用飞行员的体检标准来检查程序员,结果毫无参考价值。优先从真实业务日志中采样,才能保证评测结果能代表线上表现。

样本代表性是第二个关键。如果业务中 80% 的请求是简单问题,那评测集也应该大致保持这个比例,而不是为了“难度均衡”人为制造一个简单占 20% 的分布。当然,对少数类进行适当过采样是允许的——但要清楚标注,并且知道这会改变评测的“人口结构”。就像体检报告会注明“空腹血糖”,数据集的分布也应当被透明记录。

标注质量是数据集构建中最容易被低估的一环。一个标注错误就是一次误诊。实践中的做法包括:多人独立标注同一批样本、计算标注一致性(如 Cohen's Kappa)、抽检复核。最后是数据划分策略:训练集、验证集、测试集必须严格独立,测试集绝不能参与任何形式的训练或调参。可以在时间维度上划分(如用上个月的数据训练、这个月的数据评测),也可以在业务维度上划分(如用 A 城市的日志评测、B 城市的日志做验证),但原则只有一个——测试集要像“密封的试卷”,不到考试时刻绝不能拆封。

如果测试集样本量过小,评测结果的波动会很大。样本量可以用简单公式估算:

构建数据集就像准备体检用的血液样本:来源要合规(数据授权)、保存要规范(版本管理)、数量要足够(样本量计算)。一份仓促拼凑的数据集,会让后面所有的精妙分析都建立在流沙之上。体检中心最怕血样被污染,评测团队最怕数据集失真——它们都会让报告看起来没问题,但结论完全不可信。

n=z2×p×(1−p)E2\displaystyle n = \frac{z^2 \times p \times (1-p)}{E^2}
n 是所需评测样本数,z 是置信水平对应的系数,p 是预估的正例比例,E 是允许的误差范围。
  1. z 置信系数95% 置信度对应 z=1.96,99% 对应 z=2.576,越自信需要的样本越多。
    z2z^2
  2. p 与 1-p当 p=0.5 时乘积最大,此时需要的样本量也最大,是最保守的估计。
    p×(1−p)p \times (1-p)
  3. E 误差容限允许评测结果偏离真实值的最大范围,例如 E=0.03 表示允许 ±3% 的波动。
    E2E^2
  4. 整体比值分子越大需要样本越多,分母(误差)越小需要的样本也越多。
    z2×p×(1−p)E2\frac{z^2 \times p \times (1-p)}{E^2}

评测方案设计

数据集好比体检的“化验标本”,评测方案则是“操作流程”。一份科学的体检流程会规定:前一天晚上要空腹、测量血压前要静坐五分钟、抽血要按固定顺序——这些都是为了排除非目标因素对结果的干扰。AI 评测方案设计同样如此:先选基准(Benchmark),再设基线(Baseline),统一环境,最后考虑盲评。

选基准要回答“跟谁比”。行业公开基准(如 GLUE、MMLU)适合横向对比,但更重要的是设置一个合理的业务基线——现有线上模型、规则系统或者简单启发式方法。没有基线的评测就是一串没有刻度的温度计:0.8 分是冷是热?完全取决于参照物。基线模型通常是当前线上版本或最朴素的实现,它界定了“新模型至少要比现状好多少”。

评测环境规范经常被忽略但极其致命。硬件型号、推理框架、批次大小、随机种子、温度参数(LLM 解码用)都必须统一记录。两张 RTX 4090 跑出的延迟和一张 A100 跑出的不可直接对比,这就像用不同精度的温度计测体温,数值再精确也没有意义。规范做法是写成环境清单,与评测结果一并归档。此外,如果评测涉及人工评分(如对话质量、内容质量),应采用盲评设计——评估者不知道哪个回答来自哪个模型,避免主观偏袒。

评测方案设计的高阶形态是“双盲+多次运行”:评估者不知道模型身份,同一评测多次运行取平均。这就像药品临床试验中的对照组设计——不排除期望效应的评测,结论可能只是“安慰剂效应”。好的评测方案要让一切干扰因素“无机可乘”,留下唯一的变量:模型本身的优劣。

结果统计分析

体检报告出来后,医生不会只看一个孤零零的数字就下结论,而是要结合参考范围、多次测量和统计学判断。AI 评测的结果分析同样如此。很多团队直接比较两个模型的准确率——A 是 88.1%,B 是 88.3%,于是欢呼“B 赢了”。但如果这只是单次评测的偶然波动呢?置信区间(Confidence Interval, CI)就是回答“这个分数有多可靠”的工具:

当两个模型的置信区间重叠时,说明“谁更好”在统计上无法断言。这时需要更精确的工具——显著性检验。两个比例的 z 检验可以判断差异是否大概率不是偶然:

除了统计检验,误差分析同样重要:模型错在哪些样本上?这些错误集中在什么类别或模式中?把错误样本按类型归组、可视化呈现(混淆矩阵、PR 曲线、错例抽样),往往比一个 p 值更有行动指引——它告诉你“下一步该优化哪里”。就像医生看完化验单还要再看影像片,统计数字给出结论,误差分析给出病因和治疗方向。一份合格的评测报告,应当同时包含统计判断和错误案例解读,让读者既知道“谁赢了”,也知道“赢在哪里、输在哪里”。

CI=p^±z×p^(1−p^)n\displaystyle CI = \hat{p} \pm z \times \sqrt{\frac{\hat{p}(1-\hat{p})}{n}}
z 值衡量两个模型性能差异相对于抽样波动的倍数。|z| > 1.96 时差异在 95% 置信水平下显著。
  1. p̂1 与 p̂2两个模型各自在评测集上得到的准确率。
    p^1−p^2\hat{p}_1 - \hat{p}_2
  2. 合并比例把两个评测集的正确样本合并后得到的总体比例,作为波动基准。
    p^(1−p^)\hat{p}(1-\hat{p})
  3. 合并标准误考虑两个样本量,样本量越大,标准误越小,差异越容易显著。
    p^(1−p^)(1n1+1n2)\sqrt{\hat{p}(1-\hat{p})(\frac{1}{n_1} + \frac{1}{n_2})}
  4. 比值差异是标准误的几倍,就是 z 值。超过 1.96 即显著。
    p^1−p^2p^(1−p^)(1n1+1n2)\frac{\hat{p}_1 - \hat{p}_2}{\sqrt{\hat{p}(1-\hat{p})(\frac{1}{n_1} + \frac{1}{n_2})}}

偏差与公平性

体检最怕误诊——明明没问题说有问题,或者反过来。造成误诊的往往不是仪器不行,而是操作过程引入了偏差。AI 评测中的偏差也有类似来源。采样偏差是最常见的一种:评测集只覆盖了业务的一小部分场景。例如一个外卖配送时间预估模型,评测样本全来自市中心,那在郊区的表现就完全没测到。识别采样偏差的方法是画分布对比图:训练分布 vs 评测分布 vs 真实业务分布,差距过大就要警惕。

标注者偏差则来自“质检员”本身。如果标注规则模糊,不同标注者对同一条样本可能给出不同标签。更隐蔽的是“标注漂移”——标注员在标了 5000 条后开始疲劳,标准逐渐放松。控制方法包括:明确标注手册、随机插入已知答案的校验题、定期计算标注一致性。数据泄漏是评测中最危险的偏差:测试集样本混入训练集(或被模型通过记忆“偷看”)。在 LLM 时代尤其棘手——公开数据集可能已经被模型在预训练阶段见过。防护办法是构建私有评测集,或至少用与已知训练数据相似度去重的样本。

公平性评估要求我们检查模型在不同群体(性别、年龄、地域等)上的表现差异。一个招聘筛选模型在男性简历上的召回率显著高于女性简历,即使整体准确率很高,这个模型也不能上线。评测时应对敏感属性分组计算指标,用差异检验判断是否存在系统性偏差。

偏差与公平性控制,本质上是给“体检设备”做校验。医院会定期校准 CT 机,会用标准品测试试剂盒;评测团队也应当把“反偏差检查”作为常规流程而非事后补救。一次没有偏差检查的评测,就像一台未校准的血压计——读数再精确,也只是精确地错了。

迭代与复现

体检不是一次性的:今年查完明年还要复查,身体变化需要纵向对比。AI 评测同样需要持续迭代与严格复现。评测集要随业务演进更新——用户行为变了、数据分布漂移了,旧评测集就会像过时的体检标准,无法反映当前问题。建议定期(如每季度)从最新业务数据中补充评测样本,但要注意保持难度不泄露——否则评测集会被模型“背下来”。

回归评测是每次模型更新时的必做动作:新版本除了看新指标,还要在旧评测集上跑一遍,确保“修好了一个 bug 没有引入两个新 bug”。这就像复查时不仅看当前指标,还要对比历史档案。评测版本管理分为两层:数据集的版本(增加样本、修正标注都算新版本)和评测流程的版本(代码、环境、随机种子都记录)。建议使用数据版本控制工具(如 DVC)管理数据集变更,评测脚本全部纳入 Git 仓库,保证任何历史结果都能复现。

最后是评测报告规范。一份好的评测报告应包含:评测目的、数据集描述(含分布与样本量)、环境信息(硬件与版本)、指标定义、统计显著性结论、错误案例分析、局限性与已知偏差。报告模板化、自动生成,让评测结果可追溯、可对比、可审计。

就像医院为每位病人建立终身健康档案,评测体系和报告规范也为每个模型的“健康史”留下完整记录。好的评测体系不是一次性的工程,而是一个持续进化的“模型体检中心”。它让团队在任何时间点都能回答三个问题:当前模型表现如何?比起上版是进步还是退步?这个结论可信吗?——这就是评测设计最佳实践的全部追求。

AI 应用场景

大模型选型评测(LLM 为客服机器人选型)

阶段:评测目标分析与方案设计

解决的问题:某电商公司要从多个 LLM API 中选一个做智能客服。传统做法是每个模型试用一周凭感觉判断,主观且无法横向比较。AI 评测方法论将目标细化为“问题回答正确率”“情绪安抚合格率”“拒绝回答率”三个指标,并构建 500 条真实客服问题作为盲评数据集,最终用置信区间与显著性检验选出最优模型。

具体案例:团队从历史工单中随机采样 500 条用户问题,覆盖售前、售后、物流、退换货四类场景;三轮独立人工评分,标注一致性达到 0.82;两个候选模型的回答准确率分别为 82% 和 85%,但置信区间重叠后,显著性检验表明差异并不显著,最终选择成本更低的那个。

智能风控模型上线前评测

阶段:数据集构建与结果分析

解决的问题:银行风控模型误判代价极高——放过一个坏人损失巨大,冤枉一个好人则损害用户体验。传统评测只看准确率,在 99% 好人、1% 坏人的极端不平衡数据上毫无意义。评测方法论改为同时观测召回率和 F1,并专门做坏客户的召回曲线分析。

具体案例:评测团队从近一年交易流水构建测试集,严格按时间划分防止数据泄漏。新模型对欺诈交易的召回率从 68% 提到 83%,精确率仅下降 2 个百分点,F1 值显著提升。通过 5 次分层采样重跑评测,置信区间显示差异稳定显著,模型获准上线。

推荐系统持续迭代评测

阶段:迭代与复现

解决的问题:推荐系统的用户行为分布每周都在变,一套固定评测集跑三个月就会失真。传统做法是每版模型都重新采样评测,导致新旧结果无法对比。评测方法论通过评测集版本管理、回归评测和报告模板化,建立了可持续迭代的评测体系。

具体案例:团队每两周更新一次评测集(新增最近两周的用户点击数据),同时保留上版评测集做回归对比。评测报告自动生成,包含 CTR 预估准确率、覆盖率、多样性等指标的趋势图。新模型上线后发现在个性化多样性上有退步,回归评测在第三天就发现了问题,避免了更大范围的线上损失。

Python 演示

python49 行
import mathfrom collections import Counter def confusion_matrix(y_true, y_pred, positive=1):    tp = sum(1 for t, p in zip(y_true, y_pred) if t == positive and p == positive)    tn = sum(1 for t, p in zip(y_true, y_pred) if t != positive and p != positive)    fp = sum(1 for t, p in zip(y_true, y_pred) if t != positive and p == positive)    fn = sum(1 for t, p in zip(y_true, y_pred) if t == positive and p != positive)    return tp, tn, fp, fn def precision_recall_f1(tp, fp, fn):    precision = tp / (tp + fp) if (tp + fp) else 0.0    recall = tp / (tp + fn) if (tp + fn) else 0.0    f1 = 2 * precision * recall / (precision + recall) if (precision + recall) else 0.0    return precision, recall, f1 def confidence_interval(acc, n, z=1.96):    se = math.sqrt(acc * (1 - acc) / n)    return acc - z * se, acc + z * se def evaluate(y_true, y_pred):    tp, tn, fp, fn = confusion_matrix(y_true, y_pred)    accuracy = (tp + tn) / len(y_true)    precision, recall, f1 = precision_recall_f1(tp, fp, fn)    ci_low, ci_high = confidence_interval(accuracy, len(y_true))    return {        "accuracy": accuracy,        "precision": precision,        "recall": recall,        "f1": f1,        "ci": (ci_low, ci_high),        "confusion": {"tp": tp, "tn": tn, "fp": fp, "fn": fn},    } def main():    y_true = [1, 0, 1, 1, 0, 1, 0, 0, 1, 0,              1, 0, 1, 0, 0, 1, 1, 0, 1, 0]    y_pred = [1, 0, 0, 1, 0, 1, 1, 0, 1, 0,              1, 1, 1, 0, 0, 0, 1, 0, 1, 0]    report = evaluate(y_true, y_pred)    for key, value in report.items():        if key == "ci":            value = tuple(round(v, 4) for v in value)        elif isinstance(value, float):            value = round(value, 4)        print(f"{key}: {value}") if __name__ == "__main__":    main()
目的:实现一个完整的模型评测流水线,覆盖混淆矩阵计算、精确率/召回率/F1 求值、置信区间估计,输出格式化评测报告。
  1. tp = sum(1 for t, p in zip(y_true, y_pred) if t == positive and p == positive)逐对对比真实标签与预测标签,统计样本中真正例数量,这是后续所有指标的基础原料。
  2. precision = tp / (tp + fp) if (tp + fp) else 0.0计算精确率。注意处理了分母为零的边界情况,避免除零错误。
  3. f1 = 2 * precision * recall / (precision + recall) if (precision + recall) else 0.0F1 值即精确率与召回率的调和平均,任何一方偏低都会拉低最终得分。
  4. se = math.sqrt(acc * (1 - acc) / n)计算标准误,衡量评测结果因抽样产生的波动幅度。
  5. ci_low, ci_high = confidence_interval(accuracy, len(y_true))得到 95% 置信区间,让读者知道准确率“大约在什么范围内”。
  6. report = evaluate(y_true, y_pred)一次性计算所有指标并打包成字典,体现评测报告的标准化结构。
  7. if __name__ == "__main__":脚本入口保护,让模块既可被导入也可独立运行。

常见误区

误区我训练了一个模型,在测试集上准确率有 98%,肯定比那个 95% 的强,直接上线准没问题。

正解准确率在类别不平衡时极易骗人。如果 98% 的样本是负类,模型只需要把所有样本都判为负类就能拿到 98% 的准确率。就像体检只测“身高”一项,数据再精确也无法反映心血管健康。必须结合精确率、召回率和 F1 以及业务场景综合判断,必要时还要看混淆矩阵和错误分布。

为何常见:因为准确率的定义最简单直观,天然成为大多数人的第一反应。而人们往往忽略了“总分高”不等于“关键指标好”这一朴素道理。

误区评测样本应该多多益善,我干脆把三个月的历史数据全塞进测试集,这样一定最科学。

正解样本量只是影响可靠性的一方面,样本与业务分布的一致性更重要。如果测试集来自三个月前的旧分布,而现在业务已经变了,评测结果就是“用错血型测血常规”。此外,把过多数据划入测试集可能压缩训练数据,反噬模型效果。科学的做法是按业务分布抽样,并用样本量公式估算最小所需数量,而不是无脑堆量。

为何常见:直觉上“数据越多越准”是对的,但评测需要的是真正反映当前业务分布的代表性样本,而不是盲目堆叠过时或冗余的数据。

误区我拿验证集里的样本加了几个到测试集里,反正只是增加一点评测数据,模型又没直接见过测试集的标签。

正解这是标准的数据泄漏。测试集一旦参与了任何形式的开发决策(包括人工筛选样例、基于测试反馈调参),评测结果就会过度乐观。就像考试前把答案看了一遍,考 100 分也不能证明能力。更隐蔽的是 LLM 场景下公开评测集可能已经在预训练中“见过”——这要求评测团队建立私有评测集或严格做去重。独立、密封的测试集是评测可信的生命线。

为何常见:开发者在寻找“更好的测试集”时,往往只看到了样本数量的提升,忽略了独立性与泄漏风险,这是“图省事”心态和统计知识不足的混合产物。

误区离线评测 A/B 模型,F1 涨了 5%,上线后业务收益一定也会涨 5%。

正解离线指标与线上业务目标是两回事。离线评测用的是历史数据,线上场景包括实时噪音、延迟反馈、用户行为变化。离线 F1 高可能是因为模型拟合了数据集的混杂因素,而线上真正影响用户体验的关键指标(如留存率、转化率)可能完全没动。评测设计应从业务目标反推指标,必要时结合小流量 A/B 测试验证,而不是迷信离线分数。

为何常见:因为“离线能测”的指标最容易获得,而“线上收益”要投入大量工程成本去验证。人们倾向于把容易测量的事情当作最重要的事情。

面试题

Q1. F1 值是____的综合?

单选题 · easy

  • A.精确率和召回率的调和平均← 正确答案
  • B.精确率和召回率的算术平均
  • C.准确率和错误率的加权平均
  • D.精确率和准确率的几何平均

答案:A。F1 是精确率(Precision)与召回率(Recall)的调和平均,公式为 2PR/(P+R)。调和平均对低值敏感,任何一个指标偏低都会显著压低 F1,因此能更好地反映两者的平衡状态。算术平均或几何平均都会让一个高分掩盖另一个低分。

Q2. 类别不平衡场景下,以下哪个指标更能反映模型对少数类的识别能力?

单选题 · easy

  • A.整体样本准确率
  • B.正常样本精确率
  • C.少数类别召回率← 正确答案
  • D.全部样本的方差

答案:C。当正类样本极少时,模型全预测为负类也能有很高准确率,所以准确率会“虚高”。少数类的召回率直接回答“这一类里模型找回了多少”,能真实反映模型对少数类的捕获能力。就像筛查罕见病时最关心的是漏诊率,而不是整体判断正确率。

Q3. F1 值最高时说明什么?

单选题 · mid

  • A.精确率和召回率同时达到最大值
  • B.精确率和召回率的调和平均最大← 正确答案
  • C.模型准确率达到百分之百
  • D.模型推理速度达到最快

答案:B。F1 最高意味着在当前模型和评测集下,精确率与召回率的调和平均达到最优,即“误报”和“漏报”的整体代价最小。由于两者通常此消彼长,几乎不可能同时达到最大值。F1 最优也不代表准确率是 100%,也不涉及推理速度。

Q4. 构建评测数据集时,以下哪些做法是正确的?

多选题 · mid

  • A.从真实业务分布中采样← 正确答案
  • B.只保留容易预测的样本
  • C.独立于训练集进行划分← 正确答案
  • D.直接使用全部训练数据

答案:AC。评测样本必须来自真实业务分布,否则评测结果没有代表性。测试集必须独立于训练集,否则会高估模型表现——这正是数据泄漏的常见形式。只保留容易样本会让分数虚高,用训练数据评测则完全失去可信度。

Q5. “数据泄漏”在评测中指的是什么?

单选题 · mid

  • A.测试集样本被用于训练← 正确答案
  • B.模型参数量设置过大
  • C.训练迭代轮数过长
  • D.评测报告文件丢失

答案:A。数据泄漏指测试集信息以任何形式进入了训练或调参过程,例如测试样本参与训练、人工反复查看测试集调整模型、公开评测集被预训练阶段“记下”。泄漏会让评测分数虚高,就像考试前看到答案。参数量大和迭代过长属于模型优化问题,与数据泄漏无关。

Q6. 评估两个模型性能差异时,哪些做法有助于得到可靠结论?

多选题 · hard

  • A.多次运行取平均值← 正确答案
  • B.进行显著性检验← 正确答案
  • C.只运行一次并比较结果
  • D.在相同评测集上比较← 正确答案

答案:ABD。单次运行结果受随机性影响大,多次运行取平均能减小偶然波动。显著性检验(如 z 检验)能判断差异是否超过抽样误差范围。在相同评测集上比较是控制变量的前提。只运行一次容易把偶然性当成真实差异,属于常见错误。

Q7. 置信区间的宽度主要取决于什么?

单选题 · easy

  • A.评测样本数量大小← 正确答案
  • B.模型网络层数多少
  • C.梯度下降迭代次数
  • D.学习率初始值大小

答案:A。置信区间宽度与样本量的平方根成反比——样本越多,抽样误差越小,区间越窄,估计越精确。模型结构、训练轮数和学习率影响的是模型本身的性能,而不是评测结果的可信区间宽度。

Q8. 评测目标分析的第一步是什么?

单选题 · mid

  • A.明确本次评测目的← 正确答案
  • B.挑选开源数据集
  • C.训练出基线模型
  • D.直接开始调参优化

答案:A。评测设计的第一原则是“先问为什么评测”。明确目的是选型、验收还是定位问题,决定了后续所有环节的方向。挑选数据集、训练基线都在目的明确之后才有意义。跳过目标分析直接动手,往往是评测报告没人能用的根源。

Q9. 以下哪些措施可以减少标注者偏差?

多选题 · hard

  • A.多人独立标注← 正确答案
  • B.标注规则培训← 正确答案
  • C.标注质量抽检← 正确答案
  • D.让模型自动标注

答案:ABC。多人标注意见不一致时通过讨论或投票达成共识,能抵消个人偏差。规范的培训统一了标注尺子,抽检能发现标注漂移。让模型自动标注相当于“让考生自己判卷”,不但不能减少偏差,反而会引入模型自身的系统性错误。

Q10. 显著性检验中 p 值小于显著性水平 α 时,正确解读是什么?

单选题 · extreme

  • A.差异在统计上显著← 正确答案
  • B.业务一定有提升
  • C.模型错误率已为零
  • D.评测数据不存在偏差

答案:A。p < α 只说明“两个模型的性能差异在统计上不太可能由抽样误差导致”,是统计显著。它不保证业务效果提升(需要线上验证),更不代表模型零错误或数据无偏差。统计显著是“可相信差异存在”的最低门槛,而非“差异有用”的充分条件。