7B 以上模型「能不能训」往往首先不是算法问题,而是显存与成本问题。本篇对比 全参微调(full fine-tuning)与 PEFT(Parameter-Efficient Fine-Tuning,参数高效微调),给出可执行的选型建议。优化配方见 Math-04/20。
系列索引:微调技术路线导读
一、对比总表
| 维度 | 全参微调 | PEFT(LoRA/QLoRA) |
|---|---|---|
| 更新参数 | 全部 (\theta) | 通常 <1%(adapter) |
| 显存 | 高(权重+梯度+优化器) | 低 |
| 典型 lr | (10^{-5})–(2\times10^{-5}) | (10^{-4}) 量级 |
| 效果上限 | 理论最高 | 多数任务接近全参 |
| 多任务 | 每任务一份全量 ckpt | 多 adapter 切换 |
| 工程 | 需多卡 / ZeRO / FSDP | 单卡常见 |
二、显存粗算(7B 量级)
| 组件 | 全参 BF16 | LoRA | QLoRA |
|---|---|---|---|
| 权重 | ~14 GB | ~14 GB 基座 + 小 adapter | ~4–6 GB 量化基座 |
| 优化器 | ~28 GB+ (Adam) | mainly adapter | adapter + 8bit optim |
| 激活 | 随 batch/长度 | 可 checkpoint | 同左 |
7B 全参单卡 24GB 通常不够;LoRA + checkpointing 可训;仍 OOM 用 02-02 QLoRA + 07-01。
三、何时选全参
| 场景 | 理由 |
|---|---|
| 有充足 GPU 集群 | ZeRO-3 / FSDP 可撑 |
| 任务与预训练分布差异极大 | 需大幅改权重 |
| 研究 SOTA 刷榜 | 榨取最后几点 |
| 极小模型(<3B) | 全参也可单卡 |
四、何时选 PEFT(默认)
| 场景 | 推荐 |
|---|---|
| 单卡 / 小团队 | LoRA |
| 显存紧张 | QLoRA |
| 多下游任务 | 多 LoRA adapter |
| 快速迭代 | adapter 小、易 A/B |
| SFT → DPO 两阶段 | 两阶段均可 LoRA |
方法细节:02-01 LoRA、02-03 横向对比。
五、决策树
1 | GPU 资源? |
六、效果预期
- 窄任务(分类、抽取):LoRA rank 16–32 常与全参接近。
- 开放生成 / 复杂推理:全参或更大 rank / DoRA 可能有 gap。
- 务必 A/B:同一 test 集对比 04 指标,勿凭 loss 臆断。
七、与 CPT、对齐的组合
| 阶段 | 常见选择 |
|---|---|
| CPT | 全参或 LoRA(大数据时全参+集群) |
| SFT | LoRA 为主 |
| DPO | LoRA 续训;ref 冻结 |
八、小结
默认 PEFT;全参留给有集群且验证 LoRA 到顶的场景。AMD ROCm 等环境见 实战:BF16 LoRA。
下一步:07-01 显存优化栈。