LoRA 是什么?用一点点额外训练定制 AI
把庞大的 AI 从头重新训练太贵,但你又想为自己稍作调整;LoRA(Low-Rank Adaptation)通过冻结原始模型、只训练一个极小的附加部件(适配器),把可训练参数减少到原始模型的 1% 以下,实现了这个愿望。LoRA 让微调大幅更便宜、更快,并在 Stable Diffusion 等图像生成中作为添加角色或画风的小文件极受欢迎。本文用补丁的比喻来讲解。LoRA 是参数高效微调(PEFT)的代表:把庞大的原始权重冻结,在每一层插入一个小的附加矩阵,只训练它(W = W0 + BA,其中 W0 被冻结,BA 是新增的那一小部分)。它的基础是这样一个假设:调整 AI 并不需要大的改动,低秩就足够,原论文的实验证实了这一点(也有报告指出在数学和编程上不如全量训练)。优势:可训练参数不到原来的 1%(原论文的 GPT-3 175B 上约为万分之一)、更省 GPU 内存(同一实验中训练时 1.2TB → 350GB)、训练更快更便宜、合并适配器后不增加推理延迟、不易遗忘原有能力。它最大的优势是适配器可更换:保留一个通用底座,按用途即时更换小巧的 LoRA 文件(客户支持、公司语气、某个特定角色)。很多人第一次接触 LoRA 是在图像生成中,Stable Diffusion 上学会了角色、画风或主体的 LoRA 被广泛共享(添加画风、学会角色、轻巧易分享)。QLoRA 结合量化,在 4-bit 底座之上训练 LoRA:以 16 位训练全部参数需要超过 780GB 的 65B 模型,用一块 48GB 的 GPU 即可微调,33B 可在 24GB 的消费级 GPU 上微调;论文的对比中成绩与 16 位方式相当(33B、65B 能否与全量训练比肩,论文自己写明尚未验证)。相比全量微调(训练所有权重),LoRA 在训练的权重、成本、产出和适用场景上都不同;对大多数工作,LoRA 就足够。底座保持原样,风味小幅调出。文中数值来自原论文等的实验条件,仅供参考。