M5-133M5: NLP & Large Language ModelsPEFT (LoRA / QLoRA / Prefix Tuning)Medium
Mastery:
PEFT (LoRA / QLoRA / Prefix Tuning): 解释 Prefix/Prompt Tuning 与 LoRA 的差异。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: Prompt/Prefix Tuning 在输入/每层加可学习前缀(改激活);LoRA 改权重(加低秩增量);后者更通用且可合并。
📌 Key Takeaways
- •Prompt Tuning:只在输入加可学习嵌入(参数极少)
- •Prefix Tuning:在每层的 KV 前加可学习前缀(更强)
- •LoRA:改权重(低秩增量)——更通用、可合并、无推理开销
📐 Mathematical Derivations
数学机理:<strong>三类 PEFT 的机制差异</strong>。(1) <strong>Prompt Tuning(Lester 等 2021)</strong>——在<strong>输入层</strong>前加若干个<strong>可学习的嵌入向量</strong>('软提示'),只训练这些嵌入(参数量极小,如 100 个 × d)。<strong>特点</strong>——参数量最少;但表达力最弱(只影响输入层);<strong>缺点</strong>——在小模型上效果差(需模型足够大才有'软提示'能力)、<strong>占用上下文长度</strong>(前缀占用 token 位置)。(2) <strong>Prefix Tuning(Li & Liang 2021)</strong>——在<strong>每一层</strong>的注意力计算前,给 K 和 V <strong>拼接可学习的前缀</strong>(即每层都加'虚拟的 KV 对')。<strong>特点</strong>——比 Prompt Tuning 强(影响每层);<strong>缺点</strong>——(a) 占用注意力计算(每层多算前缀长度)、(b) 减少可用的上下文长度(因为前缀占位置)、(c) 推理时有额外计算(不像 LoRA 可合并)。(3) <strong>LoRA</strong>——<strong>修改权重</strong>(W + BA)。<strong>特点</strong>——(a) <strong>表达力强</strong>(直接改权重);(b) <strong>可合并</strong>(推理时无额外开销);(c) <strong>不占上下文</strong>(不占用 token 位置);(d) 在大/小模型上都有效。<strong>对比总结</strong>——(a) <strong>参数量</strong>:Prompt Tuning < Prefix Tuning < LoRA(但都远小于全参);(b) <strong>表达力</strong>:LoRA > Prefix > Prompt(一般规律);(c) <strong>推理开销</strong>:LoRA 可合并(0);Prefix/Prompt 有额外计算(且占上下文);(d) <strong>小模型适用性</strong>:LoRA 好;Prompt/Prefix 在小模型上差(研究表明 <10B 时 Prompt Tuning 明显不如 LoRA,但模型越大差距越小);(e) <strong>易用性</strong>:LoRA 生态最成熟。<strong>为什么 Prefix/Prompt 在小模型上差</strong>——它们依赖'模型能理解软提示'的能力,这需要模型足够大(有足够的'通用性');小模型的容量不足以从软提示中'解读'任务。<strong>其他 PEFT</strong>——(a) <strong>Adapter</strong>(在层间插入小 MLP 模块,有推理延迟);(b) <strong>IA³</strong>(对激活做逐元素缩放,参数极少);(c) <strong>BitFit</strong>(只训 bias,参数极少但表达力有限)。<strong>实践选择</strong>——<strong>LoRA 是默认</strong>(综合最优);Prefix/Prompt 用于'参数极致受限'或'需要动态切换多个任务提示'的场景;Adapter 在部分场景仍有使用。
🏭 Production Trade-offs
深度剖析与工程权衡:① <strong>'LoRA 可合并、Prefix 不可'是关键工程差异</strong>——LoRA 合并后是普通模型(无额外开销);Prefix 每层都有额外计算且占用上下文。故生产环境 LoRA 更优。② <strong>'Prefix 占用上下文长度'</strong>——因为它占用 token 位置(每层的前缀相当于额外的 KV);这对长上下文场景不利。③ <strong>'小模型上 Prompt/Prefix 效果差'</strong>——这是'模型容量不足'的体现;故小模型应用 LoRA。④ <strong>'LoRA 生态最成熟'</strong>——工具支持(PEFT 库、vLLM 的 multi-LoRA)、社区适配器丰富;这降低了使用门槛。⑤ <strong>'多任务管理'</strong>——LoRA 的适配器可多任务共存(multi-LoRA 服务);Prompt/Prefix 也可(不同的软提示);但 LoRA 可合并(多任务能力合并),Prefix 不行。⑥ <strong>面试要点</strong>——被问'Prompt/Prefix Tuning 与 LoRA 的差异',应给出'<strong>作用位置(输入/每层 KV vs 权重)+ 表达力 + 是否可合并 + 是否占上下文 + 小模型适用性</strong>'的对比,并给出'<strong>LoRA 是默认选择</strong>'的结论;能指出'Prefix 占上下文且不可合并'是深度理解的标志。
⚠️ Common Interview Pitfalls
- ✕在小模型上用 Prompt Tuning(效果差)
- ✕认为 Prefix Tuning 可合并进权重(不可)
🎯 Interviewer Follow-ups
- ?为什么 Prefix Tuning 会'占用上下文长度'?
- ?哪种方法在小模型上更差?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.