微调谱系:从全参到 LoRA

03-训练与微调 核心 约 25 分钟 #微调#LoRA#PEFT#全参微调#SFT 更新 2026-10-02
当前状态:未学
本文基于模型知识整理(生成时未联网核对),LoRA 机制建议对照 Hu et al. 2021(LoRA 原文)复核。

一句话定义

让预训练模型适配下游任务的谱系,按"训练多少参数"排布:全参微调(全部权重更新,效果上限最高、成本最贵)→ LoRA(冻结原权重、训练低秩旁路 ΔW=BA,可训练参数 <1%)→ 软提示/前缀微调(只训练注入的向量)→ 零训练(prompt 工程/ICL kp-029)——现代默认答案是 LoRA 及其变体(PEFT 家族)。

为什么重要

70B 模型全参微调需要数十 GB×多卡的训练显存与存储每任务一份全量权重;LoRA 把两者压缩两个数量级(单卡可调 70B、每任务几十 MB)——私有化部署/垂直领域适配/个人定制全部因此可行。理解 LoRA 的低秩假设与配置(秩/目标模块/α),是做任何领域模型的第一道工程决策。

前置知识

kp-003(多头权重)、kp-014(AdamW)、kp-012(SFT 即微调形态之一)。

核心概念

  • 谱系总览(训练参数量从大到小):

1. 全参微调(SFT 的标准形态):更新全部权重——数据多/预算足/追求极限的选择;灾难性遗忘风险需混入通用数据缓解; 2. LoRA:$\Delta W=BA$(B: d×r,A: r×d,r≪d,初始化 A=0/B 随机使起点为恒等),前向 $h=Wx+BAx$; 3. QLoRA:基座量化到 4bit + LoRA(单卡微调 65B,kp-024 的组合技); 4. Prefix/Prompt tuning:只训练注入的连续向量(参数最少,效果依任务)。

  • LoRA 的低秩假设:微调带来的权重更新 ΔW 具有低"内在秩"(任务适配只需少数方向)——实证支持(大 r 增益快速饱和);r 常取 8~64,目标模块通常选注意力的 W_Q/W_V(进阶:全线性层+更高 r 效果更好)。
  • α 缩放:生效的 ΔW=(α/r)BA——α/r 是"等效学习率"旋钮;换 r 调参时保持 α/r 恒定可减少重调。
  • 合并与部署:训练后 BA 可合并进原权重(零推理开销)——这是 LoRA 对 adapter(串行加层)的部署优势;多 LoRA 服务(同一基座挂多个任务头)是推荐系统的 LLM 化形态。
  • 选型经验:指令跟随/风格适配 → LoRA r=16~64 足够;引入全新知识/语言 → 全参或高 r+更多数据(低秩装不下大知识增量);数据 <1k 条先试 prompt/ICL(kp-029)再决定微调。

原理与机制

为什么 ΔW 低秩(假设的依据):任务适配=在预训练已学的巨大技能空间里"微调几根指针"——语言知识的主体在预训练完成,SFT 学的是格式/风格/行为约束,方向数天然少;大 r 饱和曲线与"预训练-微调损失差随 r 快速收敛"的实验均支持。理论上也与本库 kp-030(低秩近似)的谱视角呼应:微调方向落在权重空间的前几个奇异方向附近。

QLoRA 为什么成立:基座 4bit(NF4 量化)只影响前向数值精度,LoRA 分支保持 bf16 计算——梯度经量化基座仍有效;双重量化+分页优化器把 65B 微调压进 48GB。"量化基座+高精度旁路"是显存经济学的设计典范(kp-024 的联动)。

灾难性遗忘与缓解:全参微调把通用能力"挤掉"(小数据大步长下权重漂离预训练流形);缓解:混入通用数据(经验比 1:5~1:10)、低学习率(基座 lr 的 1/10 量级)、少 epoch、LoRA 本身(原权重冻结=遗忘上限受限)。

图示

谱系: 全参 > LoRA(r) > QLoRA > Prefix > Prompt > ICL(零训练)
LoRA: h = W₀x + (α/r)·B·A·x
      W₀ 冻结 ; A初始化0 ; 可训练 <1%
      训后可合并 → 零推理开销
QLoRA: 4bit基座 + bf16 LoRA → 单卡调65B (kp-024)
选型: 风格/格式→LoRA ; 新知识→全参/高r ; <1k数据→先ICL
遗忘缓解: 混通用数据 | 低lr | 少epoch | LoRA天然限幅

直观类比

全参微调像"重新装修整栋房子";LoRA 像"只换家具和软装"——在已精装的大厦(预训练权重)里,挎包(B·A 低秩包)装下所有改动,搬家(部署)时把挎包缝进墙里(合并)不留痕迹。QLoRA 像"把房子压缩收纳后还能换软装"。

实例或案例

  • 领域客服模型:基座+LoRA(r=32, 目标 qkvo+FFN)+ 5 万条对话——一天单机完成,效果满足上线。
  • QLoRA 论文:Guanaco 65B 单卡微调达 ChatGPT 99% 评测分——显存经济的里程碑。
  • 多 LoRA 服务:S-LoRA 类系统单 GPU 挂载数百任务适配器——"一个基座,千种人格"。

常见误区

  • 误区一:"LoRA 数据越多越好、可以注入新知识"。低秩容量有限——新语言/大量事实注入效果不及全参;LoRA 强在行为与格式适配。
  • 误区二:"r 越大越好"。r 超过任务内在秩后收益平台+过拟合风险;从 r=16 起扫,配 α/r 恒定。
  • 误区三:"微调数据越多越忘得少"。遗忘由"数据分布 vs 预训练分布"的偏移主导——混入通用数据比单纯加领域数据更有效。

与其他知识点的关系

  • kp-012/017:SFT 是谱系的一站(对齐三阶段的第一步)。
  • kp-024:QLoRA 与量化的组合。
  • kp-029/030:ICL 与模型编辑是"零训练"与"定点改写"两个极端。

自测题

  1. 写出 LoRA 的前向公式与初始化约定。

答:h=W₀x+(α/r)BA,A 高斯初始化、B 初始化为 0——训练起点 ΔW=0(不破坏预训练)。

  1. 为什么说 LoRA 有"零推理开销"?

答:训练后 BA 可直接加进 W₀ 合并为单矩阵——部署结构与原模型完全一致。

  1. 什么任务该用全参而非 LoRA?

答:需注入大量新知识/新语言/大幅行为改变——低秩旁路容量装不下时;且预算与数据规模支撑全参。

延伸阅读

  • Hu 等, "LoRA: Low-Rank Adaptation of Large Language Models"(ICLR 2022)。
  • Dettmers 等, "QLoRA: Efficient Finetuning of Quantized LLMs"(NeurIPS 2023)。
  • HuggingFace PEFT 文档(全家桶实操)。