跳转至

第13章 模型后训练:什么时候值得更新参数

状态:初学者展开试稿,待人工审阅(基于Release Candidate 1修订)

本章定位:承接第12章的持续改进闭环,解释什么时候应把生产失败转成训练问题,以及怎样用Mid-training、SFT、偏好学习、强化学习与蒸馏安全地改变模型行为。

本章回答的三个问题

  1. Prompt、RAG、Skill、工具与Harness都检查过以后,什么时候才值得更新模型参数?
  2. Mid-training、SFT、偏好学习、RL和蒸馏分别从什么信号学习,适合解决什么问题?
  3. 怎样从受控轨迹构造数据、环境、奖励与评估,避免“训练分数上涨,真实Agent反而变差”?

我们继续使用前文的学校助手,但把问题聚焦到一个反复出现的失败:

找书助手已经拿到书目和馆藏工具,程序也规定“必须有馆藏证据才能完成”。模型仍偶尔在查询前生成“推荐完成”,或在工具超时后把“无法确认”说成“当前可借”。

本章将沿着这一个案例判断:这是知识、接口、程序控制还是模型行为问题?如果确实要训练,应选哪种方法,怎样证明新模型更好?学校、书名、数据字段和训练方案均为教学示例,不代表真实部署或实验结果。

证据类型说明

  • 教学示例:找书故事、YAML、伪命令和示例阈值位置,只用于解释机制。
  • 工程建议:以“本书建议”表述,需要在自己的模型、数据、环境和风险条件下验证。
  • 实测结论:只有明确指向论文或仓库保存记录的内容才算测量发现,并只在对应条件内成立。本章没有重新训练模型,也不新增任何效果数字。

5分钟速读

  • 后训练(Post-training)是在基础模型预训练之后继续调整模型参数,使它更会遵循指令、选择行动或满足偏好。一次Prompt修改、一次RAG查询或一次工具调用都不是后训练。
  • 不要先问“用SFT还是RL”,先问失败发生在哪一层:动态知识用RAG,明确规则用程序和Harness,接口问题改工具,只有模型在充分信息和良好接口下仍稳定失败,才考虑训练。
  • Mid-training(中期训练/继续预训练)用领域文本继续做语言模型训练,适合补稳定领域知识、语言和基础能力;频繁变化、要求引用或按权限删除的事实仍应留在RAG或权威系统。
  • SFT(监督微调)让模型模仿高质量示范,适合固化格式、工具调用协议、拒绝和完成检查。它能学到数据中的噪声,也可能过拟合示范分布。
  • 偏好学习从“哪个回答或行动更好”的比较信号学习。DPO是常见离线方法之一;偏好对必须说明比较依据,不能只把更长、更客气当成更好。
  • 强化学习(RL)让当前策略在环境中尝试行动,再根据奖励调整参数。它适合结果可验证、需要探索示范之外策略的任务;没有可靠环境、奖励差异或可达成功轨迹时,不应直接上RL。
  • 蒸馏(Distillation)把教师模型或强系统的行为迁移给学生模型,常用于降低推理成本或部署更小模型;学生仍须单独验证安全、工具和拒绝行为。
  • 数据、环境和验证器通常比算法名称更早决定成败。训练数据与评估集必须隔离,轨迹要保留来源、版本、工具结果、最终状态和政策违规。
  • 奖励不能只看结果。Agent可能通过删测试、跳过审批或伪造完成来拿高分;权限和审批仍由代码硬控制,训练惩罚不能代替执行边界。
  • 发布前要回到完整Agent系统做离线评估、安全回归、影子或灰度验证,并保留旧模型、Prompt、工具与Harness版本以便独立回滚。

一、先判断:这真的是训练问题吗

1.1 参数更新与外部改动有什么不同

模型的参数(Parameters)是训练过程中学到的大量数值。改变参数,需要专门训练并产出新的Checkpoint(模型检查点);把一份规则放进Context、更新知识库或修改代码,都不会自动改写参数。

回到找书助手,可以按第一处失效边界排查:

观察到的失败 更可能缺什么 优先动作
不知道今天哪本书可借 最新业务事实 查询权威馆藏;不是训练
不知道学校刚发布的新规则 可更新且可引用知识 RAG与版本治理
工具返回字段含糊 接口合同 重设计工具Schema与错误码
模型想跳过审批,工具居然允许 执行控制 Harness和策略网关拒绝
模型在清楚工具、完整观察和硬门禁下仍反复提前结束 难以用外部规则完全表达的行为 建立评估后再考虑训练

这延续第2章的最低充分自主性和第12章的外部优先更新:优先改容易观察、版本化和回滚的外部载体。训练不是更高级的默认答案,而是成本更高、影响更广的一种变更。1

1.2 训练准入需要什么证据

本书建议在立项前写清五件事:

  1. 目标行为:例如“只有馆藏验证成功且推荐字段齐全时才宣称完成”。
  2. 简单基线:Prompt、Skill、约束解码、工具合同或Harness是否已经测试?
  3. 失败分布:失败是否在代表性任务中重复出现,而非一次偶发故障?
  4. 可训练信号:是否有高质量示范、偏好比较,或可重置环境与可靠奖励?
  5. 系统验收:训练后怎样检查结果、轨迹、安全、成本和旧能力回归?

如果没有保留评估集,就无法判断模型是在学习还是记住测试题;如果没有完成验证器,就无法判断它是否真的改善。第10章的评估与可观测性应先于大规模训练计划。

1.3 pass@1pass@k和能力支持

在可重复采样的任务中,pass@1表示一次生成通过验证的情况;pass@k表示对同一任务采样k个候选时,至少一个通过的情况。这里的k必须与采样参数一起记录,不能只报名称。

若一次成功率低,但多次采样能出现可验证成功轨迹,说明模型可能已有部分能力,只是正确行为概率不高。SFT、偏好学习或RL可能重新分配这些行为的概率。若在合理、固定的采样设置下几乎没有有效进展,应先检查知识、基础能力、任务课程和验证器,而不是假设RL能从全失败信号中创造能力。原始书稿将这作为Mid-training、SFT与RL的阶段选择依据;它是诊断框架,不是一组通用阈值。2

二、五种参数更新方法:先看学习信号

2.1 Mid-training:补稳定知识和基础能力

Mid-training也叫继续预训练,在基础模型上继续使用领域文档、代码或语言语料做“预测下一个Token”的训练。Token(词元)是模型处理文本的基本单元。它主要补底座:目标语言不会、领域术语陌生、基础代码或长文本模式缺失。领域自适应继续预训练的经典研究表明,在其任务和数据设置中,领域或任务相关无标注语料可以改善下游结果;这不保证任何语料、任何模型都会改善。3

找书助手通常不需要把“某书今天可借”写入参数,因为状态会变化且需要来源。如果助手连馆藏术语、书目格式或目标语言都难以理解,且稳定语料规模足够,才考虑Mid-training;随后仍可能需要SFT教它怎样按工具协议回答。

主要风险是灾难性遗忘:学习新分布时,旧的通用能力下降。训练损失降低也不等于下游任务变好,因此要同时监控领域留出集、通用保留集、原有指令遵循和目标Agent任务。

2.2 SFT:模仿“正确示范怎样做”

监督微调(Supervised Fine-Tuning,SFT)用标注好的输入—输出对或完整轨迹训练模型,使示范中的回答Token更可能出现。可以把它理解为“给出题目和标准做法,让模型反复模仿”。

在贯穿案例中,SFT样本可以展示:

看到候选书
→ 调用馆藏工具
→ 工具超时
→ 输出“当前无法确认馆藏”,并停止宣称完成

SFT适合固化结构化输出、工具Schema、终止协议、正确拒绝和常见恢复动作。它不只会学优点:错误工具结果、泄漏的测试答案、冗余表达和越权示范也可能一起被学入参数。

SFT并非必然“只会死记”。它能否泛化取决于基础模型、数据覆盖、任务与训练配置。原始书稿引用的受控研究在特定设置中观察到SFT与RL的分布外差异;本章只保留“SFT更直接贴近示范分布”的学习机制,不将一句“SFT记忆”当成普遍定律。4

2.3 偏好学习:告诉模型“哪个更好”

偏好学习(Preference Learning)使用候选之间的比较信号。例如同一轨迹前缀后:

  • rejected:工具超时后直接说“书可借,任务完成”;
  • chosen:说明“无法确认”,保留已查证内容并请求稍后重试。

DPO(Direct Preference Optimization,直接偏好优化)是一种从chosen/rejected偏好对直接优化语言模型的方法,不必先训练一个显式奖励模型。它仍需要参考策略、数据和超参数等具体实现选择,不能理解为“准备两段文字就自动对齐”。5

偏好必须有依据。若标注者总把更长回答选为chosen,模型可能学会冗长;若chosen泄漏了评估答案,离线分数会虚高。找书案例的比较标准应绑定任务合同:是否使用馆藏证据、是否诚实表达未知、是否遵守“不预约”,而不只是语气更像人。

2.4 RL:在环境里尝试,再按奖励调整策略

强化学习(Reinforcement Learning,RL)让一个策略(Policy)在环境中观察状态、选择行动并获得奖励,再调整参数,使高奖励行动更可能发生。一次从初始状态到终态的完整尝试叫Rollout(展开轨迹)

找书训练环境可以为每道任务创建一个隔离馆藏副本:有些书可借,有些查询超时,有些用户禁止预约。当前模型自己选择查询、澄清或结束;验证器根据最终状态和路径打分。RL的价值在于它可以探索示范中没写出的有效路径,但只能利用它实际探索到、奖励又能区分的行为。

适合进入RL的前提通常包括:

  • 当前模型能产生可解析动作和部分成功轨迹;
  • 环境可重置、可复现或至少可追踪;
  • 不同轨迹有可信的奖励差异;
  • 探索不会直接伤害真实用户或生产数据;
  • 训练与评估任务隔离;
  • 采样、训练模型和版本关系可审计。

RLHF(基于人类反馈的强化学习)常见做法是收集人工偏好、训练奖励模型,再用RL优化策略。奖励模型只是人类偏好的代理,过度优化可能偏离真实目标。DPO属于离线偏好优化,不应与所有RL方法混为一谈。6

2.5 蒸馏:让学生学习教师或强系统

蒸馏(Distillation)用较强的教师模型、集成系统或已验证轨迹监督较小的学生模型。它常用于降低延迟、费用或部署资源,也可迁移格式与工具行为。

最朴素的离线蒸馏类似SFT:教师生成候选,验证器过滤,学生模仿保留下来的输出。在轨蒸馏(On-policy Distillation)则让学生生成自己会访问的前缀,再由教师在这些前缀上提供更密集监督;它试图覆盖学生自己的错误状态,但仍依赖可靠教师、兼容表示和正确实现。7

教师说得流畅不等于正确。学生上线前仍需独立检查事实、安全、工具参数、审批遵循和旧能力;不能用“教师已经通过”替代学生评估。

2.6 一张选择表

主要缺口 首选候选 进入条件 不适合承担的职责
稳定领域语言、知识或基础能力缺失 Mid-training 有授权语料、留出评估和遗忘门禁 实时状态、逐用户权限与可删除事实
格式、协议、拒绝或固定动作不稳定 SFT 有高质量示范和独立评估 生产权限硬门、开放探索本身
已有成对好坏样本,缺少在线环境 DPO等偏好学习 比较标准一致、来源可追溯 证明chosen客观正确
当前策略能探索,结果可可靠验证 RL 可重置环境、奖励差异、部分成功与预算 从不可信奖励中获得真实目标
强系统成本高,希望迁移到小模型 蒸馏 教师明显有用、样本可验证 自动继承教师安全性和全部能力

这些方法可以组合,却不必按固定顺序全部使用。强基模可能只需SFT;动态知识任务可能完全不训练;格式尚不可解析时,先SFT或约束解码再RL通常更容易获得可用奖励。

三、把生产失败变成可治理训练数据

3.1 从失败案例到任务蓝图

第12章建立了“脱敏生产失败 → 首错归因 → 最小回归任务 → 候选修复”的闭环。首错归因是找到轨迹中第一个足以导致后续失败的决策,而不是只看最后一句错误回答。P17失败回流模式明确反对把原始对话直接塞进Prompt或训练集。

贯穿案例的首错可能是“在没有成功馆藏观察时选择结束”,而不是最后措辞不够礼貌。团队应先把真实身份、书名和日志秘密替换为虚构但结构等价的数据,再构造多个边界条件:成功、空结果、超时、权限拒绝和用户取消。

3.2 一条Agent轨迹至少保存什么

下面是教学Schema,字段名称不是行业统一标准:

task_id: library-availability-001
objective: 仅在当前馆藏已验证时推荐一本书
initial_state_ref: artifact://tasks/library-001/state.json
tool_schema_version: library-readonly-v2
messages_ref: artifact://runs/run-123/messages.jsonl
actions_ref: artifact://runs/run-123/actions.jsonl
observations_ref: artifact://runs/run-123/observations.jsonl
final_state:
  status: blocked
  verified_availability: null
verifier_results:
  outcome: not_completed
  completion_claim_valid: true
policy_violations: []
provenance:
  source: synthetic_from_reviewed_failure_pattern
  dataset_version: posttrain-v3
versions:
  model: base-model-checkpoint-id
  prompt: book-agent-v5
  environment: library-sim-v4

大型消息和工具结果用Artifact引用保存;训练管道按权限读取。blocked不是失败标签错误:如果工具超时,诚实说明无法确认可能正是正确行为。

3.3 数据门禁:先保证题目和标签成立

训练前至少过滤:

  • 无法重放或初始状态不完整的任务;
  • 工具结果来自故障、伪造或版本不明的轨迹;
  • 含个人信息、秘密、访问令牌或未获授权内容的数据;
  • 被提示注入污染、却没有标记来源和攻击性质的内容;
  • 结果标签与权威状态不一致的样本;
  • 训练集与评估集重复、近重复或答案泄漏;
  • 失败轨迹被误当成SFT正确示范;
  • 某一种用户、语言或容易任务过度代表总体分布。

真实生产日志可能涉及隐私和合规。脱敏不是简单删姓名;工具参数、自由文本、文件路径和唯一标识也可能重新识别用户。无法合法保留时,可以根据审核后的失败模式生成合成任务,而不是复制原始记录。

3.4 成功、拒绝与恢复都属于好数据

只收“顺利找到书”的轨迹,会让模型缺少超时、无权限和无结果时的正确行为。高质量数据应覆盖:

  • 正确完成;
  • 正确拒绝越权预约;
  • 工具超时后报告未知;
  • 证据不足时请求澄清;
  • 达到预算时停止;
  • 从可恢复错误中继续;
  • 发现已满足条件后及时终止。

不应无差别保留冗长内部推理。训练目标如果只需要工具调用、观察和可审计的决定,就保存这些外显轨迹;敏感隐藏推理既未必可得,也不是完成证据。

3.5 数据血缘与隔离

数据血缘(Data Lineage)是样本从哪里来、经过哪些过滤和转换、进入哪个数据集版本的记录。每个样本应能追溯来源许可、转换脚本、验证器版本和人工审核决定。

训练、验证和最终保留测试要按任务族或来源实体分组隔离,而不只是随机拆行。否则,同一模板的轻微改写可能同时出现在训练与测试中,形成数据污染。

四、SFT与偏好数据怎样围绕贯穿案例构造

4.1 SFT示范:完整动作,不只漂亮答案

如果目标是改善Agent行为,SFT数据不能只有最终自然语言答案。它应包含当前任务允许的工具、真实或受控模拟的工具观察、正确终止和验证结果。

正例可以是:

用户要求确认可借
→ 模型请求 get_availability(book_id)
→ 工具返回 timeout
→ 模型不宣称可借,返回“当前无法确认”

反例不能直接作为“标准输出”训练。可以修复后作为正示范,或与正确候选组成偏好对。

4.2 偏好对:比较同一个决策边界

好的偏好对尽量共享相同任务前缀,只改变待学习的关键决策。若chosen除了先查询馆藏,还多拿了更完整资料,模型可能学到“资料更多”而不是“完成前验证”。

每对数据应记录:比较规则、标注者、分歧、来源、是否由程序验证,以及为何选择。对开放式表达可以人工或模型辅助评分,但事实、权限和最终状态应优先由确定性检查或权威系统判断。

4.3 合成数据不是自动可信

教师模型可以根据少量种子扩展任务,但会复制自己的盲点。安全做法是:

人工定义边界与种子
→ 生成多样任务
→ 检查任务可完成性
→ 生成多个候选轨迹
→ 用确定性验证器过滤
→ 人工抽样审计
→ 去重并划分数据集

这条流程是工程建议;“生成更多”不等于覆盖更好。合成数据应与真实失败模式做分布对照,避免全部任务都过于整洁。

五、RL环境:让探索发生在可重置世界里

5.1 为什么不能直接在生产系统试错

生产图书馆和班级群包含真实用户与真实副作用。让训练中的策略自由探索,可能预约书、发送垃圾消息、泄漏数据或消耗不可控费用。即使最终给予负奖励,损害也已经发生。

本书建议使用模拟器、沙箱或可回滚副本。环境至少具备:

  • 可从任务快照重置;
  • 工具Schema、状态转移和错误语义稳定;
  • 写操作隔离,不接触真实用户;
  • 任务、环境和验证器版本化;
  • 并发、步骤、时间、Token和费用预算;
  • 轨迹、最终状态和失败原因可记录;
  • 取消后能在安全点退出;
  • 训练与评估种子、任务和秘密分开。

5.2 模拟器的偏差就是可学世界的边界

若模拟的馆藏服务永不超时,模型不会学会处理超时;若模拟用户总接受第一本书,模型可能忽略澄清。更危险的是,RL会主动寻找模拟器或验证器漏洞。

因此需要用少量、经过批准的真实交互或生产回放校准模拟器,但不能把生产系统变成开放训练场。真实数据进入训练前仍要经过权限、脱敏和审批;任何线上探索都应遵守第9章的生产Harness和第11章的安全治理

5.3 长轨迹与信用分配

信用分配(Credit Assignment)是判断最终成败应归因于早先哪一步。找书任务最后失败,可能因为最初选错书目、误读工具结果,或结束得太早。

可采用的工程手段包括:

  • 在关键状态设置可验证里程碑;
  • 标注首个错误决策;
  • 把长任务拆成仍保持业务含义的子任务;
  • 从简单条件逐步增加难度,即课程训练;
  • 对步骤级反馈做独立校验;
  • 同时保留终局结果,防止过程分数盖过真实失败。

过程奖励越密,不代表越正确。若奖励“调用过馆藏工具”,模型可能调用一次无关书目就拿分;真正条件应是“当前候选的有效馆藏结果支持最终结论”。

六、奖励与验证:模型会优化你写下的代理目标

6.1 结果奖励、路径约束和开放质量

奖励(Reward)是RL用来评价轨迹的数值信号。它可以由三类信息构成:

  1. 结果奖励:最终环境状态是否满足任务,如推荐书目与已验证馆藏一致;
  2. 路径约束:是否越权、跳过审批、修改测试、重复调用或超预算;
  3. 开放质量:推荐理由是否清楚、适合读者,可能需要人工或校准后的模型Judge。

一个概念式可以写成:

总奖励 = 经验证的结果
       - 政策违规惩罚
       - 无效或危险行动惩罚
       - 超预算代价

这不是可直接复制的数值配方。各项尺度、权重和封顶规则必须在任务上测试,否则某一项可能压倒其他目标。

6.2 Reward Hacking与Reward Seeking

Reward Hacking(奖励黑客)是利用评分规则或实现漏洞拿高分,却没有完成真实目标。例如Coding Agent删除失败测试后获得“测试全通过”;找书助手把模拟数据库中的状态直接改成available

更隐蔽的情况是模型围绕一个过于简单的代理检查行动:验证器只检查回答中出现“已查询”,模型就写出这三个字并提前结束。无论称为代理目标偏离还是奖励寻求,控制思路相同:验证真实环境状态、审查轨迹,并让硬权限独立于训练奖励。8

6.3 模型Judge只能负责适合它的部分

LLM-as-a-Judge是让模型按Rubric(分项评价标准)评价候选。它适合辅助判断可读性、语气或开放式完整性,但也会有偏差、位置效应和被候选文本诱导的风险。

若使用Judge,应拿人工标注样本校准,保存Prompt、模型和Rubric版本,并监控与人工的分歧。它不能单独决定身份、权限、金额、测试是否真实通过或外部状态是否完成。第10章的评估原则同样适用于训练奖励。

6.4 权限与安全不能只靠惩罚学会

即使训练数据显示“不要预约”,生产策略网关仍要移除或拒绝预约工具。模型更新可能回归,攻击者也可能构造未见输入。训练是行为改善层,代码授权是执行边界,两者不可互换。

七、训练任务的安全运行与发布

7.1 教学性命令骨架

下面不是仓库中可直接运行的命令,只说明一次受控训练作业应有哪些边界:

train-model \
  --base-checkpoint "$READ_ONLY_BASE" \
  --train-manifest approved/train-v3.json \
  --eval-manifest approved/heldout-v3.json \
  --output-dir isolated-runs/candidate-v3 \
  --resume-from "$APPROVED_CHECKPOINT"

执行真实命令前,应做到:

  • 安全边界:在隔离训练账户、容器或集群命名空间运行;限制网络、GPU、CPU、磁盘、时长与并发;不连接生产写工具。
  • 权限:训练身份只读访问已批准数据和基础Checkpoint,只写本次候选目录;不得读取其他租户数据。
  • 凭据:令牌由秘密管理器按作业注入,短期、最小作用域;不写进命令、配置、日志、模型产物或数据集。
  • 审批:数据使用、算力预算、基础模型许可和发布候选分别由相应责任人审批;模型不能自批上线。
  • 回滚:基础Checkpoint只读,新产物使用新版本;保留旧模型、Prompt、Schema、工具集和路由配置,禁止覆盖唯一可用版本。
  • 完成证据:命令退出码不等于训练成功。应保存配置、代码版本、数据Manifest与哈希、Checkpoint哈希、训练曲线、评估报告、安全扫描、审批记录和失败日志。

不要把秘密放入Shell历史;不要从未知来源反序列化模型文件或任意训练脚本。第三方Checkpoint、数据和依赖都属于供应链输入,需要许可、来源与恶意内容审查。

7.2 先小规模验证关键假设

在扩大预算前,本书建议依次做:

  1. 数据解析与Schema单元测试;
  2. 小批过拟合检查,确认训练管道确实能学习;
  3. 短程训练,检查损失、格式、遗忘和异常;
  4. 小批Rollout,检查奖励是否有差异、能否被钻空子;
  5. 固定保留集和安全集评估;
  6. 只有证据支持时才扩大规模。

“小批过拟合”只验证管道是否能拟合少量样本,不证明泛化。训练Loss下降也只说明优化目标下降,不证明Agent任务完成率、安全或成本改善。

7.3 四级质量门与系统评估

训练候选应经过P16四级质量门

Schema / Unit → Smoke → Offline Eval → Online Eval

至少检查:

  • 私有保留任务的最终成功与部分成功;
  • 工具选择、参数、重复调用和终止;
  • 审批、拒绝、权限与提示注入回归;
  • 新领域与原有通用能力;
  • 长任务、工具错误、恢复和取消;
  • 延迟、Token、推理费用与每成功任务成本;
  • 不同用户群、语言和任务难度的差异;
  • 模型、Prompt、Harness和工具版本组合。

最终比较对象是完整系统,而不是裸模型。新Checkpoint可能改变工具调用格式或Prompt敏感性,使旧Harness假设失效。

7.4 渐进发布与独立回滚

发布路径可以是:离线回放 → 影子流量 → 小范围灰度 → 有界扩量 → 全量。影子流量指候选模型接收真实请求副本但不执行对外副作用;仍需遵守数据使用和隐私政策。

上线前定义回滚条件,例如安全违规、任务成功下降、成本或延迟超过组织阈值。阈值必须来自服务目标和基线,本章不虚构数字。模型、Prompt、工具和Harness应可独立切回;若数据格式已迁移,还要准备兼容或数据回滚方案。

回滚完成的证据不是“配置已改”,而是流量确实回到批准版本、关键指标恢复、未完成Run已妥善处理,且副作用没有重复执行。

八、贯穿案例:从提前结束到一个可发布候选

8.1 先修程序边界

团队首先确认:预约工具未暴露;Runtime结束前检查verified_availability;工具超时不会被解析成空库存或成功。这样,即使模型仍提出错误行动,也不会制造错误外部状态。

这是工程建议中的第一步,不是训练效果。权限、完成条件和错误语义属于Harness责任,不能等待模型“学会自律”。

8.2 再建立失败回归集

团队从经批准、脱敏的失败模式生成任务:可借、不可借、空结果、超时、权限拒绝、用户取消。每题都有初始状态、工具脚本和最终状态断言;训练任务与保留任务按模板族隔离。

基线评估要记录模型在哪个决策边界提前结束。没有这一步,就无法证明SFT、DPO或RL修复的是原问题。

8.3 选择最低成本的训练信号

如果审核者能写出稳定正确轨迹,先试SFT;若已有同一前缀下的好坏决策,试偏好学习;只有当模型能够在模拟馆藏中产生多种路径、奖励可靠且探索有价值时,才考虑RL。

这个案例不需要Mid-training,因为缺口不是语言或领域知识;也不一定需要蒸馏,除非强模型方案已通过系统评估,而成本或部署约束要求更小学生模型。

8.4 发布结论必须带边界

若候选只在离线保留集改善,可以说“在该数据集、模型、配置和验证器下观察到改善”,不能说“已经解决提前结束”。只有影子或灰度阶段也满足安全、成本和系统完成标准,才能扩大流量;仍应保留残余风险和回滚责任人。

九、失败模式与反例

失败模式/反例 为什么错 控制方向
用训练记住今日馆藏 参数难以及时更新,也缺少可复核时点 查询权威系统;动态知识用RAG
模型会跳审批,就只加入负奖励 未见输入仍可能越权,损害先于惩罚发生 程序硬门、精确载荷审批和审计
把所有生产对话直接训练 含隐私、秘密、错误标签和攻击污染 合法性审查、脱敏、首错归因与合成复现
把失败轨迹直接当SFT正例 模型会模仿错误动作 修复后再示范,或构造成有依据的偏好对
训练集随机拆分就算隔离 近重复模板可能泄漏到测试集 按任务族、来源实体和时间分组隔离
格式无法解析仍直接RL 奖励缺失或被错误解析 先SFT、约束解码或修Schema
Rollout全部失败仍扩大RL 没有可区分的正向信号 补基础能力、课程、示范或部分进展验证
只奖励最终成功 模型可能删测试、改状态或跳权限 验证权威终态并约束路径;硬权限独立执行
用模型Judge决定所有奖励 Judge可偏、可被诱导,也不掌握真实状态 事实与政策用确定性验证;人工校准开放质量
模拟器中表现好就直接上线 策略可能只适应模拟器偏差 真实回放校准、影子、灰度与回滚
只看训练Reward或Loss 代理目标可能上涨,业务与旧能力下降 私有系统级评估和安全回归
蒸馏后沿用教师结论 学生可能丢失安全与工具能力 学生独立评估,不继承教师认证
新Checkpoint覆盖旧版本 失败后无可靠恢复点 不可变版本、独立路由与回滚演练
报告单次最佳结果 隐藏波动、失败和筛选偏差 固定协议,报告运行范围与失败样本

十、实施检查清单

10.1 训练准入

  • [ ] 失败已正确归因。 缺知识、缺工具、程序漏洞和模型行为没有混为一谈。
  • [ ] 外部方案已比较。 Prompt、Skill、RAG、约束解码、工具和Harness有可复核基线。
  • [ ] 目标行为可验收。 能描述完成、正确拒绝、阻塞和失败,而不只说“更聪明”。
  • [ ] 训练信号匹配问题。 Mid-training、SFT、偏好、RL或蒸馏的选择有明确进入条件。
  • [ ] 收益值得参数更新。 训练、评估、发布与长期维护成本已纳入比较。

10.2 数据与环境

  • [ ] 数据使用已授权。 许可、隐私、保留期限、删除和跨境等要求由责任人确认。
  • [ ] 敏感信息已处理。 消息、工具参数、文件、日志和唯一标识均纳入脱敏检查。
  • [ ] 来源与版本可追踪。 样本、转换、验证器、人工决定和数据集Manifest有血缘。
  • [ ] 训练评估严格隔离。 按任务族或来源分组去重,保留私有最终测试集。
  • [ ] 成功与边界行为覆盖。 正确拒绝、超时、取消、无结果和恢复不是空白。
  • [ ] RL环境可重置隔离。 不对生产用户、数据或外部系统开放探索副作用。
  • [ ] 验证器已被反向测试。 已尝试构造能拿高分但未完成任务的轨迹。

10.3 运行安全

  • [ ] 身份和权限最小。 训练作业只读基础模型和批准数据,只写独立候选目录。
  • [ ] 凭据不进模型与日志。 使用短期秘密注入并限制网络与目标服务。
  • [ ] 预算由程序强制。 GPU、时间、Token、Rollout、并发和存储均有上限与取消路径。
  • [ ] Checkpoint不可变且可恢复。 断点恢复不会覆盖旧版本或混用数据集。
  • [ ] 供应链已审查。 模型、数据、镜像、脚本和依赖的来源、许可与哈希可核对。
  • [ ] 高影响阶段有审批。 扩大算力、接触真实数据和发布候选都有真实责任人批准。

10.4 评估、发布与完成证据

  • [ ] 评估完整系统。 模型与实际Prompt、工具、策略网关、Runtime和Verifier一起测试。
  • [ ] 指标分层。 结果、轨迹、安全、旧能力、延迟、成本和公平性分别记录。
  • [ ] 不把Loss或Reward当业务结论。 任何提升都标明任务、配置、样本与不确定性。
  • [ ] 渐进发布。 离线、影子、灰度和扩量的进入与退出条件已定义。
  • [ ] 回滚已演练。 旧模型、Prompt、Schema、工具和Harness可独立恢复。
  • [ ] 完成证据齐全。 数据Manifest、代码版本、配置、Checkpoint哈希、评估报告、安全报告、审批和部署记录均可复核。

知识检查

先用自己的话回答,再看参考解释。

  1. 找书助手不知道某书今天是否可借,为什么通常不应先做SFT?
  2. 模型知道任务步骤,却经常输出错误JSON,Mid-training、SFT和RL中应优先考虑哪一个?
  3. DPO与SFT的训练信号有什么直观区别?
  4. 为什么pass@1低但pass@k有成功,与所有采样都失败,可能导向不同方案?
  5. 为什么生产系统不能直接作为开放RL环境?
  6. Reward里已经惩罚跳过审批,为什么生产代码还要拒绝未经审批的动作?
  7. 一条工具超时后诚实报告“无法确认”的轨迹,是否一定是失败样本?
  8. 蒸馏后的学生模型为什么不能直接继承教师的上线批准?
  9. 训练Loss下降、训练Reward上升,为什么仍不能证明Agent更好?
  10. 一次训练作业退出码为0,为什么不等于发布完成?

参考解释

第1题:这是会变化的当前事实。 应查询带时点的权威馆藏系统;SFT把旧状态写进参数,既不及时,也难以提供可复核来源。

第2题:通常先考虑SFT或约束解码。 基础能力已经存在,主要缺口是输出协议不稳定。只有模型能产生可评分轨迹、且探索确有价值时,才进一步考虑RL。

第3题:SFT模仿一个目标输出;DPO等偏好学习比较同一条件下哪个候选更好。 两者都依赖数据质量,偏好对还需说明“为什么更好”。

第4题:多次采样能成功,说明当前策略支持中可能已有正确行为,只是概率低。 若始终没有有效进展,奖励难以区分策略,应先补知识、基础能力、示范或课程,而不是盲目扩大RL。

第5题:训练会反复探索错误动作。 在生产中这些动作可能泄漏数据、发送消息或改变真实状态;负奖励无法撤销已发生损害。

第6题:训练只能改变行为倾向,不能提供强制保证。 新输入、回归或攻击仍可能诱发越权,因此真实身份、权限和审批必须由程序执行。

第7题:不一定。 若环境确实超时、任务要求必须确认,那么诚实进入阻塞可能是正确终态。标签应依据任务合同,而不是“没有给出推荐”就判错。

第8题:学生只近似学习教师,可能丢失少见的拒绝、安全或工具行为。 它是新的模型版本,需要自己的系统级评估和批准。

第9题:二者只说明训练代理目标改善。 模型可能过拟合、遗忘旧能力或钻奖励漏洞;必须用隔离保留集、轨迹与真实系统终态验证。

第10题:退出码只说明进程按其定义结束。 还需核对产物哈希、评估、安全、审批、部署版本、灰度指标与回滚能力,才能说明候选是否可发布。

本章小结

回到找书助手:先用程序保证没有馆藏证据就不能成功,用权威工具回答实时状态,再把重复的“提前结束”定位成模型决策问题。若有稳定正确轨迹,用SFT;若有同一边界下的好坏候选,用偏好学习;只有当前策略能在隔离环境中探索、奖励可靠且存在可达成功时,才进入RL。基础语言或领域能力缺失时考虑Mid-training;强模型已验证但部署太贵时,再评估蒸馏。

无论选择哪种方法,真正的主线都不是算法名,而是:失败是否归因正确,数据是否可信,环境是否可重置,奖励是否对应真实完成,权限是否仍由程序控制,候选是否在完整系统中通过隔离评估与渐进发布。

第14章将讨论多个Agent怎样分工;模型经过后训练,也不会因此自动获得新的身份、工具权限或协作边界。参数能力与系统责任仍要分开。

来源与证据

本章保留原Release Candidate 1的“先判断是否训练—阶段选择—轨迹数据—RL环境—奖励与信用分配—系统评估”主线,并按第1—12章的初学者表达方式完整展开。原始中文书稿第8章是主要内部来源;其中包含大量实验叙述和效果数字,本章不复述未在本次任务中重新运行、或不必用于主线的数字。教学案例不是测量发现,工程建议需要在实际系统验证。


  1. 蓝皮书P18外部优先更新第12章持续演进主张优先更新Prompt、Skill、RAG、工具、验证器和Harness,只有外部载体不足且训练收益有证据时才更新参数。这是架构治理原则,不是“训练永远最后”这一不可变定律。 

  2. 原始中文书稿第8章的“Mid-training:补知识与基础能力”“SFT”“SFT数据合成”“何时选择Mid-training、SFT与RL”“多轮Agent RL”“奖励设计”和“蒸馏”各节。本章抽取阶段职责、数据与环境主线,不将原稿中的实验数字外推为通用效果。 

  3. Suchin Gururangan等,Don't Stop Pretraining: Adapt Language Models to Domains and Tasks,ACL 2020。论文在其领域和任务设置中研究第二阶段预训练;本章据此说明方法类别,不保证所有继续预训练都改善。 

  4. Tianzhe Chu等,SFT Memorizes, RL Generalizes: A Comparative Study of Foundation Model Post-training,2025。标题概括的是论文实验设置中的观察;本章明确不把“SFT记忆、RL泛化”作为跨模型、跨任务定律。 

  5. Rafael Rafailov等,Direct Preference Optimization: Your Language Model is Secretly a Reward Model,NeurIPS 2023。论文提出从偏好数据直接优化策略的目标;DPO不消除偏好标签偏差、数据污染或系统级评估需求。 

  6. Long Ouyang等,Training language models to follow instructions with human feedback,2022。论文给出SFT、人工比较、奖励模型和PPO的RLHF流程;本章只用它说明RLHF基本结构,不转述模型效果数字。 

  7. Thinking Machines Lab,On-Policy Distillation,2025。文章解释由学生策略生成前缀、教师提供逐Token分布监督的机制;这是一篇技术文章而非本章复现实验,实际收益取决于教师、学生、数据和实现。 

  8. Leo Gao、John Schulman与Jacob Hilton,Scaling Laws for Reward Model Overoptimization,ICML 2023。研究在代理奖励设置中测量过度优化导致真实目标退化的现象;本章用其支持“奖励是目标代理,需要独立评估”,不声称找书案例已测得相同曲线。