2358 字
约 7 分钟
10
S21-J15 · 模型后训练:四阶段、SFT 与 RL 的分工

适用读者:要判断"该靠提示词还是靠训练"、要读厂商"我们的模型后训练过"的说法、要设计微调/RL 项目的人。
前置:S21-J14(评估)、J12(完成标准)。
覆盖旧文:A-4574(模型后训练,第 8 章,61,377 字符)→ 40 小节 / 约 6.1 万字符。
扩展点:E-S21-047(四阶段各自的数据与优化目标)、E-S21-048(SFT 记忆 / RL 泛化的机制解释)、E-S21-049(数据与环境比算法更重要)。
上一篇:S21-J14 · Agent 的评估:解剖一条任务,分清 Pass@k 与 Pass^k
下一篇:S21-J16 · Agent 的持续进化(待写)。


1. 一句话结论

掌握 PPO/GRPO 的用法只是入门;真正决定成败的是三件事:Mid-training 语料补齐了底座没有、示范数据建立了行为协议没有、仿真环境与奖励能不能提供可靠反馈。 很多场景下,前两件做到位,你根本不需要做 RL。

出处:《AI Agent 深入理解》第 8 章(A-4574)。


2. 四阶段:数据、目标、代价(E-S21-047)

阶段 数据 优化目标 代价 一句话
预训练 海量互联网文本 预测下一个词 极贵(数千万美元级) 读完整座图书馆:博学但不听指令
Mid-training / CPT / DAPT / TAPT 目标语言、领域文档、代码、长上下文、能力数据 仍是语言建模 中 补通用预训练没覆盖好的"教材章节"
SFT 几千到几万条"输入—标准输出" 极大似然(模仿示范) 便宜、快、稳 老师示范答题与表达规范
RL 任务 + 环境 + 奖励(参考答案可选) 最大化期望奖励 样本效率低(SFT 的几十到上百倍) 自己下场做题,按结果打磨

判据:"补知识"用 Mid-training,"定格式/流程"用 SFT,"要泛化到新情况"才轮到 RL。 顺序错了,后面都白做。


3. SFT 记忆、RL 泛化:机制解释(E-S21-048)

维度 SFT RL
优化目标 最大化标注答案概率 最大化期望奖励
训练信号 逐 token 监督 轨迹 + 结果级/步骤级标量奖励
分布形态 mass-covering(覆盖多个示范模式) mode-seeking(集中到高奖励峰)
分布漂移下 取决于示范覆盖与正则化 取决于奖励、环境、探索
样本效率 高(几千条见效) 低
稳定性 高、收敛快 低、易震荡
最适合 固化格式/风格/流程 泛化到新场景、探索最优策略

原文对照实验的结论(属特定条件下的观测,不是普遍属性):GeneralPoints、V-IRL 同任务同预算下,SFT 对训练答案过拟合(把 J/Q/K 都当 10),RL 更易学到可迁移策略(重新执行计算过程)。数据足够多样、正则化得当时 SFT 也能泛化;奖励或环境有偏时 RL 也会过拟合。

判据:"SFT 记忆、RL 泛化"是倾向,不是定律。 讲这句话时必须带条件。

3.1 后训练还在塑造"何时行动"

Coding 模型常见差异:有的先广泛读仓库再动手,有的少数文件定位完就提交补丁。这不是"性格",是参数里的策略在估计"再读一个文件的预期价值"是否还高于"现在就改并验证"。

SFT 示范反复包含"先调查后编辑" → 行动阈值被推高
RL 的过程/结果奖励持续认可"快速定位、尽早进入验证循环" → 阈值被拉低

重要含义:同一个中性 Harness 换模型,行为阈值会变(原文实验 7-9 测到)。所以"模型不听话"有时根本不是提示词问题——它带着自己的策略。


4. 数据与环境比算法更重要(E-S21-049)

该做的事 判断标准 常见错
Mid-training 语料 底座是否真的"见过"你的领域与语言 直接上 SFT,模型连术语都不认识
示范数据 是否建立了行为协议(格式、流程、停止条件) 只挑"正确答案",不示范过程
仿真环境 + 奖励 能否提供可靠、便宜、可重复的试错反馈 奖励可被钻空子

奖励设计的四个问题:

问题 选项 风险
奖励从哪来 规则 / 人类偏好 / 模型评判 模型评判可被"讨好评委"利用
何时给 结果级 / 步骤级 结果级稀疏,步骤级要信用分配
给多少信息 标量 / 向量 / 生成式诊断 标量信息少,诊断信息多但贵
只要结果对吗 加路径约束(RLVP) 只看结果 → 学到危险捷径(如删库通过测试)

判据:"结果正确还不够"——编码 Agent 若靠删掉测试通过,奖励设计就是失败的。


5. 从单轮到多轮:信用分配

挑战 说明 手段
稀疏奖励 一条长轨迹只有一个最终分 步骤级奖励、过程奖励模型
信用分配 哪一步该负责 从轨迹定位首个错误(接 J14 §5)
环境不可造 真实环境太贵/不可控 让模型扮演环境(LLM-as-Environment)
评估隔离 训练集与评估集混淆 环境、任务分布、评估集三者分开管理

为什么 LLM RL 常优先 On-Policy:模型要探索自己的动作分布;Off-Policy 数据分布偏差大,长序列上尤其难纠正。


6. 蒸馏:提升样本效率

方式 做法 适用
在轨蒸馏 强教师对学生的 rollout 逐步给分布监督,一次 rollout 产生密集信号 有更强教师
On-Policy 自蒸馏 没有更强教师时,用自身多次采样的好轨迹当监督 只有同款模型

判据:蒸馏是把"稀疏奖励"变"密集监督"的手段,本质仍是样本效率问题。


7. 三个真实案例(原文「从问题案例到后训练」)

案例 现象 处方
Coding Agent 过早结束 还没验证就报完成 奖励里加"验证通过",或 SFT 示范"必须跑测试"
中文引号 编辑工具静默转换导致匹配失败(接 J11 §6) 先修工具,别急着训练
编辑文件经常失败 old_string 不精确 工具返回"最接近匹配",或示范精确编辑

判据:遇到问题先问"是 Harness 问题还是模型问题"。 工具缺陷用训练去补,是最贵的错。


8. 反例与排障

现象 根因 处理
SFT 后只会背答案 示范太窄、正则不足 加多样性、早停、混入通用数据
RL 后行为退化、语言崩 KL 约束弱 / 奖励过拟合 加 KL、熵正则、检查奖励漏洞
训练很久没提升 底座缺知识 回头做 Mid-training
线上表现与训练不一致 环境/工具与训练时不同 对齐工具与观察格式
成本失控 用 RL 解决格式问题 格式用 SFT,别上 RL

9. 自测

  1. 四阶段各自解决什么问题?顺序能否颠倒?
  2. mass-covering 与 mode-seeking 分别对应哪种方法?为什么?
  3. "SFT 记忆、RL 泛化"成立的条件是什么?
  4. 遇到中文引号那类失败,第一步该做什么?
答案
  1. 预训练给通用能力、Mid-training 补领域底座、SFT 定协议、RL 求泛化;顺序基本不能颠倒(底座缺知识时 SFT/RL 都事倍功半)。
  2. SFT→覆盖式(极大似然覆盖多个示范模式);RL→寻峰式(按奖励集中到高奖励峰)。
  3. 数据足够多样/正则得当时 SFT 也能泛化;奖励或环境有偏时 RL 也会过拟合。
  4. 先修工具的参数保真,不要用训练去补工具缺陷。

10. 下一篇

S21-J16 · Agent 的持续进化(待写)—— 从运行轨迹里读学习信号、经验沉淀的四种形态(知识/指令/程序/参数)、睡眠学习与能力保鲜、进化的安全边界(章 9)。


本篇属于系列《S21 · Agent 工程与 MCP》。旧文来源:A-4574(第 8 章);扩展点 E-S21-047/048/049。「SFT 记忆、RL 泛化」为原文特定实验条件下的观测,非普遍属性。

S21-J15 · 模型后训练:四阶段、SFT 与 RL 的分工
https://www.clxhxhhr.top/posts/5499/
作者
clxstart
发布于
2024-12-31
许可协议
CC BY-NC-SA 4.0
评论
0 条
还没有评论,先写一条吧。