简单聊一聊大模型微调技术-LoRA
B站:肆十二-的个人空间-肆十二-个人主页-哔哩哔哩视频 (bilibili.com)
博客:肆十二-CSDN博客
LoRA(Low-Rank Adaptation)模型是一种用于减少深度学习模型训练中参数数量和计算资源消耗的技术。它最早是在多头注意力机制中提出的,尤其是用于大模型的微调(fine-tuning)。LoRA 的主要思想是通过引入低秩分解(low-rank decomposition),用少量参数来逼近和微调模型,从而避免直接调整整个大模型的权重。
LoRA的核心思想
LoRA 的主要贡献在于它减少了在微调大模型时需要更新的参数数量。传统的微调方法通常会更新整个模型的参数,这在处理大规模预训练模型(如 GPT-3、BERT)时非常耗费资源。LoRA 通过插入低秩矩阵到模型的某些权重矩阵中,仅更新这些低秩矩阵,而不修改原模型权重。
其基本流程如下:
- 假设大模型的某个权重矩阵为 ( W ),尺寸为 ( d \times d )。
- 将这个权重矩阵表示为两个低秩矩阵的乘积 ( W + BA ),其中 ( B ) 和 ( A ) 的尺寸分别为 ( d \times r ) 和 ( r \times d ),而 ( r \ll d ),即低秩矩阵分解。
- 在微调过程中,保持 ( W ) 不变,只更新 ( B ) 和 ( A )。
这种方式极大地减少了需要训练的参数量,同时保持了微调的效果。
LoRA 的应用场景
LoRA 模型非常适合在以下场景中使用:
-
大规模预训练语言模型的微调
- 在对像 GPT、BERT 这样的语言模型进行微调时,LoRA 可以通过更新低秩矩阵来减少需要调整的参数数量。这样可以显著降低显存消耗以及计算资源的需求,特别适合内存有限的环境。
- 例如,微调 GPT-3 时,通过 LoRA 可以仅调整大约 0.1