尧图精选

全参微调要 780G 显存,LoRA 只动 0.1% 的参数就敢叫“微调“?——低秩适配一次讲透

🕒 发布时间:2026/10/1 14:22:49 📁 来源:尧图网络
你有个大模型想在你的业务上再训一训让它懂你的黑话、你的格式、你的脾气。最老实的办法是全参数微调Full Fine-tuning把模型所有参数都当作可训练在你这点数据上再跑一遍。结果你一算显存——光一个 70B 的模型全参微调就要约 780G 显存模型 优化器状态 梯度一套 Adam 下来是参数的十几倍。别说个人了一般公司的机器都扛不住。但另一边又有人拿着几百块的显卡说自己微调了大模型效果还不错。他们靠的是一样东西叫LoRALow-Rank Adaptation低秩适配。它最狂的地方在于只训练原模型 0.1% 甚至更少的参数就能达到接近全参微调的效果。凭什么呢先接受一个反直觉的事实权重更新很瘦LoRA 的理论起点是一个叫**低秩low-rank**的假设。大模型微调前后的权重变化量记作ΔW。LoRA 的核心假设是这个ΔW虽然是满形状的大矩阵但它的信息量是低秩的——也就是说它可以被分解成两个小矩阵的乘积ΔW B × A其中W是d × d的大矩阵A是r × dB是d × r而秩r远小于d。举个具体数字感受一下假设d 4096ΔW有4096 × 4096 ≈ 1677 万个参数。取r 16那么A B一共只有4096 × 16 × 2 ≈ 13 万个参数。1677 万 → 13 万缩了 128 倍。这就是只动一点点参数的底气。为什么只训 A 和 B就够训练的时候LoRA 把原模型的权重W冻结不更新不计算它的梯度只在旁边挂一个B × A微调时只更新A和B。推理时再把它合并回去W W B × A为什么这样做能work直觉是这样的大模型经过预训练已经知道了海量的通用知识W里已经躺着近乎所有需要的信息。微调要做的往往不是重新学一遍而是在某个方向上小小地调整一下。而这个小调整天然就是低秩的——你不需要把 1677 万个权重都动一遍动 13 万个就足以改变模型的行为方向。省的不只是参数是钱LoRA 的收益是全方位的全参微调LoRA可训练参数100%通常 0.1% ~ 1%显存占用巨大十几倍参数极小训练速度慢快得多产物一整个新模型一个小小的 LoRA 权重切换任务重新存一整套换个 LoRA 权重就行最后两行特别值钱一个基座模型 一堆小小的 LoRA 权重就相当于一个底子无数个分身。今天做摘要挂一个明天做客服挂另一个切换成本几乎为零。也正因为省资源LoRA 常和另一个省资源的技术——量化——配合使用先用量化把模型压小再挂 LoRA 微调普通人也能在单卡上玩起来为什么大模型从 14G 缩到 4G还能照样聪明——量化一次讲透。LoRA 教会我们的不只是技术LoRA 背后那条低秩假设其实挺反直觉的我们总以为要改就得全改但真相往往是——真正需要动的只是冰山一角。大到模型微调小到改一段代码、修一个习惯都是同一个道理别一上来就推倒重来先想想是不是只要动那 0.1% 的关键处就够了。当然LoRA 也不是终点。它之后又冒出了 QLoRA进一步量化、DoRA、AdaLoRA 等等方向都是同一个用更少的资源换更接近全参微调的效果。大模型越来越大的时代如何便宜地适配会一直是门显学——下一个比 LoRA 更狠的省法是什么谁知道呢但肯定不会太久。想搞懂 LoRA 里低秩分解、矩阵秩这些数学前提推荐 B站【408实验室】的《机器学习数学基础》补齐底子。
上一篇/下一篇内容由系统自动关联 返回资讯列表 →