M4-105M4: Sequences & TransformersModel Compression & DistillationHard
Mastery:

Model Compression & Distillation: 解释 LoRA / QLoRA 与全量微调的取舍。

📐 Mathematical Definition
W′=W+αrBA,B∈Rd×r,A∈Rr×k;QLoRA: W in NF4+LoRAW'=W+\frac{\alpha}{r}BA,\quad B\in\mathbb{R}^{d\times r},A\in\mathbb{R}^{r\times k};\qquad \text{QLoRA}:\ W\ \text{in NF4}+\text{LoRA}
⚡ Executive Summary
Core Concept: LoRA 用低秩增量(A·B)只训少量参数;QLoRA 再叠加 4-bit 基座量化;全量微调上限最高但显存与灾难遗忘风险大。

📌 Key Takeaways

  • •
    LoRA:冻结基座、只训低秩增量,参数量降 10⁴ 倍
  • •
    QLoRA:基座 4-bit 量化 + LoRA(单卡微调大模型)
  • •
    全量:上限最高但需大量显存/数据,易灾难遗忘

📐 Mathematical Derivations

数学机理:<strong>LoRA(Low-Rank Adaptation)</strong>——观察到'微调时的权重变化 ΔW 具有低秩性'(即微调主要改变权重空间中的少数方向);故用<strong>低秩分解</strong>参数化增量:W'=W+(α/r)·BA,其中 B∈ℝ^{d×r}、A∈ℝ^{r×k}(r≪min(d,k)),<strong>冻结 W</strong>、只训练 A 与 B。<strong>参数量</strong>——从 d×k 降到 r×(d+k);以 d=k=4096、r=8 为例,参数量从 16.7M 降到 65K(降 256 倍);对整个模型,可训练参数常降 10⁴ 倍。<strong>收益</strong>——(a) <strong>显存</strong>:优化器状态只针对 LoRA 参数(Adam 的 m/v 只占少量);(b) <strong>存储</strong>:不同任务的适配器只需存几十 MB(而非整个模型);(c) <strong>无推理延迟</strong>(可把 BA 合并回 W);(d) <strong>缓解灾难性遗忘</strong>(基座冻结,原能力保留)。<strong>QLoRA</strong>——在 LoRA 之上进一步把<strong>基座模型量化到 4-bit(NF4)并冻结</strong>,只训 LoRA(保持 BF16);这使'在单张 48GB 卡上微调 65B 模型'成为可能。QLoRA 的三个关键组件:(a) <strong>NF4</strong>(4-bit NormalFloat,为正态分布设计的信息论最优量化);(b) <strong>双重量化</strong>(对量化常数再量化,进一步省显存);(c) <strong>分页优化器</strong>(用统一内存避免显存尖峰)。<strong>全量微调</strong>——更新所有参数;<strong>上限最高</strong>(能充分适配新领域)、但 (a) 显存需求 ∝ 参数量×16(含优化器)、(b) 需大量数据(否则灾难遗忘)、(c) 每个任务存一份完整模型。<strong>取舍</strong>——(a) 数据少/任务近(如指令微调、风格适配)→ LoRA/QLoRA 足够;(b) 数据多/领域远(如新语言、新模态)→ 全量或'继续预训练 + LoRA';(c) 资源受限 → QLoRA。

🏭 Production Trade-offs

深度剖析与工程权衡:① <strong>'低秩性'的经验依据</strong>——Aghajanyan 等发现'微调的 intrinsic dimension(内在维度)远小于参数量',即微调只在低维子空间内移动;这是 LoRA 有效性的理论基础。但注意:<strong>预训练</strong>不能低秩(需要充分探索),低秩性是'微调'的特性。② <strong>秩 r 的选择</strong>——r 越大表达力越强但参数越多;常用 r=8~64。经验上 (a) 简单任务 r=8 足够;(b) 复杂/领域远任务需 r=64~256;(c) 也有'增加 r 但用 LoRA+ 的缩放'的研究。③ <strong>应用位置</strong>——LoRA 通常加在<strong>注意力层的 Q/K/V/O 投影</strong>上;也有加在 FFN 上(覆盖更广、参数更多);QLoRA 论文建议'对所有线性层都加 LoRA'效果最好。④ <strong>α/r 缩放</strong>——α 是缩放因子;固定 α/r 的比例可让'改变 r 时不必重调学习率'(α 通常设为 r 的 1~2 倍)。⑤ <strong>与其他 PEFT 的对比</strong>——(a) <strong>Adapter</strong>(插入小模块,有推理延迟);(b) <strong>Prefix/Prompt Tuning</strong>(加可学习前缀,参数更少但表达力受限);(c) <strong>LoRA</strong>(无推理延迟、表达力好,成为主流);(d) <strong>DoRA</strong>(分解为幅度与方向,改善 LoRA)。⑥ <strong>面试要点</strong>——被问'LoRA/QLoRA',应给出'<strong>低秩增量 W+BA + 冻结基座 → 参数降 10⁴ 倍 + 无推理延迟 + 缓解遗忘</strong>'与'<strong>QLoRA = NF4 + 双重量化 + 分页优化器 + LoRA</strong>',并给出'按数据量与领域距离选择微调方式'的决策;能提到'内在维度理论'与'DoRA'是深度理解的标志。
⚠️ Common Interview Pitfalls
  • ✕
    以为 LoRA 会增加推理延迟(可合并回 W)
  • ✕
    在领域距离很远时只做 LoRA(容量不足)
🎯 Interviewer Follow-ups
  • ?
    为什么低秩增量足够?
  • ?
    LoRA 的秩 r 如何选?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM4-104: Model Compression & Distillation: 解释量化的精度损失来源与缓解。📋Back to BankNext →M4-106: Quantization & Acceleration: 解释对称量化与非对称量化的差异。