LoRA
LoRA(Low-Rank Adaptation,低秩适应)是一种微调方法:保持大型 AI 模型的原始参数不变,只在旁边训练一个很小的附加部件,使模型适应新用途。
通俗解释 这就像不重写整本厚厚的教科书,而是夹进一张只写了所需内容的薄便签。只要换一张便签,同一本教科书就能用于多个科目。不过,便签也有局限,很难大幅改变教科书的根本内容。
工作原理
常规微调会对模型数十亿个参数全部做细微修改。LoRA 则把原始参数冻结(固定),在每一层旁边接上由两个小矩阵组成的适配器,只训练这部分。这里的“低秩”指用极少的数字来概括表达大的变化。实际使用时,把原模型的计算结果与适配器的结果相加,得到最终输出。训练好的适配器也可以合并进原模型。
为什么重要
需要训练的参数大幅减少,所需的 GPU 内存和成本也低得多。因此,即便不是大公司,也能让开放权重模型适配自己的数据。适配器文件比原模型小得多,便于存储和分享。还可以在一个基础模型上切换多个适配器,运营面向不同用途的模型。
注意事项
LoRA 在学习语气、格式或特定业务处理方式方面很有效,但在向模型大量注入全新知识方面可能存在局限。适配器大小(秩)设得太小,能学到的内容就少;设得太大,轻量这一优势就会减弱。在模型量化状态下训练 LoRA 的变体方法也被广泛使用。适配器只有与训练时所用的基础模型配套才能正常工作。
示例
在图像生成社区,人们分享学习了特定画风或角色的 LoRA 文件,用户将其加载到基础扩散模型上,生成想要风格的图片。企业中也常见用 LoRA 让开放权重 LLM 学习公司内部文档格式或客服语气,再用一个基础模型切换各部门适配器的做法。