🧠AI LLM 基础
LoRA 与 PEFT 微调
面试回答
常见问法
- 全参微调和 PEFT 的本质差别是什么?
- LoRA 是怎么工作的?为什么几乎不掉点却只训练极少参数?
- QLoRA、AdaLoRA、DoRA 等变体分别解决什么问题?
- 什么场景选 PEFT,什么场景必须全参?
回答
待补充:从「冻结主干 + 注入低秩可训练模块」的思路讲起,强调显存/成本收益、推理时可合并权重、以及能力损失边界。
追问
- LoRA 的秩 r 怎么选?rank 越大一定越好吗?
- 为什么要把 LoRA 加在 attention 的 Q/K/V 而不是 FFN?
- 多 LoRA 热插拔(LoRAHub、S-LoRA)是怎么实现的?
- 微调前后怎么对比能力是否退化?
原理展开
- LoRA:
W + ΔW = W + BA,其中B ∈ R^{d×r}、A ∈ R^{r×k} - Prefix / Prompt Tuning:在输入层注入可学习前缀
- Adapter:在 Transformer Block 之间插入小网络
- QLoRA:4-bit 量化主干 + LoRA 可训练层,消费级显卡也能训 65B
- 推理合并:
W_merged = W + BA,部署时无额外开销
易错点
- 把 LoRA 当万能解,用它做需要大幅度知识注入的任务(要预训练或继续预训练)
- rank 设太大,接近全参成本却没拿到对应收益
- 忘记验证合并后权重是否还能切回基座(多租户场景)
- 数据质量不够时,LoRA 反而放大了训练集偏差
记忆技巧
- LoRA 本质:低秩假设,
ΔW不需要满秩 - 选型口诀:增量能力 → PEFT;领域重塑 → 继续预训练
- 成本口诀:QLoRA = 4-bit + LoRA,显存降一个数量级