大模型微调训练的各个阶段
大模型训练分阶段流程概述 大模型训练遵循严格顺序:预训练→指令微调→奖励建模→强化学习→优化改进。 预训练:通过海量文本学习语言规律,使用无监督数据(如JSON/TXT格式文本),训练工具有Megatron-LM、DeepSpeed等。 指令微调(SFT):让模型学会遵循人类指令,使用指令-回答对数据(JSON格式),常见工具包括LLaMA-Factory、Hugging Face PEFT等。
大模型的训练过程涉及多个阶段,这几个阶段是有严格先后关系的,从“让模型会说话”到“让模型更懂人”,顺序如下:
1️⃣ Pre-Training(预训练)
→ 2️⃣ Supervised Fine-Tuning (SFT)
→ 3️⃣ Reward Modeling
→ 4️⃣ PPO (RLHF)(或替代) DPO
→ 5️⃣ KTO
1. Pre-Training 预训练
目标: 学习语言规律和世界知识。
数据: 无监督文本语料,通常是大规模纯文本文件(JSONL 或 TXT 均可)
数据格式示例(JSON格式):
{"text": "The quick brown fox jumps over the lazy dog."}
{"text": "Artificial intelligence is transforming industries worldwide."}
{"text": "深度学习推动了计算机视觉和自然语言处理的快速发展。"}
数据来源:
- 开源语料(The Pile、C4、Wikipedia、BooksCorpus 等)
- 自建爬虫语料(经过清洗和去重)
- 多语言数据(如 Common Crawl, OSCAR)
模型任务:每行是一段文本;预测下一个 token或mask的词。
常用训练工具:
| 工具 | 特点 |
|---|---|
| Megatron-LM | 高性能 GPT 类预训练框架(NVIDIA) |
| DeepSpeed | 支持 ZeRO 分布式并行训练 |
| Hugging Face Transformers + Accelerate | 便捷、易定制 |
| ColossalAI / FSDP / ZeRO | 大模型分布式训练 |
| PyTorch Lightning | 通用科研训练框架 |
结果:通用语言模型(base LLM)。
2. Supervised Fine-Tuning (SFT)
目标:让模型学会遵循指令。
数据:指令–回答对,通常为 JSON 或 JSONL。。
样例(Alpaca/ShareGPT 风格):
{"instruction": "Explain the process of photosynthesis.",
"input": "",
"output": "Photosynthesis converts light energy into chemical energy in plants."
}
若包含输入上下文,可使用 “input”;若为纯问答,只保留 instruction/output。
数据来源:
- 人工编写(如 Alpaca、Baize、OpenOrca)
- ChatGPT 生成 + 人工筛选
- 领域专用(医学、农业、畜牧等)对话数据
常用工具:
| 工具 | 特点 |
|---|---|
| LLaMA-Factory | 最主流的 SFT/DPO 框架,支持 LoRA/QLoRA |
| Hugging Face PEFT | 参数高效微调库 |
| Axolotl | 多模态/LoRA 训练框架 |
| FastChat | 指令调优与部署工具 |
| trlx | 用于 SFT + PPO + RM 的一体化训练 |
方法:交叉熵监督学习。
结果:能对话、执行任务的模型(例如 ChatGPT-SFT)。
3.Reward Modeling
目标: 让模型知道什么回答更好。
数据格式:偏好对比数据,同一个 prompt 下的两个回答及标注偏好。。
样例“:
{
"prompt": "Explain gravity to a child.",
"chosen": "Gravity is a force that pulls everything down to the ground, like when you drop a ball.",
"rejected": "Gravity is a myth invented by scientists."
}
“chosen”:人类更喜欢的回答;
“rejected”:较差回答;
模型目标: 预测较高得分给 “chosen”。
数据来源:
- 人类标注(OpenAI 的 RLHF 数据)
- 人工或自动模型偏好排序(如 RM from GPT-4)
- 公共集:OpenAssistant, Anthropic HH, Stack-RM, SHP 等
常用训练工具:
| 工具 | 特点 |
|---|---|
| trlx / HuggingFace TRL | 支持 Reward Model + PPO 全流程 |
| LLaMA-Factory (Reward Model 模式) | 直接支持 RewardModel 训练 |
| DeepSpeed RLHF | 可扩展到多 GPU |
结果:一个“打分器”。
4.PPO (RLHF 强化学习阶段)
目标:让生成结果更符合人类偏好。
数据格式:与 Reward Modeling 一致,但不需要预存奖励,只需 Prompt 数据。
示例:
{"prompt": "What are some benefits of renewable energy?"}
训练过程中模型自己生成回答;奖励模型实时给分。
数据来源:
- 与 Reward Model 相同的指令集;
- 可以复用 SFT 的数据(不需要答案)。
常用训练工具:
| 工具 | 特点 |
|---|---|
| HuggingFace TRL (PPOTrainer) | 主流 RLHF 实现 |
| trlx (CarperAI) | PPO + RM + SFT 一体化 |
| DeepSpeed-Chat | 支持分布式 PPO 训练 |
| LLaMA-Factory PPO 模式 | 简化版 RLHF 支持 |
结果:人类对齐模型(Aligned LLM)。
4. DPO (Direct Preference Optimization) — PPO 的简化替代
目标:跳过奖励模型,直接优化好回答概率高于坏回答的分布。
数据:与Reward Modeling 相同:
示例:
{
"prompt": "Explain gravity to a child.",
"chosen": "Gravity makes things fall to the ground, like an apple from a tree.",
"rejected": "Gravity is fake."
}
数据来源:
同 Reward Model。(在实践中很多人用 RM 数据直接训练 DPO)
常用工具:
| 工具 | 特点 |
|---|---|
| LLaMA-Factory (DPO 模式) | 一键切换 DPO 训练 |
| HuggingFace TRL (DPOTrainer) | 官方实现 |
| Axolotl / ORPO / KTO 实验框架 | 支持扩展型偏好训练 |
优点:无需奖励模型和强化学习,训练更稳定。
5.KTO (Kahneman-Tversky Optimization)
目标:在 DPO 基础上加入人类心理偏好(前景理论)。
特征:对好回答奖励更强、坏回答惩罚更重,更贴近人类决策行为。
数据:与 DPO 完全一致,但在训练时根据样本重要性加权。
样例:
{
"prompt": "What is the purpose of photosynthesis?",
"chosen": "It converts light energy into chemical energy for plant growth.",
"rejected": "It helps plants to sleep at night."
}
常用训练工具:
| 工具 | 特点 |
|---|---|
| LLaMA-Factory (KTO 模式) | 目前主流实现 |
| TRL (自定义损失函数) | 可实现 KTO 变体 |
| Axolotl 实验分支 | 对比 DPO/KTO 效果研究 |
总结:
| 阶段 | 目标 | 方法 | 结果 |
|---|---|---|---|
| Pre-Training | 学语言与知识 | 自监督 | Base LLM |
| SFT | 学指令 | 监督学习 | Instruction Model |
| Reward Modeling | 学偏好 | 回归/排序 | 奖励模型 |
| PPO (RLHF) | 行为对齐 | 强化学习 | 对齐模型 |
| DPO | 直接偏好优化 | 对比损失 | 高效对齐模型 |
| KTO | 心理偏好对齐 | 前景理论 | 精细对齐模型 |
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)