blog.dopana

Back

参数高效微调(PEFT),特别是 LoRA(低秩适应),彻底改变了大语言模型的微调模式,无需昂贵的 GPU 集群即可实现高性能适配。

LoRA 的工作原理#

LoRA 冻结预训练模型的基座权重 W0Rd×kW_0 \in \mathbb{R}^{d \times k},并通过两个低秩矩阵 AABB 拟合权重更新量 ΔW\Delta W

W=W0+ΔW=W0+BAW = W_0 + \Delta W = W_0 + B \cdot A

其中秩 rmin(d,k)r \ll \min(d, k),可将训练参数量减少上百倍。

使用 Hugging Face PEFT 实现#

lora_config.py
from peft import LoraConfig, get_peft_model

peft_config = LoraConfig(
    r=8,
    lora_alpha=16,
    target_modules=["q_proj", "v_proj"], # [!code focus]
    lora_dropout=0.05,
    bias="none",
    task_type="CAUSAL_LM"
)

# model = get_peft_model(model, peft_config)
python

LoRA 的核心优势#

  • 显存优化: 降低 60-70% 的训练显存占用。
  • 权重文件极小: 仅需保存几 MB 至几十 MB 的 Adapter 权重。
  • 无推理延迟: 部署时可将 BAB \cdot A 直接合并回 W0W_0

参考文献#