大模型微调指南:LoRA 和 QLoRA 的原理与实践
为什么需要微调?
通用大模型虽然强大,但在特定领域(医疗、法律、代码)往往表现不佳。微调可以让模型适应你的数据和任务,显著提升效果。
全量微调的困境
以 Llama-2-70B 为例,全量微调需要超过 140GB 显存。这对大多数开发者和团队来说是不可承受的成本。
LoRA:低秩适应的魔法
LoRA(Low-Rank Adaptation)的核心思想是:微调时模型权重的变化量具有低秩特性。因此可以在原始权重旁添加一个小型的可训练矩阵,冻结原始权重,只训练这个小型矩阵。
这使得微调 70B 模型的显存需求从 140GB 骤降到 24GB(单张 RTX 4090 即可)。
QLoRA:更进一步
QLoRA 在 LoRA 的基础上引入了 4-bit 量化,将基础模型量化到 4-bit,同时保持 LoRA 适配器的训练精度。这使得在单张消费级显卡上微调 65B 模型成为可能。
实战建议
对于大多数场景,推荐使用 QLoRA + Llama-Factory 或者 Unsloth 等工具,它们提供了开箱即用的微调流水线。