返回笔记
LLM
大模型微调的三种方法:全量 vs LoRA vs Prompt Tuning
微调
LoRA
QLoRA
大模型训练
当你拿到一个预训练好的大模型,想要让它适应特定任务,就需要微调。但微调有很多方式,选错了成本差距巨大。
全量微调
更新模型所有参数。效果最好,但需要巨大的显存和训练时间。适合有充足资源的场景。一个 7B 参数的模型全量微调需要约 56GB 显存(使用 AdamW 优化器)。
LoRA(低秩适配)
核心思想:不直接修改原模型权重,而是在旁边"嫁接"两个低秩矩阵 A 和 B。训练时只更新 A 和 B,推理时合并到原权重里。这样做的好处:
- 可训练参数减少到原来的 0.1%~1%
- 显存需求大幅降低
- 训练速度快好几倍
- 可以针对不同任务保存不同的 LoRA 权重,切换方便
LoRA 已经成为社区最主流的微调方法。
QLoRA
在 LoRA 的基础上加上 4-bit 量化。原模型权重被量化到 4-bit,大大减少了显存占用。QLoRA 让在单张消费级显卡上微调 70B 模型成为可能。
Prompt Tuning
不修改模型参数,只训练"软提示"向量。适合算力极度受限的场景,但效果上限不如 LoRA。
选择建议
- 数据多、算力足 → 全量微调
- 数据中等、想快出效果 → LoRA
- 消费级 GPU、想玩大模型 → QLoRA
- 只是想试水、看效果 → Prompt Tuning