第 29 章

第 29 章:模型评测总览

第 29 章:模型评测总览

本文整理自 Datawhale 开源项目 datawhalechina/jev-cookbook(CC BY-NC-SA 4.0),源文件:main/06_模型评测/README.md。

评测的目的不是宣布一个模型“最好”,而是用固定任务回答:它会不会答对、概率是否有用、拒答后风险如何变化、运行要花多少时间和费用?

本章有哪些材料

内容 用途
模型评测 Notebook 用本地公开任务比较 Laya 与 Jev,并观察多数类底线、准确率、Brier 和 ECE
benchmark 工具 单次运行账本、适配器、题集转换、预算和演示结果
通用评测框架 面向多个供应商和本地端点的扩展评测框架

当前练习题文件包含 231 条公开任务:48 easy、72 original、111 hard。它与知识库中 JevBench v1.2.3 的完整冻结运行不是同一份样本规模:后者的上游记录说明每个系统有 534 道决策,包含未公开的 held-out 数据。比较时不要把 Notebook 的公开子集得分说成完整榜单得分。

如果需要外部参照,使用本仓库收录的 JevBench v1.2.3 快照(来源 commit a83840b,2026-09-21;见来源清单)。排名、价格和延迟取决于版本、费率、机器与调整方法;本章不把历史榜单写成当前性能保证。

flowchart LR
  D[冻结任务、标签与版本] --> R[模型运行并记录原始响应]
  R --> A[准确率与多数类底线]
  R --> P[概率:NLL、Brier、ECE]
  R --> L[延迟、失败与费用]
  A --> C[固定口径的报告]
  P --> C
  L --> C
  Cal[独立 calibration split] -. 仅拟合温度或阈值 .-> T[固定模型策略]
  T -. 不回看调参 .-> Test[锁定 test 报告]

示例:预测正确率与概率校准回答不同问题

准确率把预测压成类别后计数,回答“选中的类别对了多少”;校准则保留概率,把相近置信度的样本聚在一起,检查预测概率与实际频率是否一致。因此,一个模型可能准确率较高但概率过度自信,也可能平均校准较好却仍有不少类别判断错误。样本量不足时要报告不确定区间,避免把少量样本的分桶波动误认成稳定偏差。

下面用 200 个预测展示为什么要分箱检查概率(教学用假设数字):

预测置信度区间 样本数 正确数 准确率 / 经验频率 组内现象
约 0.80 100 80 0.80 这组的置信度和命中比例一致
约 0.95 100 76 0.76 这组明显过度自信

两组总体准确率是 78%;如果只报准确率,看不出高置信组的概率质量出了问题。这种示意表也提醒我们:校准结论取决于分箱和样本数,正式报告应给出分箱规则与不确定性。

评测指标各自回答什么

指标 回答的问题 解读时的限制
准确率 / 加权准确率 最终类别答对多少? 必须与多数类底线、类别分布和置信区间一起看
NLL 真实类别分到了多少概率? 错误且过度自信的预测会受到较大惩罚
Brier 整个预测分布与结果相差多大? 是整体概率评分,不能单独解释成“校准度”
Reliability diagram / ECE 预测置信度与经验正确率是否接近? ECE 依赖分桶和样本量;要注明实现与分箱
Risk–coverage 自动接收的样本比例与其错误风险怎样变化? 拒答阈值要按业务损失选择
延迟与费用 真实部署链路要多久、花多少? 报告 p50/p95、设备、网络、并发、计费口径和数据日期

NLL、Brier 和 ECE 不能互相替代。二分类 Brier 的经典分解包含 reliability、resolution 与不确定性;它不是纯校准指标。Murphy (1973)。温度缩放可作为校准集上的后处理练习;在 test 上挑温度会泄漏测试信息。参见 Guo 等 (2017)。

可复现评测的步骤

  1. 冻结任务集、答案选项、模型/SDK 版本和指标实现;保存文件哈希。
  2. 固定随机种子、提示词、重试规则、预算及错误处理;服务错误不能悄悄回退为另一模型。
  3. 同时报多数类基线、每类结果和整体结果;对小样本报告区间或重复运行。
  4. 记录未解析输出与失败请求;若提供方仍计费,费用统计要包含这些请求。
  5. 延迟分开报告首次启动、预热后和端到端链路,并给出 p50/p95。
  6. 将模型选择与阈值选择分开;如做温度缩放或门控,在 calibration split 拟合,只在固定 test 上最终报告。

2026-09-26 五模型快照:先看有效回答,再看分数

本节按随附 ZIP 中各 provider 的 summary.json 与 results.jsonl 汇总;每个模型只有一次运行,图表展示该次记录的 231 个任务状态。图中模型名称沿用数据包里的 provider / model 别名,不代表完整的模型版本说明。仓库保存指标摘要、状态分布和题型 / 难度分组计数,不复制原始响应、prompt 或费用账本:快照数据 · ZIP 摘要脚本 · 图表生成脚本。如需从原 ZIP 重建快照和 SVG,可在仓库根目录运行:

python3 main/06_模型评测/benchmark/scripts/prepare_jevbench_snapshot.py --zip "/path/to/jevbench_data_20260926_1543(1)_副本.zip"
python3 main/06_模型评测/benchmark/scripts/render_jevbench_snapshot.py

五个模型的条件准确率、有效回答率、延迟和观测成本

图中的口径不同,读数时要分开看:条件准确率只在成功解析且可评分的回答里计算;有效回答率以全部 231 道计划题为分母;p50/p95 只用实际产生延迟记录的请求;观测成本以本次已记账费用除以有效回答数,再乘 1,000 折算。右上角的 231 是计划题数,不能当成 231 道都已完成。

模型别名 有效回答 条件准确率 正确回答 / 231 p50 / p95(秒) 观测成本 / 1,000 个有效回答
DeepSeek Flash 110 / 231(47.6%) 100.0%(n=110) 47.6% 1.40 / 2.09 $0.18
Doubao 2.1 Pro 105 / 231(45.5%) 100.0%(n=105) 45.5% 4.49 / 9.13 $0.39
GLM 5.3 Codeplan 65 / 231(28.1%) 100.0%(n=65) 28.1% 6.51 / 12.83 $0.21
Jev 120 / 231(51.9%) 96.7%(n=120) 50.2% 0.77 / 1.38 $0.02
Kimi K3 139 / 231(60.2%) 100.0%(n=139) 60.2% 9.63 / 15.60 $0.08

这里同时给出“条件准确率”和“正确回答 / 全题数”,是因为评测框架的 accuracy 分母是 n_scorable,不会把未运行或未能解析的题计作错误;n_scorable 的计算见 aggregate()。因此,四个 provider 显示的 100% 是各自有效子集上的结果,不是完整 231 题的准确率。本次最高的全题正确产出率是 Kimi 的 139/231(60.2%);Jev 是 116/231(50.2%)。它们仍受单次运行、错误输出和未完成任务影响,不能外推成模型能力排名。

综合分是本次快照诊断,不是最终榜单

按 ZIP 汇总文件绘制的 JevBench 风格综合分

数据包汇总分从高到低为 Jev 85.9、DeepSeek 75.0、GLM 73.7、Kimi 73.2、豆包 68.2。分数是文件中已有公式的原样输出;当前实现用条件准确率计算 Intelligence,并用全部计划题数 231 归一化费用,而不是有效回答数(见 jevbench_score())。本次没有任何模型得到 231 个有效回答,所以有效样本、成本分母和时延样本并不一致。Jev 的综合分最高只描述这批不完整运行的公式结果,不能据此判定其整体效果最佳。

有效回答集中在题集前段

按 task ID 的 easy / original / hard 前缀统计有效回答数:

按 easy、original、hard 题组对比各模型有效回答覆盖

Jev 在 easy 和 original 组分别返回 48/48、71/72 个有效结果,DeepSeek 为 46/48、62/72;hard 组中,Jev 只有 1/111,DeepSeek 2/111。Kimi 的 hard 组有效回答数最高,为 29/111,但仍有 82 条错误结果。条件准确率因而主要反映已成功解析的题目,并没有覆盖相同难度、相同题量的模型输出。图中 hard 组的低值首先说明这次运行没有得到足够有效结果,不能单独解释成模型在 hard 题上的能力低。

按题型查看端到端正确产出

这份快照还包含 18 个 family 的逐题状态。下图把正确输出数除以该题型的全部计划题数;解析失败和未运行的题都不会算作正确产出。它展示本次评测链路最终产出在哪里中断,不是只对有效回答计算的模型准确率。

五个模型在 18 个题型上的端到端正确产出热图

基础题型中,Jev 在 intent、fact、extraction、routing 上分别得到 24/24、12/12、24/24、12/12;Kimi 在 hard judge 得到 8/17、hard routing 得到 5/5,是本次 hard 题中有效产出较多的模型。多种题型的样本数只有 5–12 条,而且各模型错误位置不同;这些格子适合定位复跑重点,不足以形成稳定的题型能力结论。

运行异常解释了许多“缺失成绩”

逐题状态显示,运行完成度受到解析和预算停止条件明显影响。下面按 231 条计划任务拆开显示有效回答、空 probs 解析错误、其他错误、格式无效与未运行记录;它能区分“得到可评分回答”和“评测链路没有产出可评分回答”。

五个 provider 的有效回答、解析错误、其他错误、无效输出与未运行任务数

图里空 probs 是记录中的解析错误子类,说明这次结果处理链路没有拿到可解析概率;它本身不能说明错误究竟来自模型、服务响应还是适配器。逐 provider 的状态为:

  • DeepSeek Flash:110 条有效,54 条 error,67 条未运行;54 个错误中有 50 条记录为空 probs。运行在连续错误停止条件触发后结束。
  • Doubao 2.1 Pro:105 条有效、16 条 error、110 条未运行;未运行记录标记为 settlement_exceeded_reservation,表示账本结算超过预留费用后停止。
  • GLM 5.3 Codeplan:65 条有效、71 条 error、4 条 invalid、91 条未运行;71 个错误中有 66 条为空 probs,随后触发连续错误停止条件。
  • Jev:120 条有效、1 条 HTTP 520 error、110 条未运行;停止记录同样是 settlement_exceeded_reservation。
  • Kimi K3:231 条都产生了运行记录,其中 139 条有效、92 条 error;89 个错误是空 probs 解析失败。

这意味着分数同时混入了输出格式 / 解析失败、费用预留停止和题目难度分布。下一轮应先修正或验证空输出解析与结算预留,再让各 provider 完成同一批计划题;之后再重复运行并比较准确率、ECE、Brier 和成本。当前汇总中的 ECE / Brier 也只覆盖有效概率输出:

模型别名 Brier ↓ ECE ↓ 有效样本数
DeepSeek Flash 0.00105 1.28% 110
Doubao 2.1 Pro 0.00041 0.77% 105
GLM 5.3 Codeplan 0.00058 0.85% 65
Jev 0.05204 4.39% 120
Kimi K3 0.00713 3.07% 139

ECE 低不等于已证明可靠校准;这里的样本来自选择后的有效回答,置信度还集中在高分箱,且没有重复实验或区间估计。应把它们作为复跑前的描述性指标,不用来给模型作校准能力定论。

这次快照能支持的结论

  1. 先看产出覆盖,再看条件准确率。 Kimi 有效回答最多,为 139/231;它的全题正确产出率也是本次最高的 60.2%。四个 provider 的有效子集准确率为 100%,但它们只覆盖 28.1%–60.2% 的计划题,因此这个 100% 不能代表完整题集表现。
  2. Jev 的延迟最低,费用快照也最低。 本次记录 Jev 的 p50/p95 为 0.77/1.38 秒,按“已记录费用 ÷ 有效回答数 × 1,000”折算为每 1,000 个有效回答约 $0.02。该折算来自不完整的单次运行,不代表稳定吞吐下的单位成本,也不适合脱离日期、调用配置与计费方案做长期价格承诺。
  3. Hard 组的主要现象是覆盖不足。 除 Kimi 返回 29/111 条有效回答外,其余模型只返回 0–2 条。当前 hard 组结果首先反映运行中断与解析问题;有效样本不足以判断模型在高难题上的相对能力。
  4. 空概率错误值得先排查。 DeepSeek、GLM、Kimi 分别记录了 50、66、89 条空 probs 解析错误。这些异常会同时压低有效回答率并改变准确率、校准指标的样本构成。复跑前应检查响应格式、概率字段映射、截断处理和错误重试记录。
  5. 校准指标看起来低,但样本经过了筛选。 DeepSeek、豆包、GLM 的 ECE 在 0.77%–1.28%,Jev 为 4.39%,Kimi 为 3.07%;这些数只对成功解析的回答计算,尚无共同覆盖题集、重复运行或区间估计,不足以给模型作校准排名。

后续更有解释力的评测顺序是:先让每个 provider 对计划任务形成完整、可审计的状态记录;再按共同有效样本比较准确率和校准;最后重复运行并分别报告 p50/p95、总账单、每个有效答案成本与失败率。这样可把模型判断能力与调用链路可靠性分开诊断。

本章 Notebook 是评测方法的教学练习,不因使用公开数据就自动成为完整榜单复现。完整数据定义、结果快照和限制见第十一章 JevBench 资料。若要训练本地候选模型,下一步读第十章 Laya。

📑 Jev Cookbook:System One 判断模型实战教程

1 第 1 章:认识 Jev:模型、上手与场景 2 第 2 章:核心概念总览 3 第 3 章:System One:判断的核心心智模型 4 第 4 章:状态:让判断连续可追溯 5 第 5 章:原语:Choice、Score 与 Noul 6 第 6 章:置信度:让概率可信 7 第 7 章:应用构建:从原语到完整系统 8 第 8 章:架构模式 9 第 9 章:实战指南总览 10 第 10 章:自一致性 · Noul 11 第 11 章:自一致性 · Choice 12 第 12 章:并行提问 13 第 13 章:重排序 14 第 14 章:逐行语义搜索 15 第 15 章:结构恢复 16 第 16 章:函数调用 17 第 17 章:技能推荐 18 第 18 章:实体对齐 19 第 19 章:RAG 段落分类 20 第 20 章:引用核查 21 第 21 章:LLM 防护栏 22 第 22 章:SDE 级联 23 第 23 章:日期抽取 24 第 24 章:预解析值抽取 25 第 25 章:层级分类 26 第 26 章:自动研究特征发现 27 第 27 章:基于置信度的分类 28 第 28 章:智能家居实验 29 第 29 章:模型评测总览 30 第 30 章:模型评测实验 31 第 31 章:Laya vs Jev 对比基准 32 第 32 章:JevBench:LLM 评测体系 33 第 33 章:智能家居应用实战 34 第 34 章:Jev-Mem 研究总览 35 第 35 章:Jev-Mem 缩放实验 36 第 36 章:Jev-Mem 完整走查 37 第 37 章:Agent 集成总览 38 第 38 章:Pi 集成实验 39 第 39 章:DSH 决策协作 40 第 40 章:本地模型总览 41 第 41 章:本地模型介绍与对比 42 第 42 章:中文数据集构建方案 43 第 43 章:微调指南 44 第 44 章:RLCD 原理与实验优化 45 第 45 章:中文数据集构建实验 46 第 46 章:中文 Head 微调实验 47 第 47 章:全量 v2 微调实验 48 第 48 章:知识库
← 返回本书大纲