评估与进化
Day 24 - Model Post-Training Concepts
今日目标
能区分预训练、SFT、RL,判断何时该用 Prompt/RAG/工具设计而不是训练模型。
学习安排
| 时间 | 模块 | 做什么 |
|---|---|---|
| 0-10 分钟 | 核心概念 | 通读当天术语表,圈出 3 个你最想在工作里用上的概念。 |
| 10-25 分钟 | 阅读输入 | 精读当天章节重点,只抓问题、思路、结论。 |
| 25-45 分钟 | 实践任务 | 动手完成输出模板,必须产出一份可复用产物。 |
| 45-55 分钟 | 追问与反思 | 回答追问练习,标记卡住的概念。 |
| 55-60 分钟 | 复盘与作业 | 整理自检清单,定下明天要复习的一点。 |
核心概念
| 术语 | 中文解释 | 应用场景 |
|---|---|---|
| pretraining | 预训练:在海量语料上学习语言与知识的基础训练 | 决定模型「懂什么」,一般由模型厂商完成 |
| SFT | 监督微调:用「输入-期望输出」配对数据微调模型 | 让模型学会特定输出格式、风格与规范 |
| RL | 强化学习:用奖励信号优化模型的决策与长程行为 | 优化工具调用策略、多步推理等难逐句标注的行为 |
| tool-use internalization | 工具调用内化:把工具调用能力从「提示里教」变成「模型天生会」 | 后训练之后模型对何时调工具、怎么填参数更稳 |
| sample efficiency | 样本效率:用尽量少的样本获得尽量多的能力提升 | 评估训练数据量与收益,决定值不值得训 |
| fine-tuning cost | 微调成本:数据准备、训练、评估、维护的总成本 | 算总账后判断「训练 vs 工程手段」 |
| when-not-to-finetune | 不该微调的情形:知识缺失、格式错误等场景先用上下文手段 | 多数工程问题不需要动模型权重 |
| eval-driven selection | 评估驱动选型:用同一套 eval 对比模型或策略,选胜出的 | 换模型、换 prompt 前先跑一轮 eval |
| reward signal | 奖励信号:RL 中衡量行为好坏的标准 | 定义「好工具调用」与「坏工具调用」的判定规则 |
阅读重点
围绕三个问题读第 7 章:三种训练方式各解决什么、提升工具调用有几条路、什么时候不该训练。
- 对应章节:第 7 章「模型后训练」,重点读 SFT、RL、工具调用内化、样本效率四部分。
- 关注点 1:三层分工——预训练决定语言与知识上限,SFT 教格式与风格,RL 优化决策与长程行为。
- 关注点 2:工具调用能力的三级提升路径——prompt 提示、工具与上下文设计、后训练内化,成本递增。
- 关注点 3:样本效率——微调收益随数据量递减,先想清楚要解决的到底是什么问题。
- 关注点 4:新手阶段原则——先做 Prompt/RAG/工具设计/eval,不急着训练模型。
- 补充材料:模型微调最佳实践的官方文档与博客。
- 补充材料:SFT 与 RL 对比的技术文章,重点看两者的适用场景差异。
理解检查
先不看笔记回答下面 4 个问题,卡住的写下来。
- 预训练、SFT、RL 分别解决什么问题?各举一个对应场景。
- 为什么新手不应该一开始就微调?微调之前应该先排除哪些手段?
- 工具调用能力可以通过哪些方式提升?按成本从低到高排个序。
- 什么情况下 SFT 比 Prompt 更合适?什么情况下 RL 更可能有效?
实践任务
背景:你的测试报告 Agent 出现了 3 类问题——不懂公司业务规则、输出格式常错、长链工具调用策略差。今天为每类问题选择优化路径,原则是「先便宜后贵」。
步骤:
- 步骤 1:对每类问题,先列 2-3 种可能的优化手段,不急着选,把思路都写下来。
- 步骤 2:按成本从低到高排序,标出首选手段,写清判断理由。
- 步骤 3:为「何时升级到训练」写下触发条件,例如「同类错误在 500 条真实轨迹中反复出现且 prompt 无法收敛」。
- 步骤 4:为每类问题选一个 eval 指标,用于验证优化是否真的生效。
- 步骤 5:总结成一句话决策原则,写进你的笔记。
产出:一张优化路径决策表,含 3 类问题、优先手段、升级条件、验证指标。
验收提示:决策表要能让别人照做——看到问题类别,就能按你的优先级走一遍。
输出模板
先按模板填空,再替换成你的真实问题。每个问题类别填一个区块。
问题类别:[描述问题]
典型现象:[你观察到的具体错误]
优先尝试:[手段 1 -> 手段 2 -> 手段 3](按成本从低到高)
何时升级到训练:[触发条件,写成可判断的标准]
如何验证:[对应的 eval 指标]
问题类别:[描述问题]
典型现象:[你观察到的具体错误]
优先尝试:[手段 1 -> 手段 2 -> 手段 3](按成本从低到高)
何时升级到训练:[触发条件,写成可判断的标准]
如何验证:[对应的 eval 指标]
示范输出
以下是一张已填好的决策表,三类问题直接对应测试报告 Agent 的真实情况。
问题类别:Agent 不知道公司业务规则(例如不知道哪些指标属于必报项)
典型现象:日报漏掉核心指标,把内部项目代号当成公开信息输出
优先尝试:RAG / 上下文补充业务规则 -> 更新工具描述 -> 后训练
何时升级到训练:业务规则频繁变化时不适合训练,规则稳定且数据量大才考虑
如何验证:关键指标覆盖率(Day 22 的指标)
问题类别:Agent 输出格式经常错(表格结构乱、缺字段)
典型现象:Markdown 表格列数不齐,必填字段缺失
优先尝试:Prompt / 结构化输出约束 -> 输出校验与重试 -> SFT
何时升级到训练:格式规则稳定且错误频率高,SFT 用几百条配对数据即可
如何验证:格式正确率、字段缺失率
问题类别:Agent 长链工具调用策略差(先查后查顺序乱、失败不会重试)
典型现象:先查日志再查部署历史,工具失败后直接放弃
优先尝试:工具设计(描述、返回结构、失败语义)-> eval 回归 -> RL 后训练
何时升级到训练:轨迹数据积累充足且策略类问题用 prompt 无法收敛
如何验证:任务成功率、错误工具调用率、平均耗时
追问练习
下面的问题比理解检查深一层,建议边想边写。
- 什么情况下 RL 比 SFT 更可能有效?两者分别擅长优化什么类型的行为?
- 如果改了 5 版 prompt 仍解决不了工具调用策略,下一步按什么顺序排优先级?
- 「先评估再决定要不要训练」具体怎么操作?至少要收集到什么证据才算数?
- 工具调用内化听起来很美好,为什么对新手阶段来说不是第一优先级?
常见误区
- 一遇到问题就想微调:业务知识缺失、格式错误大多与模型权重无关,先查上下文。
- 分不清 SFT 与 RL 的适用面:用 SFT 数据去优化决策类行为,效果有限。
- 微调后不做评估:训练完不知道变好还是变坏,等于白训。
- 忽略样本效率与成本:用几百条数据期望解决一切,收益与投入不成比例。
进阶扩展
- 工具调用内化是后训练的重要方向,但需要大量高质量轨迹数据,门槛远高于 prompt 工程。
- 微调的真实成本还包括评估集维护与持续重训,不能只看训练机时。
- 生产决策顺序:先 eval 驱动选型(换模型、换策略),再考虑训练,训练是最后手段。
今日作业
- 完成 3 类问题的优化路径决策表。
- 为每一类写出「何时升级到训练」的触发条件。
- 总结一句话决策原则,例如「先上下文,后工程,最后才训练」。
- 找出你当前 Agent 最像哪一类问题,标出首选手段。