跳到主要内容

LoRA 参数高效微调

LoRA 解决什么问题?​

  • 背景: SFT 与 RL 都要更新模型参数,全参数微调需要为数十亿参数都存梯度和优化器状态,显存要求很高;
  • 定义: LoRA(Low-Rank Adaptation,低秩适配)不动原始的大权重矩阵,只在旁边挂一个很小的低秩“补丁”来学习任务;
  • 参数量: 仅占原始的 1%–5%,却能接近全参微调的效果;
  • 额外收益: 原权重被冻结,对基座已有能力的扰动更小,灾难性遗忘的风险更低;
  • 定位: 是贯穿所有后训练方法的工程默认项,不是 SFT 专属技巧;

有哪些经过验证的实践经验?​

项目建议原因
应用位置必须应用到所有主要权重矩阵,尤其参数占比最大的 MLP 层只加在注意力层会掉点
学习率约取全参微调的 10 倍(SFT、RL 都成立)非常实用的迁移规则
SFT 的 rank中高 rank,64–256SFT 每轮信息量较大
RL 的 rank小 rank,8–32,甚至 rank=1 就够RL 每轮信息量很小

部署侧有什么额外好处?​

  • 多租户: 一台推理服务器可同时加载多个 LoRA adapter,做多租户服务;
  • 记忆载体选择: 客户专属 adapter 与外部知识库是两种不同的记忆载体,取舍见后训练实践要点;