技术
LoRA(低秩适应)
LoRA (Low-Rank Adaptation)
一种高效微调技术,通过训练小型低秩矩阵来调整大模型,无需更新全部权重。
LoRA(Low-Rank Adaptation,低秩适应)是一种针对大语言模型与扩散模型的高效微调方法。它不更新基础模型里几十亿个参数,而是把原始权重冻结,在特定层之间插入两个小型可训练矩阵——也就是「低秩分解」——只训练这些小矩阵。
这个做法的好处很实际:完整微调一个 Llama-70B 级别的模型需要数百 GB 显存,输出的检查点也非常庞大;而一个 LoRA 适配器可能只有几 MB 到几百 MB,单张 GPU 几小时就能训练完,推理时还能即插即用。Hugging Face 上大多数社区微调的开源 LLM、以及 Stable Diffusion 上各种画风与角色模型,背后几乎都是 LoRA。
直觉上,把一个预训练模型适配到新任务时,权重的「变化量」其实是低维的,不需要完整秩的更新。LoRA 因此不直接学习庞大的 ΔW,而是把它拆成 ΔW = B·A 两个瘦长矩阵(常见 rank 为 8、16、32)。一个 4096×4096 的权重矩阵在 rank 8 下只需训练约 6.5 万个参数,而不是 1600 万个。
实践中 LoRA 常与量化结合(QLoRA),让你能在消费级显卡上微调很大的模型。多个 LoRA 也可以合并或叠加使用,在 AI 绘图领域特别常见,例如把角色 LoRA 与画风 LoRA 一起加载。
延伸阅读:fine-tuning、PEFT、QLoRA、adapters、Hugging Face PEFT 库。