微调大模型的困境
传统微调需要更新所有参数,对显存和计算资源要求极高。LoRA(Low-Rank Adaptation)通过低秩分解大幅降低成本。
LoRA原理
将权重更新分解为两个低秩矩阵:W' = W + BA。其中B和A的维度远小于原权重,可训练参数大幅减少。
参数对比
假设权重维度d×k,LoRA只需训练d×r + r×k参数(r很小),而非d×k个参数。
QLoRA:量化+LoRA
进一步压缩:将基础模型量化为4-bit,加上LoRA适配层,在消费级GPU上也能微调大模型。
微调实践
- 选择合适的秩r(通常8-64)
- 确定微调的目标模块(通常注意力层)
- 准备高质量的训练数据
- 注意防止过拟合
LoRA让个人开发者也能定制大模型,开源生态更加活跃。