预训练、数据、微调与对齐
大模型如何学习:预训练、微调与 RLHF 一文讲清
进阶 25 分钟 适合: 初学者 / 开发者 / 研究者
本课要点
- ▸预训练让基座模型通过在数万亿 token 上预测下一个 token 来学会语言和世界知识,消耗了绝大部分算力。
- ▸监督微调(SFT)用示范对话继续训练,把基座模型变成会听指令的模型。
- ▸偏好训练(带奖励模型的 RLHF,或更简单的 DPO 等方法)按照人类或 AI 的评判,让回答更有用、更安全。
- ▸推理模型额外在答案可自动核对的任务(数学、代码)上做强化学习,只奖励正确的最终结果。
三段式训练
现代 AI 助手是分阶段训练出来的。每个阶段都从上一阶段的模型出发,用不同的数据和目标改变它的行为。
flowchart LR D1["数万亿 token 的网页、书籍、代码"] --> P["1. 预训练 → 基座模型"] P --> S["2. 监督微调(SFT)→ 指令模型"] D2["人工编写的示范对话"] --> S S --> R["3. 偏好训练(RLHF / DPO)→ 助手"] D3["人类或 AI 的偏好排序"] --> R R --> RL["可选:在可验证任务上做强化学习 → 推理模型"]
第一阶段:预训练,从文本中学习世界
模型从随机参数出发,在海量语料上学习预测下一个 token(训练循环见 机器是怎么“学习”的)。Meta 公布 Llama 3 的预训练数据约 15 万亿个 token(Llama 3 论文)。这一阶段消耗了大部分算力:成千上万块 GPU,跑几周到几个月。
给定预算,模型应该多大?DeepMind 的 Chinchilla 研究(Hoffmann 等,2022)发现,要做到算力最优,参数量和训练 token 数应该同步增长,大约每个参数对应 20 个 token,而此前很多模型“训练不足”。如今的模型常常用远超这个比例的数据训练,因为见过更多数据的小模型,部署起来更便宜。
数据质量和数量同样重要:去重、过滤垃圾和低质量文本、平衡各种语言和领域、加入代码和数学,都会影响模型最终的能力。
结果是一个基座模型:知识渊博,但只会续写。你问“法国的首都是哪里?”,它很可能接着写“德国的首都是哪里?”。
第二阶段:监督微调,学会助手的样子
接下来,用几万到几百万条示范数据继续训练:每条是一个提示和一个高质量回答,由人编写,或由模型生成后筛选。损失仍是“预测下一个 token”,但只在回答部分计算。这样模型学会了回答问题、遵循指令、使用对话格式,并拒绝明显有害的请求。
第三阶段:偏好训练,RLHF 及其后继者
写出完美的示范很难,判断两个回答哪个更好却容易得多。基于人类反馈的强化学习(RLHF)(Christiano 等,2017;在 InstructGPT 中用于大模型)正是利用了这一点:
- 模型对同一个提示生成多个回答,标注员给它们排序。
- 训练一个奖励模型来预测这些排序。
- 用强化学习(InstructGPT 用的是 PPO)优化大模型,让它生成奖励模型打分高的回答,同时惩罚它偏离 SFT 模型太远。
InstructGPT 论文报告:人们更喜欢 13 亿参数的 InstructGPT 的回答,而不是 1750 亿参数的 GPT-3 基座模型。对齐训练带来的有用性提升,超过了规模扩大 100 倍。
新的变体对它做了简化或扩展:
- DPO,直接偏好优化(Rafailov 等,2023):证明同样的目标可以直接在偏好数据对上优化,不需要单独的奖励模型和强化学习循环。
- 宪法式 AI / RLAIF:Anthropic 的方法(Bai 等,2022)写下一组原则,让 AI 模型自己批评和排序回答,减少了在有害内容上对人工标注的依赖。
偏好训练有已知的副作用:模型可能学会讨好评分者而不是给出正确答案(谄媚),或者钻奖励模型的漏洞(奖励投机)。见 对齐方法。
面向推理的强化学习
从 2024 年起,“推理模型”会在答案可以自动核对的问题上做强化学习:有标准答案的数学题、有单元测试的代码。模型写出很长的思考过程,只有最终答案会被奖励。DeepSeek 报告说,单靠这种方法,R1-Zero 模型就出现了长篇、会自我检查的推理,并公开了 DeepSeek-R1 的训练方法(DeepSeek-AI,2025)。见 推理模型与强化学习。
为自己的需求做微调
改造一个模型,并不需要重走上面的流程。参数高效微调只训练一个小的附加部分,而不是全部权重。LoRA(Hu 等,2021)在冻结的权重旁边学习小的低秩矩阵;论文报告在 GPT-3 上把可训练参数减少了约 1 万倍。在 Mac 上,MLX LM 支持对小型开源模型做 LoRA 微调。
微调之前,先问问自己是不是真的需要:
训练给不了模型什么
训练把数据里的规律压缩进权重。它不会给模型一份可靠的“事实出处记录”,不会让它知道数据截止之后的事,也不保证说真话。所以事实锚定、工具和评测(怎样评测大模型)依然必不可少。权重里到底学到了什么,是下一课 大模型内部学到了什么 的主题。
常见问题
预训练和微调有什么区别?
预训练从随机参数出发,在海量通用语料上学习;微调从预训练好的模型出发,在小得多、更有针对性的数据上继续训练,用来改变行为或做专门化。
RLHF 是什么,为什么要用?
RLHF 是“基于人类反馈的强化学习”:人对模型的多个回答做比较,奖励模型学习人的偏好,再优化大模型去生成奖励模型打分高的回答。它能提升有用性、减少有害输出,这是单靠预测下一个 token 做不到的。
DPO 比 RLHF 更好吗?
DPO(直接偏好优化)不需要单独训练奖励模型、也不需要跑强化学习,就能达到同样的目标,更简单也更便宜。哪个效果更好取决于数据和设置;很多开源模型用 DPO 或其变体,前沿实验室往往组合使用多种方法。
能在笔记本上微调大模型吗?
小模型可以,用 LoRA、QLoRA 等参数高效的方法(苹果芯片上的 MLX LM 支持 LoRA 微调)。不过很多时候,改进提示词或用 RAG 就能解决问题,根本不用训练。