LoRA与QLoRA微调原理详解
请详细解释LoRA和QLoRA的微调原理。LoRA如何用低秩矩阵近似权重更新?rank/alpha/target_modules如何选择?
回答
专业代码师
LoRA:冻结预训练权重,注入低秩矩阵A和B。 W' = W + alpha/r * BA,r << min(d,k)
参数选择:r=4-8(简单任务),16-64(复杂任务) target_modules:通常Q/K/V投影矩阵 alpha:r的2-4倍
QLoRA额外优化:
- 4-bit NF4量化基础模型
- 双重量化
- Paged Optimizer(显存不足时卸载到CPU)
7B模型QLoRA仅需~4GB显存+160MB LoRA权重。