# Summary
- **SFT** 像“背标准答案”。
- **GRPO** 像“在小组讨论里比出冠军”。
- **DPO** 像“看两个答案,勾选你更喜欢的那个,然后直接让模型学会这种选择”。
|主题|推荐资料|
|---|---|
|SFT / RLHF 全流程|HuggingFace Course「RLHF」章节、Harvard NLP CS285 RL Lecture 9|
|PPO / GRPO 概念|_Schulman 2017 PPO_ + DeepSeek R1 附录(作业注释也给了链接)|
|DPO 论文|_Direct Preference Optimization_, 2023|
|安全对齐|Anthropic Constitutional AI、OpenAI Policy papers|
# Notes
## 后训练(Post-training)技术分类
| 类别 | 英文名称 | 包含技术 | 技术说明 |
| ------------------------- | ---------------------- | -------------------------------------- | ------------------------------------------------------------- |
| [监督微调 SFT](监督微调%20SFT.md) | Supervised Fine-Tuning | 任务微调<br>指令微调 | • 任务微调:针对特定任务(如分类、翻译)<br>• 指令微调:训练模型遵循自然语言指令 |
| | Alignment | [[RLHF]]<br>[[DPO]]<br>[GRPO](GRPO.md) | • RLHF:基于人类反馈的强化学习<br>• DPO:直接偏好优化<br>• GRPO:组相对策略优化 |
| **持续预训练** | Continued Pretraining | 领域适配 | • 领域适配:用特定领域数据继续训练<br>• 如:医疗领域、法律领域、金融领域 |
| **模型优化** | Optimization | [[量化]]<br>剪枝<br>蒸馏 | • 量化:降低参数精度(如 INT8/INT4)<br>• 剪枝:移除不重要的参数<br>• 蒸馏:用小模型学习大模型知识 |
## 更详细的分层表格
| 一级分类 | 二级分类 | 具体技术 | 目的 | 是否改变模型权重 |
| --------------------------------- | ------- | ---------------------------------------- | -------- | -------- |
| **监督微调** | 任务微调 | • 分类微调<br>• NER微调<br>• 翻译微调 | 提升特定任务性能 | ✅ 是 |
| **监督微调** | 指令微调 | • Alpaca式训练<br>• FLAN式训练<br>• ChatML格式训练 | 让模型理解指令 | ✅ 是 |
| [对齐 Alignment](对齐%20Alignment.md) | 基于RL的方法 | • [[RLHF]]<br>• [[PPO]]<br>• RLAIF | 对齐人类价值观 | ✅ 是 |
| | 直接优化方法 | • DPO<br>• IPO<br>• KTO | 简化对齐流程 | ✅ 是 |
| | 其他方法 | • [[GRPO]]<br>• Constitutional AI | 新型对齐技术 | ✅ 是 |
| **持续预训练** | 领域适配 | • 医疗语料训练<br>• 代码语料训练<br>• 多语言训练 | 增强领域知识 | ✅ 是 |
| **模型优化** | 压缩技术 | • INT8/INT4量化<br>• 结构化剪枝<br>• 知识蒸馏 | 降低部署成本 | 🔶 部分改变 |
## 技术选择决策表
|场景需求|推荐技术|原因|
|---|---|---|
|需要模型完成特定任务|任务微调|直接针对任务优化|
|需要模型像助手一样对话|指令微调 + RLHF/DPO|理解指令 + 安全对齐|
|需要模型掌握专业知识|持续预训练 + 任务微调|先学知识,再学应用|
|需要在边缘设备部署|量化 + 剪枝/蒸馏|大幅减少模型大小|
|需要模型更安全可靠|RLHF 或 DPO|对齐人类价值观|
### **SFT场景**
```python
# 训练数据(人类标注)
{
"prompt": "写一首关于春天的诗",
"response": "春天来了,花儿开了,鸟儿在枝头歌唱。" # 人类专家写的
}
# 训练目标
model("写一首关于春天的诗") → "春天来了,花儿开了,鸟儿在枝头歌唱。"
```
### **GRPO场景**
```python
# 生成多个回答
prompt = "写一首关于春天的诗"
responses = [
"春天来了,花儿开了,鸟儿在枝头歌唱。", # 奖励:0.9
"春天是美丽的季节,万物复苏。", # 奖励:0.6
"春天来了,我很开心。", # 奖励:0.4
"春天。" # 奖励:0.1
]
# 对齐目标:奖励最高的回答(0.9分)
best_response = "春天来了,花儿开了,鸟儿在枝头歌唱。"
```
## 为什么这样设计?
### **SFT的优势**
- ✅ **质量保证**:人类专家标注,质量有保障
- ✅ **明确目标**:有标准答案,学习目标清晰
- ❌ **成本高**:需要大量人工标注
- ❌ **主观性**:依赖人类判断
### **GRPO的优势**
- ✅ **自动化**:不需要人工标注
- ✅ **可扩展**:可以生成大量训练数据
- ✅ **客观性**:使用奖励函数评分
- ❌ **质量依赖**:依赖奖励函数的质量