1 AI 评测要回答什么
模型给出了答案,并不等于它完成了任务。面对用户流失预测,我们需要知道它能否提前找出值得跟进的用户;面对图片分类,需要知道它能否在模糊、遮挡或新来源图片上保持表现;面对短文本分类,需要知道它是否把投诉误判成普通咨询。AI 评测把这些问题变成可检查的证据:在什么数据、什么条件和什么错误代价下,模型达到了什么水平。
评测的起点是决策。假设订阅服务希望在月末预测用户未来 30 天是否流失,输入可以包括过去 30 天登录次数、订阅时长、最近 7 天使用分钟数、历史客服联系次数。正类定义为未来 30 天内取消续订的用户。预测时间、观察窗口和标签窗口都要写清楚,否则不同人员可能拿着不同的问题比较分数。未来发生的取消操作可以用于生成标签,却不能成为月末模型的输入。
接着说明预测会触发什么动作。如果每天只能人工跟进 40 名用户,评测就要关注候选名单中有多少人确实流失,以及有多少流失用户没被找到。如果只是展示风险提示,误报的成本可能较低;如果误报会触发昂贵的人工服务,精确率就更关键。指标不能脱离使用方式独立解释,模型排名靠前也不代表满足当前容量约束。

公开数据集适合练习评测流程。例如,使用公开的 Telco Customer Churn 表格数据,可以尝试合同类型、使用时长和月费用等特征;使用 CIFAR-10 可以练习图片分类;使用 AG News 可以练习短文本主题分类。但它们的任务定义和采样方式各不相同。静态流失数据不一定支持严格的未来 30 天预测,英文新闻标题上的成绩也不能直接证明中文客服分类可用。使用前应查看数据说明、许可和字段含义,把练习结论限定在有证据支持的范围内。
可信的评测还需要比较对象。最简单的多数类预测、简单规则和轻量模型都可以作为基线。复杂模型若只比基线略好,却大幅增加延迟和维护成本,可能不值得采用。评测最终要回答的是候选方案是否带来可用改进,而不是有没有得到看起来漂亮的数字。
2 任务集、裁判与人工抽检
任务集是一组按明确规则收集、带有参考答案的样本。表格任务的样本可能是用户在某个预测时点的特征快照;图片任务的样本是图片与类别标签;文本任务的样本是文本与主题标签。除了输入和标签,还应保存合法可用的时间、来源、实体标识与切片信息。这些信息用于发现重复、构造独立划分和定位失败,不一定都作为模型输入。
训练集用于学习参数,验证集用于选择模型、特征和阈值,测试集用于在方案冻结后提供独立评估。入门实验可使用 60% / 20% / 20% 的比例,但比例不是最重要的边界。同一用户的多条记录应避免跨集合;同一图片的裁剪版本应留在同一组;转发或轻微改写的文本也需要检查近重复。否则模型可能在测试时碰到训练内容的变体,分数就高估了泛化能力。
对于未来预测,时间顺序通常比随机切分更贴近实际。可以用较早月份训练、随后月份验证、最后月份测试,同时留出足够时间让标签成熟。例如评估未来 30 天流失,需要等这 30 天结束后才能判断标签。按用户分组和按时间切分如何结合,取决于目标是预测既有用户的未来行为,还是泛化到新用户;协议要明确目标并防止未来信息进入过去。

分类任务的“裁判”通常是参考标签和指标计算程序。裁判首先需要标签规则:图片中有多个物体时以哪个为准,新闻同时涉及商业与科技时怎样选择主题,用户暂时停用是否算流失。规则模糊时,模型与标签不一致可能来自标注争议。应让标注者先独立判断一批样本,再讨论分歧并修订说明;无法可靠判断的样本应明确标记,不应悄悄删掉难题让成绩变好。
人工抽检用于检查自动分数背后的含义。既要随机抽取样本了解常态,也要抽取误报、漏报和低置信样本查找原因。若刻意多抽错误样本,抽检结果就不能直接当作总体错误率。记录抽样方式、样本数和标签修订原因,必要时安排复核。若使用另一个模型辅助判定,也应先在人工确认样本上检查它的偏差,不能把模型判断自动当成事实。
3 离线指标与在线指标边界
以流失为正类,真正例 TP 表示预测流失且实际流失,假正例 FP 表示预测流失但实际未流失,假负例 FN 表示预测未流失但实际流失,真负例 TN 表示预测未流失且实际未流失。混淆矩阵把这 4 种情况列出来,使团队能够讨论具体错误。准确率 accuracy=(TP+TN)/总样本数,适合描述整体预测正确的比例,但容易受到类别比例影响。
精确率 precision=TP/(TP+FP),回答“被判为正类的样本有多少是真的”;召回率 recall=TP/(TP+FN),回答“实际正类找回了多少”。例如 1000 名用户中有 100 名流失,模型标出 120 名,其中 60 名确实流失,则 precision=50%,recall=60%。F1=2×precision×recall/(precision+recall),此时约为 54.5%。F1 综合了这 2 个比例,但没有直接包含真负例,也不表达每种错误的实际费用。
ROC AUC 衡量模型在不同阈值下区分正负样本的排序能力。可直观理解为随机抽取 1 个正样本和 1 个负样本时,模型把正样本排在前面的能力,并妥善处理同分情况。AUC 较高不保证选定阈值下的名单可用,也不代表预测概率准确。正类很少时,ROC AUC 可能无法充分揭示人工队列中的误报压力,因此仍要看 precision、recall 和绝对数量,必要时补充 PR 曲线。
多类别图片或文本任务还要说明平均方式。宏平均 F1 先分别计算每个类别的 F1,再对类别等权平均;加权平均按各类别样本量加权。大类别可能主导加权结果,小类别失败则更容易在宏平均和逐类报告中暴露。某个切片没有正类时,召回率无法计算;模型没有预测任何正类时,精确率的分母为 0。报告必须说明处理约定,不能把缺少证据显示成满分。

离线指标描述固定样本上的表现,在线指标描述真实使用后的结果。流失模型可能提高召回率,但跟进内容无效,最终留存没有改善;分类模型可能离线更准,但服务延迟增加,用户放弃操作。在线还应观察请求失败率、延迟分位数和人工处理量。要判断干预是否造成收益,通常需要设计适当的对照实验,不能把上线前后的自然变化都归功于模型。
离线运行也能测推理延迟与资源消耗,但结果只适用于声明的硬件、输入规模、批量和并发条件。在线标签往往延迟到达,尚未观察满 30 天的用户不能提前认定为未流失。质量、运行表现和用户结果共同提供证据,各自回答的问题需要分别写明。
4 动手:设计一次最小评测矩阵
本次练习选择公开流失数据,把目标限定为数据集所定义的二分类任务。先阅读字段说明,将 customerID 这类标识保留作审计和去重用途,不直接作为预测特征。输入可以选择合同类型、使用时长、月费用、是否开通某项服务;标签采用数据中的流失字段。若缺少时间戳,就明确本实验只评估静态留出集表现,不宣称验证了未来月份的效果。
先检查空值、重复用户、标签比例与类别取值,再按用户分组并尽量保持类别比例划分 60% / 20% / 20%。固定划分清单和随机种子。缺失值填充、数值标准化与类别编码都只在训练集上拟合,再应用到验证集和测试集。即使预处理没有直接使用标签,在全部数据上估计参数也会让测试分布参与开发,破坏独立性。
最小矩阵可以只比较 3 个方案:多数类基线、逻辑回归和树模型。前者帮助识别准确率幻觉,逻辑回归提供容易检查的基础模型,树模型用于观察非线性关系是否带来改善。各方案使用相同划分和可获得的特征,避免模型差异与数据差异混在一起。若训练时采用类别权重,只在训练流程中调整,评测数据保留目标分布。
| 比较维度 | 本次约定 | 目的 |
|---|---|---|
| 候选方案 | 多数类、逻辑回归、树模型 | 建立可解释的比较起点 |
| 阈值选择 | 在验证集比较 0.3、0.5、0.7 | 观察误报与漏报取舍 |
| 质量指标 | precision、recall、F1、ROC AUC | 同时检查名单与排序 |
| 报告切片 | 合同类型、使用时长区间 | 检查总体分数遮住的差异 |
| 运行条件 | 固定 CPU、批量与输入字段 | 比较延迟和资源要求 |

在查看测试结果前,写出候选选择规则。教学示例可以约定:在验证集 recall 不低于 70% 的候选中优先选择 precision 更高者,并检查预测正类数量是否超过处理容量。这些数字只服务于练习,实际门槛来自业务代价。阈值候选中若没有方案达标,就记录失败,不能临时降低门槛来宣布成功。若最终测试也未达标,同样需要如实报告。
冻结候选后,只在测试集执行约定的比较,输出混淆矩阵、指标、各切片样本数和运行条件。报告应保存数据版本、特征清单、模型版本、阈值、划分标识和执行时间。人工再检查一批误报与漏报,判断是否存在字段错位或标签争议。测试结果可用于诊断,但一旦据此继续选择方案,它就参与了开发,后续验收需要新的独立证据。
5 覆盖广度与评测成本取舍
评测覆盖不是样本越多就一定越好。假设已有 10000 条清晰、常见来源的图片,继续增加同类图片可以提高这类表现估计的稳定性,却不一定揭示暗光图片上的失败。覆盖应围绕使用条件展开:图片的亮度、清晰度与设备来源,文本的长度、语言与主题,表格的用户群、时间段与缺失情况。每个维度都应与真实使用风险相联系。
也不能把所有维度无限交叉。若按 5 个维度分别切成 4 类,完整交叉会产生 1024 个组合,许多组合只有极少样本。这样的表格很大,却难以支持可靠结论。初始阶段先选出少量关键切片,并报告每个切片的总样本数和正类数量。切片可以重叠,此时不能把各切片样本数简单相加当作独立总量。
预算包含数据获取、标注、争议复核、运行与结果分析。短文本每条抽检假设需要 30 秒,400 条就需要 200 分钟;如果增加 1 名复核者,成本还会变化。固定总样本数时,要求分别报告更多切片,通常意味着每个切片可用证据变少。下面的滑块让样本数和切片数变化,观察预算与证据密度怎样受到影响。
抽样需要兼顾代表性与诊断价值。随机样本用于估计目标分布表现,针对性的难例用于寻找模型弱点。可以单独建立遮挡图片、极短文本或缺失字段的挑战集,但必须单独报告,不能把人为提高的难例比例当作真实流量比例。正类稀少时可额外抽取正类检查召回率;若抽样改变了类别比例,直接计算得到的精确率不能当作线上精确率。
小切片出现明显波动时,应先问样本是否足够。只有 5 个正类时,多漏掉 1 个就会使召回率下降 20 个百分点。可以补充样本,并在报告中给出适当的不确定性说明,而不是过度解读小数点后 3 位。复杂的区间估计方法可以后续学习;入门阶段至少做到公开样本数、重复实验条件和结论局限。
实际安排可分为快速检查、定期完整评测与上线前验收。快速检查覆盖格式、字段和明显回归;完整评测覆盖全部约定切片;最终验收使用独立数据。快速集反复使用会逐渐影响开发选择,不能长期充当独立测试集。预算减少时应明确缩小了哪部分证据,而不能沿用完整评测的结论。
6 常见坑:单一总分掩盖关键失败模式
类别不平衡是最容易制造漂亮总分的情况。假设 1000 名用户只有 10 名流失,全部预测为未流失就有 99% 准确率,但实际流失用户全部漏掉。若另一个模型找到 8 名流失用户,同时误报 32 名,其准确率降到 96.6%,召回率却达到 80%,精确率为 20%。哪个方案可用,需要结合漏报代价和 40 人的跟进队列判断,准确率本身无法裁决。
数据泄漏会让评测回答一个比实际任务容易的问题。流失预测误用了预测日之后的注销状态,图片分类把同一原图的不同裁剪分到训练与测试,文本分类把标签名称拼进输入,都可能产生虚高分数。修复泄漏后必须重新构造评测证据,不能简单给旧分数打折。检查关键问题是:真实请求到达的那一刻,这个特征是否已经存在,测试实体是否已经被模型以其他形式见过。
总分还会掩盖类别与人群差异。AG News 的总体准确率不错,可能仍频繁混淆商业和科技;CIFAR-10 的总体成绩提高,可能某个动物类别反而退步。表格模型可能在长期用户上表现稳定,却漏掉刚加入的用户。报告应同时呈现逐类指标、混淆关系和预先选定的关键切片,不能只展示提升最多的部分。

阈值混用也是常见错误。在验证集上用 0.3 计算召回率,却拿 0.5 的误报数解释工作量,会拼出不存在的方案。每行结果都应绑定同一模型、同一数据和同一阈值。AUC 不依赖某个固定阈值,不能拿它代替具体阈值下的验收;预测概率是否可信也需要另外检查,不能因为 AUC 高就把 0.8 解读为已经校准的 80% 风险。
还有一种更隐蔽的坑是反复尝试后只报告最好结果。多次查看测试集并据此改特征、调参数,相当于逐步适应测试数据。固定随机种子有助于复现,却不能恢复独立性。应保留尝试记录,在验证数据上完成开发,再使用独立测试数据确认。发现标签错误时也要按统一规则修订,记录修订前后变化,不能只纠正对模型不利的标签。
7 案例:评测集与线上分布错位
某团队以 AG News 练习短文本主题分类,输入为英文标题与简介,输出为世界、体育、商业、科技等类别。历史留出集上的总体宏平均 F1 较高,于是团队希望把模型用于标题较短、简介经常缺失的新信息流。上线前抽检发现,很多输入只有几个词,而且含有缩写与新的产品名称。这些都是原评测集里较少出现的条件。
为说明问题,设想离线样本中短文本占 10%,上线样本中占 60%;模型在短文本上的错误率为 30%,在其他文本上的错误率为 5%。暂时假定这 2 个切片内部的错误率没有变化,离线总体错误率为 10%×30%+90%×5%=7.5%,线上则为 60%×30%+40%×5%=20%。模型参数未变,仅切片比例改变,总体表现就明显下降。这是示意计算,不是该公开数据集的实测成绩。

调查时先确认线上文本构造是否一致:离线是否使用标题加简介,线上是否只传标题,字符编码和截断长度是否相同。随后按时间、长度和来源报告样本比例与错误情况。若线上标签尚未完成,只能先发现输入分布变化,不能立刻断言质量下降了多少。需要等待或抽检获得可靠标签,再计算对应切片指标。
修复不只是增加训练轮数。团队可以补充代表当前输入的标注样本,检查短文本标注是否存在不可消除的歧义,调整输入要求,或为不确定样本设置人工复核。新增数据按时间与来源分组,留出后续时间段作最终测试。原来的公开测试集继续用于观察历史任务是否退步,但不能单独代表新的使用场景。
还要避免改变任务后继续沿用旧标签。如果线上内容出现新闻之外的招聘或广告,强制归入原有类别会让结果失去意义。应明确这些输入属于任务范围外,并约定处理方式。分布偏移既可能表现为输入比例变化,也可能是输入与标签关系变化;初学阶段先掌握按时间和来源追踪、补充可靠标签、重新界定适用范围,复杂检测算法留待后续学习。
8 把评测协议写进验收方案
评测协议是执行之前的共同约定。它至少说明预测对象、正类定义、输入可获得时间、标签窗口、数据来源、划分规则、候选选择方法、最终指标和失败处理方式。先写协议可以防止看到结果后不断移动目标。门槛应来自实际需求,并有负责人与修改记录,不能为了某个模型方便通过而临时改变。
例如流失任务可以写明:输入仅包含月末之前已产生的特征,标签需要完整观察未来 30 天;同一用户的重复快照按既定实体与时间规则处理;模型和阈值仅通过训练、验证数据确定;最终测试同时报告 precision、recall、F1、ROC AUC 和混淆矩阵。对短期用户与长期用户分别报告样本量与召回率,并说明低样本切片的结论限制。
质量门槛应与容量和服务约束一起检查。例如“召回率至少 70%,精确率至少 40%,预计人工名单量不超过可处理范围”比“总分达到优秀”更容易执行。不过这些示例数值不能直接移植到任何业务。运行门槛还要说明硬件、并发和输入长度,例如固定 CPU 环境下的单条推理 p95 延迟;没有测试条件的延迟数字无法公平比较。

报告需要能追溯到可执行版本:数据清单或摘要标识、标签规则版本、划分文件标识、预处理参数、模型产物、依赖环境和评测命令。复现不仅是得到接近的总分,还包括核对样本数量、类别分布和预测输出。不同硬件或随机训练可能造成小幅波动,应提前约定可接受范围,而不是事后挑选最有利的一次运行。
验收结果应允许“未通过”与“证据不足”。关键切片没有正类,不能说明召回率达标;标签窗口尚未结束,不能说明线上留存改善。记录失败项、影响范围与下一步补证方式。如果准备受控上线,还应约定观察周期、流量范围、停止条件和回退责任。上线后继续监测输入分布与标签回流,发现环境变化时重新评测,而不是把验收当作永久有效的证明。
9 从AI 评测走向内核调优(S45)
评测建立了质量基线之后,才有条件讨论怎样把模型运行得更快。这里的内核指模型执行中承担具体计算的计算内核,例如矩阵乘法或卷积的实现;本课只建立它与评测的关系。S45 将继续讨论内核调优,本课不展开线程组织、指令选择和硬件内部机制。先要记住,优化需要知道测量对象是什么,以及质量约束是否仍然成立。
同一个分类模型的端到端延迟可能包含读取输入、预处理、模型计算和结果整理。若瓶颈在图片解码,单纯加快矩阵运算对整体体验的帮助就有限。应先在固定环境里区分各阶段耗时,再选择优化目标。吞吐量表示单位时间完成的请求数,延迟表示请求等待结果的时间;增大批量可能提升吞吐量,却让单个请求等待更久,所以不能只报告一个“速度提升”。
性能比较应保持输入规模、批量、并发、设备和预热条件一致,并说明测量次数与统计口径。首次运行可能包含加载和初始化,稳定运行则反映另一类成本。只测一个很短的请求容易受到偶然波动影响,较有代表性的输入组合和延迟分位数更有用。记录条件比追求过多小数位更重要,任何提升都应能在相同条件下重现。
部分运行优化可能改变数值结果,例如使用不同精度的表示或计算实现。此时除了检查延迟和资源,还要在同一评测协议下重新观察类别指标、关键切片与阈值附近的预测。数值差异很小不意味着决策完全相同,尤其是得分接近阈值的样本。若接受质量变化,应提前约定允许幅度,并明确用什么独立数据判断。
带往 S45 的交接材料可以包括冻结模型与预处理、代表性输入、固定质量报告、基准运行环境和待解决的性能问题。例如“在声明的并发下,预处理与推理总 p95 延迟超过目标,其中模型计算占主要部分”就是可调查的问题;“让 AI 更快”则缺少测量边界。评测让优化有目标、有约束,也让优化后的收益能够与代价一起被检查。
放进方案里
本项目将 AI 评测作为模型验收和上线复查的共同依据。首先明确任务对象、输入范围、预测时点、标签窗口及错误代价,形成带版本的标签说明。流失任务以约定窗口内是否取消续订为正类,输入仅使用预测时点已经产生的信息;公开数据实验的结论限定在该数据所支持的范围内,不直接承诺未来线上收益。
数据按实体去重并结合时间关系划分训练、验证和独立测试集合,保存划分清单。缺失值处理、编码和模型参数仅在训练阶段拟合,候选模型及阈值通过验证集确定。最终测试前冻结数据、特征、预处理、模型和阈值,报告 precision、recall、F1、ROC AUC、混淆矩阵及各项样本数量。关键类别和预先指定切片分别报告,不以单一总体分数代替验收。
验收门槛在执行前由使用方与评测负责人确认,同时覆盖质量、人工处理容量、推理延迟和资源成本。人工抽检同时包含随机样本与定向错误样本,记录抽样比例、标注争议和复核结论;定向抽检结果不直接作为总体错误率。样本不足、标签未成熟或发现泄漏时,将结论标记为证据不足或无效,并明确补样、修订及重新评测的责任。
上线采用受控观察,持续记录输入分布、服务延迟、失败率和成熟标签上的质量变化。业务收益通过适当对照验证,异常时按约定停止条件回退。每次模型或运行实现调整均保留可复现报告;涉及精度变化的性能优化须重新检查关键质量指标。交付物包括协议、数据与模型版本、评测结果、失败样本摘要及下一次复查安排,作为后续 S45 内核调优的质量基线。
10 小结:下一步内核调优(S45)
AI 评测把任务、数据、指标和使用约束连接起来。训练集用于学习,验证集用于选择,独立测试集用于确认;precision、recall、F1 和 AUC 各有边界,混淆矩阵与关键切片帮助解释具体失败。数据泄漏、不平衡和分布偏移都可能让总体分数偏离真实用途。
继续学习前,尝试解释 3 个问题:为什么全部预测未流失也可能有 99% 准确率;为什么高 AUC 不能保证人工跟进名单有效;为什么线上短文本比例增加会改变总体表现。能够用数据边界、阈值和切片回答这些问题,就可以带着冻结质量基线进入 S45,在明确运行条件下讨论内核调优,并检查速度变化是否保住了任务质量。