跳转至

第 0 章 后训练的目标与方法边界

开场问题:模型不会回答公司内部问题,究竟该做 RAG、继续预训练、SFT,还是 DPO?

0.1 先分清四个经常混在一起的目标

知识是模型是否知道某个事实;能力是能否完成推理、编程、抽取等过程;行为是它是否按指令、格式、语气和安全边界输出;系统能力是模型配合检索、工具和外部状态后能完成什么。

四者的解法不同:

  • 缺少会变化的私有知识,优先 RAG;把每天变化的库存训进权重是错误方向。
  • 不会稳定执行某类任务,先用高质量示范做 SFT。
  • 已经会做,但答案风格、帮助性或安全边界不理想,用偏好优化。
  • 结果可自动验证且需要探索更好的解题策略,才进入 RLVR。
  • 单次回答做不到、必须调用外部系统或跨多步完成,用工具和 Agent。

“模型效果不好”不是可执行的诊断。必须先把问题归到上述一类,才知道训练信号该长什么样。

0.2 改上下文、改部分权重、改全部权重

最轻的办法是改上下文:system prompt、few-shot、检索内容、工具描述。优点是立刻生效、容易回滚、知识可更新;缺点是每次请求都占 token,复杂规则容易互相冲突,模型的底层能力没有改变。

LoRA 等 PEFT 方法只训练很小的增量权重。它适合稳定的任务格式、领域风格和中等规模数据;容易保存多个适配器,也容易做 A/B。它不是“效果较差的全量微调”,而是在低成本与可插拔之间做出的结构化选择。

全量更新适合需要深度改变能力分布、数据量足、预算高的场景。代价不仅是训练贵,更是旧能力更容易遗忘、评测范围必须更广。

一个实用原则:从最轻、最容易验证和回滚的方法开始。Prompt 能解决就不要上 SFT,RAG 能解决动态知识就不要继续预训练,SFT 能稳定行为就不要直接上 RL。

0.3 后训练不是“把答案塞进去”

模型训练仍然是在调整条件概率分布。SFT 提高示范答案中 token 的概率;DPO 拉大偏好答案和拒绝答案的相对概率;RL 根据整条轨迹的回报改变策略。

因此一条样本不是一条数据库记录。它同时影响相似上下文中的一片行为区域,可能带来迁移,也可能伤害无关能力。后训练的核心困难正是:用有限样本改变目标区域,同时尽量不扰动其他区域。

0.4 基座模型、指令模型和推理模型

基座模型只学续写互联网文本,不天然理解“system/user/assistant”这些角色;指令模型经过对话 SFT 与偏好对齐,学会把用户内容当任务;推理模型又经过带长推理轨迹的数据和 RLVR,学会分配更多生成计算解决可验证问题。

三者不能混用同一套训练假设。给基座模型直接做少量 DPO,模型可能连稳定的对话格式都没有;给已经高度对齐的 instruct 模型继续做窄领域 SFT,可能很快过拟合语气并遗忘通用指令遵循。

0.5 第三册与第二册在哪里接上

第三册决定:样本怎么构造、loss 怎么定义、reward 怎么算、旧轨迹能不能用。第二册决定:这些计算怎样分布到 GPU、rollout 如何高吞吐生成、权重如何同步。

例如 RLVR 中“每道题采样 16 个回答”是算法决策;这 16 个回答怎样连续批处理、KV 如何管理,是推理系统决策。二者必须协同,但不要混为一章。

核心问答

Q:企业知识问答应该先微调还是先 RAG? 若知识频繁更新、需要引用和可追溯,先 RAG。微调更适合教会回答方式、术语风格和稳定任务流程,不适合充当可更新数据库。

Q:LoRA 能提升模型上限吗? 能在目标分布上显著提升,但受基座能力约束。基座完全不会的复杂能力,仅靠很小规模 LoRA 很难凭空创造。

Q:什么时候值得做 RL? 任务有可靠奖励或验证器、SFT 已让模型具备基本行为、且需要通过探索发现比示范更好的策略时。

Q:Agent 属于改模型吗? 它通常不改权重,却改变模型所处的观察—行动循环,因此能改变系统行为上限。第三册讨论的是“改成你的”,不仅是“改参数”。