大模型的训练过程涉及多个阶段,这几个阶段是有严格先后关系的,从“让模型会说话”到“让模型更懂人”,顺序如下:

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 心理偏好对齐 前景理论 精细对齐模型
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐