跳转到内容

第 32 章 先写模型评测契约

32.1 “答出了 750”还不是完整的成功标准

Section titled “32.1 “答出了 750”还不是完整的成功标准”

回到第 1 章的问题:怎样才算做对?虚构的北京住宿现行文档写 750 元,历史文档写 600 元。回答里出现“750”,可能正确,也可能说的是“不是 750”,还可能附上一句没有依据的“订单已取消”。模型在三种情况下都答得很快,不代表都帮到了用户。

因此,比较候选之前,要先写 模型评测契约(model evaluation contract) :把场景、证据、可接受结果、测量方式和决策规则写成有版本的约定。它不是法律合同,也不是新增训练目标,而是防止成功标准随着偏爱的模型结果不断漂移。

HELM 区分场景、适配方式和指标。本章把这种区分用到既有知识助手上,问题限定为:某个模型或配置,能否用中英文正确使用给定的虚构差旅、订单信息,分清现行与历史范围,不编造信息或审批?检索和生成继续分层评测。

32.2 从能解释“怎样才对”的样例开始

Section titled “32.2 从能解释“怎样才对”的样例开始”

第 9—10 章的 KA-0 已有按 A—E 排序的五份文档,以及九组双语查询。A 是归档的 600 元政策,B 是替代它的现行 750 元政策,C 关于铁路出行,D 解释一种可能的虚构订单状态,E 说明取消需要审批。本部分保留它们的正文、版本、候选顺序和相关性标签。Keyword、BoW Count、TF-IDF 继续在同一评测集上对照,包括同义词漏检、过时前提失败和超范围弃答,不替换难题。

KA-1 另加六组双语回答检查。它们在提示中明确提供简短证据,适合尝试用上下文仅有 64 个位置的 MG-2 处理,不是一套完整的检索增强应用。

关联文档说明相关概念从哪里来,不表示提示中的每项条件都摘自文档。D 只解释“处理中”是一种可能状态;KA-1 另外给短标签 A104 所指的虚构订单设定了这个状态。E 提供需要审批的规则;KA-1 另加“尚未获批”的条件。这些是新写的虚构条件,不是检索到的实时事实,也不是把 KA-0 的 A-104 标识符做了归一化。

即使这些小检查全部通过,生成引文和处理实际文档长度,也仍需进一步验收。 带日期的 ka1-provenance-note-v1.json 更正了原冻结元数据中“全部都是来源缩写”的过宽表述。提示、准则、候选、结果和决定均未改变,原冻结记录仍可检查。

例 32.1:看答案之前,先固定问题。 以下任务含义与预期行为先写入 ka1-contract-v1.json,并在首次 KA-1 模型运行之前保存哈希。每行各有一份英文和中文提示,完整字符串都在同一版本资源中。

表 32.1:六组回答检查,以及直接可见的验收理由

样例给定条件可接受行为与 KA-0 的联系
现行金额北京住宿限额 750回答 750现行及明确现行金额查询,B
过时前提旧 600、新 750,问现行回答 750过时前提查询,A/B
历史金额旧 600、新 750,问旧值回答 600历史查询,A/B
订单状态虚构 A104 正在处理说明处理中状态查询,D
审批边界取消需审批,尚未批准说明目前不可取消审批查询,E
未知规则护照规则未知明确说未知超范围查询,A—E

例如,过时前提的提示为 Old: 600. New: 750. Current limit: 和 旧限额600,新限额750。现限额:;历史题只改变所问范围,变为 Old: 600. New: 750. Old limit: 和 旧限额600,新限额750。旧限额:。两题都答 750,虽有一题正确,却说明没能遵守这项区别。

没有审批是输入条件,不是要求程序执行某个操作。本实验不运行工具,不改订单。订单状态答对,也只表示报告了给定的虚构状态,不能证明真实账户目前如何。把边界写进参考答案,才能避免评测奖励凭空生成的权限。

32.3 把事实、范围与格式分别评分

Section titled “32.3 把事实、范围与格式分别评分”

数据集(dataset) 保存样例与证据,指标(metric) 把结果汇成数字,评分准则(rubric) 则在汇总前说明单条答案怎样判断。三者缺一不可:没有单条评分规则的百分比,无法复核。

本章语义准则分三级。0 分表示错误、缺失、无依据、矛盾或无法理解;1 分表示核心事实或边界出现了,但范围含糊,或仍带无依据内容,不算通过;2 分表示目标答案、范围和边界正确,没有无依据断言。只有 2 分通过。另设严格格式诊断:去掉首尾空白,忽略字母大小写,再与固定可接受字符串比较。金额题的列表就只有相应的 750 或 600。

语义判断和格式判断不能悄悄互相替换。第 50 步模型后来的实际输出,在两道英文现行金额题上为 750.;严格匹配因句点失败,通读整个答案却可以接受给定范围内的金额。反过来,只查数字子串的检测器,可能放过直接的矛盾。

例 32.2:先用已知反例校准检测器。 给评测者新旧两版金额,但不给取消权限。以下六条回答是作者给定的校准材料,与模型实测输出分开;语义标签直接依据这些明确证据。

表 32.2:两种自动规则,错在不同地方

回答语义通过?恰好为 750?包含 750?
750是是是
现行上限是750元。是否是
限额不是750,应按600执行。否否是
600否否否
750元,旧限额是600元。是否是
750元,已为你取消订单。否否是

子串规则把五条判为正例,其中三条按给定参考确实可接受,两条是假阳性。精确率(precision) 问“判为正的里面,多少是真的”,因此为 3/5=0.63/5=0.6;它找到了全部三个可接受答案,召回率(recall) 问“实际为正的里面,找到了多少”,因此为 3/3=13/3=1。问题不同,分母也不同。

严格匹配只判一条为正,而且这条正确,精确率 1/1=11/1=1;它漏掉两个正确表达,召回率只有 1/31/3。两种规则与六条语义标签一致的数量却都是四条,准确率同为 4/64/6。相同汇总掩盖了完全不同的错误。如果虚构审批是硬性失败,总准确率不能补偿它。

结构化解析器可以改善格式检查,带参考证据的复核可以处理改写,但解析器仍不能证明字段值有依据。应保留原答案、提取值、逐条评分与理由。匹配规则一改,评测器就产生新版本,应重算所有候选,不能只救回自己偏爱的某条回答。

32.4 重复运行,与增加新场景不是一回事

Section titled “32.4 重复运行,与增加新场景不是一回事”

固定比较使用 MG-2 的两个已有检查点,两者拿到相同提示、tokenizer 和 24 个新 token 预算。主策略是贪心,重复三次,种子标签为 7、42、31415,用于计时与复现;标签不同不会让贪心变随机。另设温度 0.7、Top-k 5 的采样策略,使用相同三个种子暴露采样变化,不允许三次里挑最好的一次。

对一个候选、一种语言,有六题,每题三次主策略尝试,共 18 次。主要验收数的是:哪些题在 三次都 获得语义 2 分。分母为六题,不是十八个独立情境。契约要求两种语言的六题全部通过,现行版本或审批边界任何一项失败就否决;另对这项小型 CPU 诊断设定完整调用 p95 小于 1,000 ms。这个界限不是生产流式服务的 SLO。

例 32.3:同样的失败重复三次,不等于十八次独立失败。 假设一个给定候选六题全错,三次重复也完全相同,则观察到的稳健通过数为 0/6。不能假装抽到了十八种独立用户情境。作为直观例子,若六个独立样例各有真实 20% 成功机会,六次全失败的概率仍有 0.86=0.2621440.8^6=0.262144。观察成功数为零,不足以证明总体能力为零。真实 KA-1 样例是有意选定且公开的,连这个独立抽样模型也只能作说明。

应报告逐题结果、计数和跨重复的变化范围。对于更大、具有代表性的研究,可以按整道题重新抽样来估计不确定性,把同题各次尝试一起保留。比较候选时也要保留配对关系:究竟哪些题 A 改善了、B 却失败?一个缺少逐题分布与变化程度的小均值差,不足以决定部署。

延迟同样需要重复记录。KA-1 预热后,围绕原 CPU 生成调用完整计时,包含 trace 收集和字节解码,加载不计入;不同重复轮次交换候选运行顺序。中位数和最近秩 p95 描述的是这些小调用。过早 EOS 会让没有帮助的模型看起来很快,因此失败或空输出必须与时间一起可见。

32.5 说明哪些证据已经参与了系统设计

Section titled “32.5 说明哪些证据已经参与了系统设计”

开发集(development split) 用于选择提示、流程或模型设置;验收集(acceptance split) 在某次具体比较前固定。真正的留出测试,还需要避免先前设计和训练选择已经接触其内容。把公开样例改名叫“测试集”,不会产生这种隔离。

KA-0 与 MG-2 训练/验证材料都公开标为开发证据。六组新题在比较检查点前冻结,没有继续训练任何检查点,但它们仍是围绕熟悉主题编写的公开虚构例子,词语和金额也已出现在课程中。因此契约不声称它是未见领域基准。精确重叠检查能发现复制字符串,不能证明没有改写、语义污染或设计者先前接触。

第 23 章按文档家族分组的规则在这里很重要:训练集放现行政策,测试集放近似改写,即使哈希不同,也可能泄漏答案。应保留来源/版本关系、评测器版本、模型和 tokenizer 哈希、生成设置以及冻结记录。如果后来开发者看着 KA-1 失败调整提示,这些题就成为下一轮的开发材料。保留 v1,另加真正未使用过的材料建立新版本,不删掉难看的失败。

32.6 人评和模型裁判,也都需要校准

Section titled “32.6 人评和模型裁判,也都需要校准”

有些答案需要判断相关性、清晰程度或无依据暗示。人评流程应给评分者相同证据与准则,隐藏候选身份,平衡展示顺序,并在讨论裁决前保留分歧。评分一致性可以说明准则是否清楚,却不能证明所有人都正确。流畅但错误的解释,不应因自信语气而获胜。

LLM 裁判(LLM judge) 是用另一个模型作判断。它可能偏好某个位置、篇幅或熟悉风格,也可能读错证据。使用前,应与独立标注的校准例比较,交换答案顺序,测试矛盾和虚构审批,并按失败类型报告分歧。裁判版本、提示也属于需要冻结的评测器。与少量简单人评标签一致,不足以授权它替代所有未来任务的人评。

本书实际 KA-1 复核,是由 AI 辅助写作过程逐项查看全部 62 种不同的“题目/语言/输出/UTF-8 有效性”组合,写明理由,再对应到完全相同的重复输出。它 不是招募人类评分者的研究 ,也没有隐藏的裁判 API。句点造成的明确误判,读者可以直接核查;含糊判断仍可接受独立复核。因此,契约把独立人评列为产品验收前的必要证据,同时允许当前诊断否决明显不合格的候选。

执行前
  1. 模型之外场景 + 证据 + 六组题
  2. 模型之外评分准则 + 门槛 + 重复规则
  3. 处理步骤为契约和既有模型输入计算哈希

后来改规则,须另立版本并对全部候选作相同比较。

执行后
  1. 文本片段原始下文:750.
  2. 处理步骤严格匹配 750:失败
  3. 处理步骤现行金额语义复核:通过

当题目问历史 600 时,同一个 750. 仍然错误。

按约定单位汇总
  1. 一组数字2 题 × 3 次成功重复 = 6 次尝试
  2. 处理步骤稳健通过题数:6 题中 2 题

同一场景重复三次,不会变成三个独立场景。

图 32.1:先冻结,再保留评分规则之间的分歧。 本书原创图示 · CC BY-SA 4.0。

图 32.1 把冻结放在候选执行之前,并让原始回答与评分并排保留。失败分类包括版本/事实错误、无依据内容、缺失弃答或审批边界、不可理解文本、格式不符、上下文耗尽、无效 UTF-8 和运行错误。它们指向不同修复位置。修格式不能治旧政策答案,加快引擎不能治无依据内容。

32.7 契约最终形成一份可复核的证据包

Section titled “32.7 契约最终形成一份可复核的证据包”

KA-1 必交资产属于同一个共享项目增量:固定题目与规则、冻结哈希、全部重复原始输出、继承的词法基线结果、逐条复核,以及第 33 章选型报告。核心比较确实可以用现有权重在 CPU 执行。前面章节的生成矩阵和性能场景继续保留各自证据类型,不能拿来替代这次测量。

完整契约允许得出“两者都不达标”。它也写清小检查即使通过,仍未覆盖什么:实际文档长度、引文、新主题、代表性用户、独立人评、并发、可用性和运维。这不妨碍作决定,而是避免把窄诊断误当成产品发布许可。现在,我们可以在不移动标准的前提下比较候选。

先定义场景与可接受行为,保留基线样例,冻结适配与评分,再运行候选。语义与格式、尝试次数与独立题目、开发证据与留出评测都要分开。保留原始失败与分歧,让有版本的契约同时解释为什么选择、为什么否决。

  1. 计算表 32.2 子串规则的假阳性数、严格规则的假阴性数,解释准确率为何遗漏实际差异。
  2. 一个模型英文六题全对,中文五题对,但第六题在没有审批时声称已获准操作。按本契约如何决定?
  3. 两个候选都通过 4/6。A 通过第 1—4 题,B 通过第 3—6 题。只报告相同均值,丢掉了什么?
  4. 团队看完 KA-1 失败后改写提示,只重跑失败候选。要形成公平的新比较,必须改变什么?
  5. 裁判在六道简单题上与参考一致,却总偏好排在前面的答案。应做什么校准?当前证据不支持什么结论?
  6. 六个提示各重复三次,共十八次尝试。做题目层面的不确定性分析时应怎样分组?为何一个成功种子不够?
  1. 子串规则有两个假阳性:矛盾答案与无依据取消;严格规则有两个假阴性:正确的现行表述,以及正确区分新旧金额的表述。准确率都是 4/6,但前者放过严重事实/权限错误,后者拒绝了有用改写。
  2. 否决。双语完整覆盖与审批边界是硬门槛,其他十一个“题目—语言”结果正确也不能补偿。应保留失败回答和依据,不偷偷降低阈值。
  3. 共同成功的只有第 3—4 题,A 独有成功为第 1—2 题,B 为第 5—6 题。如果这些题组的风险或语言要求不同,选择可能不同;配对结果才能显示出来。
  4. 把提示/适配记为新版本,已检查的失败成为开发材料,两候选都在相同更新条件下重跑。要判断未来表现,还需加入未用过的验收题,同时保留 v1 记录。
  5. 对匹配答案对交换展示顺序,包含已知正确和错误的回答,再与独立标签比较。这样的不稳定性不支持替代人评;简单题一致没有建立目标分布上的有效性。
  6. 重抽样或汇总时,同一提示的三次尝试放在同一组。契约要求三次主策略都成功,才算稳健通过。只挑一次幸运输出,会同时改变所测用户体验与冻结的决策规则。