← 返回题目列表

全量微调和参数高效微调(PEFT)有什么区别?

高频 简单 第 1 / 25 题 更新于 2026/07/28
全量微调PEFTAdapter训练显存

简化版

全量微调更新模型全部参数,表达能力强,但梯度、优化器状态和检查点成本很高;PEFT 冻结大部分基座,只训练少量新增或选定参数,显著降低训练与存储成本。PEFT 不保证总能达到全量微调效果,也不意味着训练过程没有激活值显存开销。

详细版

主要区别如下:

维度全量微调PEFT
可训练参数全部或绝大多数少量 Adapter、低秩矩阵等
优化器与梯度内存明显较低
单任务检查点接近完整模型通常只保存小型增量参数
任务切换加载不同完整模型同一基座切换 Adapter
表达容量更高受方法、秩和目标模块限制
基座参数会改变通常冻结

资源有限、多任务部署或需要快速迭代时优先评估 PEFT;数据充足、任务与基座差异大且效果上限最重要时,可比较全量微调。最终选择必须基于同一评估集,而不是默认某一种一定更好。

完整版教学

一、全量微调为什么昂贵

训练不仅要加载权重,还要保存前向激活、梯度和优化器状态。以 Adam 类优化器为例,每个可训练参数还可能对应一阶、二阶动量等状态,所以训练显存远大于仅做推理时的权重显存。

分布式分片、混合精度和激活检查点能缓解成本,但系统复杂度也会上升。

二、PEFT 的核心思路

PEFT 不重新优化整个参数空间,而是在较小的可训练子空间中适配任务。常见方法包括 LoRA、Adapter、Prefix Tuning 和 Prompt Tuning。

LoRA 冻结原权重,用低秩矩阵表示权重增量;Adapter 在网络中加入小模块;软提示方法训练一组连续向量。它们的参数位置和表达能力不同。

三、为什么 PEFT 能省资源

冻结参数不需要保存对应梯度和优化器状态,小型 Adapter 也更容易存储、传输和版本管理。一个基座可以搭配多个任务 Adapter,避免每个任务保存一份完整模型。

但前向和反向仍要经过基座网络,激活值仍会占用显存。长序列、大批量时,PEFT 也可能显存不足,需要激活检查点、梯度累积或量化。

四、效果是否一定接近全量微调

不一定。目标任务需要的权重变化若能被低维子空间表示,PEFT 可能接近甚至在特定数据规模下优于全量微调;任务变化很大、数据充足时,受限的参数空间也可能成为瓶颈。

全量微调参数多,同样更容易在小数据上过拟合或破坏原能力。参数更多不是自动更好。

五、工程部署差异

未合并的 Adapter 需要基座模型版本、Tokenizer 和配置严格匹配。LoRA 可在部署前合并进权重,获得普通模型的推理路径,但会失去快速切换 Adapter 的便利。

多 Adapter 服务还要考虑显存驻留、并发路由、缓存和租户隔离。

六、怎么做选择

先用代表性数据分别训练候选方案,比较目标任务指标、通用能力保持、安全、训练成本、推理延迟和运维复杂度。不要只比较训练损失或可训练参数比例。

PEFT 的“参数高效”主要指可训练参数少,不等于所有硬件资源都会按相同比例下降。

七、面试拆解算例

微调题可以用一个小项目来拆:基座模型 7B,业务只需要客服问答风格统一,训练集初筛 30,000 条,清洗后留下 8,000 条高质量样本。若全量微调,7B 参数按 BF16 仅权重就约 14GB,训练还要梯度和优化器状态;若用 LoRA,只训练低秩增量,显存压力会明显下降,但表达能力受 rank 和目标模块影响。

base_model: 7B
raw_samples: 30000
clean_samples: 8000
lora_rank: 8 or 16
learning_rate: 1e-5 ~ 2e-4
validation_split: 5% ~ 10%
方案适合目标主要风险验收重点
Prompt临时改格式、少量约束长提示不稳定单轮成功率
RAG接入动态知识检索召回不足引用与命中率
SFT/LoRA固化行为和领域表达遗忘与过拟合回归集与人工偏好
全量微调深度改模型能力成本高、风险大全面评测
数据清洗 -> 训练/验证切分 -> 小步试训 -> 回归评测 -> 灰度上线
   |              |             |             |
 去噪去重       防泄漏       看 loss       看坏例

因此回答「全量微调和参数高效微调(PEFT)有什么区别?」时,不要直接说“用微调”。先问目标是什么、数据是否足够干净、是否有动态知识,再选择 Prompt、RAG、PEFT 或全量微调,最后用评估集证明它确实变好了。

八、常见误区与追问

  • 误区:微调就是把业务文档喂给模型让它记住。 微调更适合塑造行为格式、任务风格和领域表达,动态知识与事实更新通常更适合 RAG。
  • 追问:为什么这个问题不用 Prompt 或 RAG 解决? 面试里要先说明目标是改行为、补知识还是接外部数据,再选择微调方案。
  • 误区:训练集越大越好。 SFT 更怕低质、冲突、模板化和泄漏数据;少量高质量样本常常胜过大量脏样本。
  • 追问:上线前你会看哪些评估? 至少要覆盖基准集、人工偏好、回归用例、安全红线、延迟成本和灾难性遗忘检查。
  • 误区:LoRA/QLoRA 省显存就没有代价。 参数高效方法降低训练成本,但 rank、目标模块、量化误差和合并部署都会影响最终质量。

九、加强记忆

全量微调是在整本模型上改字,PEFT 是给模型加一组小型修订页;前者空间大但成本高,后者轻便易切换但容量受限,选择要看效果与系统成本的共同评估。