微调与对齐

你了解哪些微调方式?LoRA、P-Tuning、Adapter 的异同点是什么?

91学AI·2026/7/26·9 阅读

考察点

这道题是微调方向的开场题,面试官想看你对 PEFT 方法谱系有没有整体认识,而不是只会背 LoRA 一个名词。回答的关键是抓住一个主线:这些方法都在解决同一个问题——全参微调太贵,于是只动一小部分参数。追问通常会落到「你在项目里用了哪种、为什么」「LoRA 和 Prefix 类方法在推理时有什么区别」,所以异同点要能落到工程后果上。

参考答案

微调的两大类:全参微调与参数高效微调

全参微调(Full Fine-tuning)是最朴素的做法:用下游数据继续反向传播,更新模型全部参数。7B 模型 fp16 参数本身就占约 14GB 显存,加上 AdamW 优化器的梯度和一阶、二阶动量,训练显存需求大概是参数量的 6 到 8 倍,单卡根本放不下,往往要多卡加 ZeRO 分片。效果好,但成本、存储(每个任务一份完整权重)、灾难性遗忘风险都很高。

参数高效微调(PEFT)的思路是冻结主干,只训练一小撮新增或分解出来的参数,通常只占全参数的 0.1% 到 1%,训练显存和存储成本随之大幅下降,且天然减轻了遗忘问题。主流方法可以按「改动发生在哪」分成三族。

Adapter:在层间插小模块

Adapter 是较早的方案,在 Transformer 每一层的 Attention 和 FFN 之后插入一个 bottleneck 结构:先下投影到很小维度(比如 64),过非线性,再上投影回来,带残差连接。训练时只更新这些小模块。

它的问题出在推理侧:新增的模块串行插在计算路径里,无法合并进原权重,推理延迟会实打实增加,层数越多越明显。在多任务部署时,每换一个任务要换一套 Adapter,但主干只有一份,这点是它的优势。

P-Tuning / Prefix-Tuning:只动输入侧

这一族不改模型结构,而是在输入或每层的 Key/Value 前面拼接一段可训练的「软提示」向量。P-Tuning v1 只在 embedding 层加可学习 token,并用一个小 LSTM/MLP 重参数化;P-Tuning v2 把可训练前缀加到了每一层(类似 Prefix-Tuning),参数量和效果都明显提升,在中小规模模型上能逼近全参微调。

它的局限有两个:一是前缀占用了宝贵的上下文长度,prompt 长场景下心疼;二是软提示的优化对初始化和任务规模比较敏感,超大模型上好调,小模型上效果不如 LoRA 稳定。另外推理时也要带着前缀算,有轻微开销。

LoRA:对权重做低秩增量分解

LoRA 的假设是:微调引起的权重变化量 ΔW 是低秩的。于是把 ΔW 分解为两个低秩矩阵的乘积 B·A(原矩阵 d×k,分解后 r≪min(d,k)),训练时只更新 A 和 B,原权重 W 冻结。前向变成 h = Wx + BAx。r 常取 8 到 64,7B 模型下可训练参数通常只有全参数的千分之几。

LoRA 最大的工程优点是推理零额外开销:训练完把 BA 合并回 W,得到的就是一个普通权重矩阵,推理路径和原模型完全一样。多任务时主干共享、每个任务只存几百 MB 的增量,还能用 QLoRA(4bit 量化主干 + LoRA)把 7B 微调压到单张 24GB 消费卡上。这也是它成为当前默认方案的原因。

异同点对比

维度LoRAAdapterP-Tuning v2
改动位置权重矩阵的低秩增量层间插入新模块每层输入的 Key/Value 前缀
可训练参数量约 0.1%-1%约 1%-3%约 0.1%-1%
推理额外开销无(可合并权重)有,串行模块增加延迟轻微,前缀占 KV
占用上下文长度不占不占
多任务切换换增量权重,轻量换 Adapter 模块换前缀向量
效果稳定性高,当前默认中高对规模较敏感

选型经验

实践中的结论比较收敛:通用场景优先 LoRA,效果、成本、部署便利性综合最优;显存紧张用 QLoRA;多任务高频切换且对推理延迟敏感时,Adapter 的模块隔离性值得考虑;P-Tuning 类方法现在更多出现在无法改权重、只能调输入的受限场景,或者作为对照基线。

可能的追问

追问:LoRA 为什么推理没有额外开销,Adapter 为什么有? LoRA 的增量 B·A 和原权重 W 是同形状的矩阵运算,训练完可以代数合并成 W' = W + BA,推理时就是一次普通矩阵乘。Adapter 是带非线性的串行子网络,结构上插在前向路径中间,没法折叠进已有权重,每次前向都要多走一遍。

追问:QLoRA 和 LoRA 的区别? QLoRA 把冻结的主干量化到 4bit(NF4),同时用分页优化器防显存峰值,梯度反传时临时反量化计算,LoRA 增量本身仍用 bf16 训练。效果是 65B 级别的模型能在单张 48GB 卡上微调,且论文报告效果与 16bit 全参微调接近。

追问:既然 PEFT 这么省,为什么还要全参微调? PEFT 的容量上限摆在那:当任务需要注入大量新知识、改变模型底层行为(比如基座到代码/数学的深度领域迁移),低秩增量表达能力不够,全参微调效果上限更高。选型本质是效果上限和成本的权衡。

评论 (0)

暂无评论,快来抢沙发吧!

91学AI

© 2026 91学AI · 按岗位学 AI 与大数据. All rights reserved.