本文将介绍如下内容:
- 什么是Lora
- 高效微调的基本原理
- LORA的实现方式
- LORA为何有效?
一、什么是LoRA
LoRA 通常是指低秩分解(Low-Rank Decomposition)算法,是一种低资源微调大模型方法,论文如下: LoRA: Low-Rank Adaptation of Large Language Models。
使用LORA,训练参数仅为整体参数的万分之一、GPU显存使用量减少2/3且不会引入额外的推理耗时。
二、高效微调的基本原理
以语言模型为例,在微调过程中模型加载预训练参数 Φ 0 \Phi_0 Φ0进行初始化,并通过最大化条件语言模型概率进行参数更新 Φ 0 \Phi_0 Φ0+ Δ Φ \Delta\Phi ΔΦ,即:
这种微调方式主要的缺点是我们学习到的参数增量 Δ Φ \Delta\Phi ΔΦ的维度和预训练参数 Φ 0 \Phi_0 Φ0是一致的,这种微调方式所需的资源很多,一般被称为full fine-tuing。
研究者认为能用更少的参数表示上述要学习的参数增量 Δ Φ \Delta\Phi ΔΦ= Δ Φ ( Θ ) \Delta\Phi(\Theta ) ΔΦ(Θ),其中 ∣ Θ ∣ |\Theta| ∣Θ∣<< ∣ Φ 0 ∣ |\Phi_0| ∣Φ0∣,原先寻找 Δ Φ \Delta\Phi