训练范式对照表
一、预训练 vs SFT vs RLHF vs DPO vs GRPO
| 维度 |
预训练 |
SFT |
RLHF (PPO) |
DPO |
GRPO |
| 目标 |
学习语言表示 |
学习任务格式和行为 |
优化人类偏好 |
直接优化偏好 |
组相对策略优化 |
| 数据 |
海量无标注文本 |
指令-回答对 |
偏好对 (chosen/rejected) |
偏好对 |
组内评分数据 |
| 数据量 |
T 级 token |
1K-100K 条 |
10K-100K 偏好对 |
10K-100K 偏好对 |
10K-100K 组 |
| 训练成本 |
极高(GPU 月级) |
中(单机小时-天级) |
高(多模型联合训练) |
中(单模型训练) |
中高 |
| 稳定性 |
稳定 |
较稳定 |
不稳定(PPO 调参难) |
稳定 |
中等 |
| 效果上限 |
基础能力 |
格式+基本指令遵循 |
高度对齐人类偏好 |
良好的偏好对齐 |
推理能力增强 |
| 所需模型 |
1 个 |
1 个 |
4 个(policy, ref, reward, critic) |
1 个(+ reference) |
1 个 |
| 显存需求 |
极高 |
中 |
极高 |
中 |
中高 |
| 适用场景 |
从零训练 |
赋予模型指令遵循能力 |
需要精细对齐 |
简化版偏好对齐 |
推理模型训练 |
| 工业落地 |
少数大厂 |
广泛使用 |
少数头部公司 |
广泛使用 |
新兴趋势 |
| wikilink |
对齐方法总览 |
监督微调SFT |
PPO训练细节 |
偏好优化DPO_GRPO |
GRPO与推理训练 |
关键区分
- SFT 解决"怎么回答",RLHF/DPO 解决"回答得多好"
- PPO-RLHF 需要单独训练 Reward Model,DPO 不需要
- GRPO 不需要 critic 网络,比 PPO 更轻量
- SFT 是所有后训练的起点,RLHF/DPO 在 SFT 模型上继续
二、Full FT vs LoRA vs QLoRA
| 维度 |
Full Fine-Tuning |
LoRA |
QLoRA |
| 训练参数量 |
全部(100%) |
0.1%-1% |
0.1%-1% |
| 显存需求 (7B) |
~60-80 GB |
~16-20 GB |
~6-10 GB |
| 显存需求 (70B) |
~600+ GB |
~160 GB |
~40-48 GB |
| 训练速度 |
慢 |
快(~1.2x FT) |
较快(~1.5x FT) |
| 效果 |
最好(上限最高) |
接近 FT(rank 足够时) |
接近 LoRA |
| 数据量要求 |
多 |
中等 |
中等 |
| 过拟合风险 |
高 |
低 |
低 |
| 工程复杂度 |
高(分布式必需) |
中 |
中 |
| 可迁移性 |
差(覆盖原权重) |
好(多 LoRA 切换) |
好(多 LoRA 切换) |
| 推理影响 |
无额外开销 |
可 merge 回原模型 |
merge 后同 LoRA |
| 适用场景 |
大数据量、追求最优效果 |
中等数据、多任务切换 |
显存受限 |
| wikilink |
LoRA与QLoRA |
LoRA与QLoRA |
LoRA与QLoRA |
三、PEFT 方法对比
| 方法 |
类别 |
核心思想 |
参数效率 |
效果 |
wikilink |
| LoRA |
重参数化 |
低秩矩阵分解 W = W₀ + BA |
高 |
好 |
LoRA与QLoRA |
| QLoRA |
量化+重参数化 |
4-bit 量化 + LoRA |
极高 |
接近 LoRA |
LoRA与QLoRA |
| AdaLoRA |
重参数化 |
自适应 rank 分配 |
极高 |
好 |
PEFT扩展方法 |
| DoRA |
重参数化 |
分解幅度和方向 |
高 |
优于 LoRA |
PEFT扩展方法 |
| IA³ |
加性 |
缩放注意力/FFN 输出 |
极高 |
中等 |
PEFT扩展方法 |
| Adapter |
加性 |
插入小型可训练模块 |
中 |
好 |
PEFT总览 |
| Prefix-Tuning |
加性 |
学习前缀向量 |
高 |
中等 |
PEFT总览 |
四、分布式训练方案对比
| 方案 |
核心思路 |
显存节省 |
通信量 |
适用规模 |
wikilink |
| DDP |
数据并行 |
无 |
低 |
小模型 |
训练生态工具 |
| DeepSpeed ZeRO-1 |
分片优化器状态 |
部分 |
中 |
中模型 |
训练生态工具 |
| DeepSpeed ZeRO-2 |
分片优化器+梯度 |
较多 |
中 |
中大模型 |
训练生态工具 |
| DeepSpeed ZeRO-3 |
分片所有(含参数) |
最多 |
高 |
大模型 |
训练生态工具 |
| FSDP |
PyTorch 原生全分片 |
最多 |
高 |
大模型 |
训练生态工具 |
| Tensor Parallelism |
切分单个层 |
多 |
极高 |
极大模型 |
训练生态工具 |
五、推理优化方法对比
| 方法 |
解决什么问题 |
精度影响 |
速度提升 |
适用场景 |
wikilink |
| KV Cache |
避免重复计算历史 K/V |
无 |
2-10x |
所有自回归推理 |
KV Cache |
| INT8 量化 |
减少模型体积和显存 |
轻微 |
1.5-2x |
CPU/边缘部署 |
量化 |
| INT4/GPTQ |
极致压缩 |
中等 |
2-4x |
显存受限场景 |
量化 |
| AWQ |
感知激活的量化 |
较小 |
2-3x |
生产部署 |
量化 |
| FlashAttention |
减少 HBM 访问 |
无 |
2-4x |
训练和推理 |
推理加速 |
| PagedAttention |
KV Cache 显存碎片 |
无 |
提升吞吐 |
高并发 serving |
vLLM |
| Continuous Batching |
提升批处理效率 |
无 |
2-4x 吞吐 |
在线服务 |
vLLM |
| Speculative Decoding |
减少解码步数 |
无 |
2-3x |
延迟敏感 |
推理加速 |
六、偏好优化方法对比
七、决策快速参考
微调方法选择
数据量 > 100K 且追求最优效果?
└── Yes → Full Fine-Tuning
└── No → 显存 < 24GB?
└── Yes → QLoRA
└── No → LoRA
对齐方法选择
需要精细对齐且有标注偏好数据?
└── Yes → 有 GPU 集群和调参经验?
└── Yes → PPO-RLHF(上限最高)
└── No → DPO(简单稳定)
└── No → 只需基础指令遵循?
└── Yes → SFT 足够
└── No → 训练推理模型?
└── Yes → GRPO
分布式训练选择
模型 < 7B?
└── 单卡 DDP 或 Accelerate
模型 7B-70B?
└── DeepSpeed ZeRO-2/3 或 FSDP
模型 > 70B?
└── ZeRO-3 + Tensor Parallelism