前言
做大模型落地、RAG之外的定制化能力开发,微调是绕不开的技术。面试中经常会问到:全参微调和PEFT的区别?LoRA对比Prefix-Tuning、P-Tuning优势在哪? 很多人只知道LoRA好用,但说不清底层差异、优缺点和推理侧代价。本文把主流微调方案统一整理,适合面试背诵+工程选型参考。
先明确一个核心概念:PEFT(Parameter-Efficient Fine-Tuning,参数高效微调)不是某一个算法,是一类微调范式的统称,核心思想:冻结预训练主干大模型权重,只训练一小部分新增参数,不改动原始模型。PET、P-Tuning、Prefix-Tuning、LoRA都属于PEFT大家族。
一、全参微调 Full Fine-Tuning
原理
将预训练大模型全部参数放开训练,使用任务标注数据,迭代更新模型所有权重矩阵,原始预训练权重会被直接改写。
优点
- 任务效果上限最高,模型拟合能力最强;
- 不存在额外推理开销,推理逻辑和原始模型完全一致。
缺点
- 显存、算力消耗巨大:需要保存全部参数梯度、优化器状态,大模型很难单机跑;
- 对标注数据量要求高,小数据集容易灾难性遗忘、过拟合;
- 多任务场景下,每个任务都要保存一份完整模型权重,存储成本极高;
- 任务之间容易互相干扰,做多任务定制不友好。
适用场景
算力充足、有大规模高质量标注数据、追求任务极致效果、单任务独立部署。
二、PET 硬提示微调(Prompt-Engineering Tuning)
原理
人工手写固定文字模板(硬模板),把输入文本套入模板,把任务转换成完形填空形式。没有新增任何可训练参数,不训练、不更新模型权重,本质是提示工程,不是参数训练。
优点
- 零样本、少样本场景直接可用,完全不改动模型;
- 实现最简单,不需要训练流程;
- 无额外训练、存储成本。
缺点
- 效果高度依赖人工模板,模板一变效果波动极大;
- 复杂任务很难设计合适模板,泛化能力差;
- 上限很低,复杂业务定制基本不用。
适用场景
快速验证想法、简单分类任务、零样本快速测试,正式微调一般不选。
三、P-Tuning 软提示微调
原理
抛弃人工写死的硬文字模板,在输入序列里插入一组可学习的虚拟Token(软提示)。主干模型全程冻结,仅优化这部分虚拟Token的向量。
优点
- 不用人工反复打磨提示词模板;
- 参数量很小,显存开销低;
- 在NLU理解类任务上效果不错。
缺点
- 虚拟Token会占用输入上下文长度,挤占有效输入;
- 生成类任务表现一般;
- 推理时需要带上这部分软Token,存在轻微推理开销。
适用场景
分类、抽取等自然语言理解任务,现在工业使用占比远低于LoRA。
四、Prefix-Tuning 前缀微调
原理
在Transformer每一层Attention的输入前面,追加一组可训练的前缀向量,主干权重冻结,只优化这些前缀参数。
和P-Tuning区别:P-Tuning的软提示只加在输入层;Prefix-Tuning是Transformer每一层都加前缀向量。
优点
- 文本生成任务效果表现优秀,很适合控制生成风格、格式;
- 少样本场景表现稳定。
缺点
- 每层都新增参数,总参数量比LoRA更大;
- 推理阶段必须携带前缀参数,会带来固定推理时延开销;
- 多任务部署时,每个任务前缀都要随请求带入,框架适配麻烦。
适用场景
对话风格定制、可控文本生成,现在逐步被LoRA替代。
五、LoRA 低秩适配 Low-Rank Adaptation【重点】
原理
冻结原始Transformer主干权重,只在Attention模块的Q、V投影矩阵旁插入两个低秩矩阵A、B 。 训练阶段:只更新A、B,原始Wq、Wv完全不动; 推理阶段:将 \\Delta W = BA 直接合并到原始权重 W 中,得到 W_{new}=W+BA。 推理完成合并后,模型结构和原始模型一模一样,不存在任何额外推理开销。
补充:主流实现一般只作用于Q、V注意力矩阵,FFN前馈层默认不接入LoRA。
优点
- 新增参数量极少,r(秩)一般取8/16/32,训练显存压力很小;
- 推理零延迟,合并权重后和原生模型推理速度一致,这是LoRA碾压Prefix、P-Tuning的核心优势;
- 训练成本低,少量标注数据就能拿到接近全参微调的效果;
- 存储友好:每个任务只保存小小的LoRA适配器文件;同一个基座大模型,可以加载不同LoRA切换不同业务能力;
- 当前工业界大模型定制微调的主流方案,框架支持完善(peft、llama-factory、axolotl等)。
缺点
- 超参数r(秩)需要调优,r太小拟合不足、r过大失去低秩意义;
- 默认只修改注意力层,FFN层无法被微调,部分任务上限略低于全参;
- 在小模型、纯理解类任务上,收益有时不明显。
适用场景
绝大多数大模型业务定制:对话、翻译、指令遵循、领域知识库适配、风格改写,面试、工程落地首选。
六、核心对比总结(面试背诵版)
| 微调方案 | 是否改动主干权重 | 新增训练位置 | 推理额外延迟 | 参数量 | 效果上限 | 主流场景 |
|---|---|---|---|---|---|---|
| 全参微调 | ✅ 全部放开更新 | 全部Transformer权重 | 无 | 极大 | 最高 | 充足算力+大数据集,追求极致效果 |
| PET硬提示 | ❌ 无训练参数 | 人工模板 | 无 | 0 | 很低 | 快速验证、零样本测试 |
| P-Tuning | ❌ 冻结主干 | 输入侧虚拟soft token | 轻微 | 小 | 中等 | NLU理解任务 |
| Prefix-Tuning | ❌ 冻结主干 | Transformer每一层前缀向量 | 有 | 中 | 较高 | 可控生成(逐步淘汰) |
| LoRA | ❌ 冻结主干 | Attention Q/V低秩矩阵 | ✅ 合并后无延迟 | 极小 | 接近全参 | 工业主流,指令/领域微调 |
七、面试高频问答(直接背)
Q1:PEFT是什么?和全参微调核心区别?
A:PEFT是参数高效微调的统称,包含LoRA、P-Tuning、Prefix-Tuning等。核心思路是冻结基座模型主干,只训练少量新增参数;全参微调更新全部权重。PEFT优势是省显存、省数据、多任务方便;缺点是效果上限一般略低于全参。
Q2:LoRA对比Prefix-Tuning最大优势?
A:Prefix-Tuning每层都加前缀向量,推理必须带上前缀,有推理时延;LoRA训练完可以把低秩矩阵合并进原权重,推理没有任何额外开销,部署更简单,速度和原生模型一致。
Q3:LoRA为什么效果好、参数量很小?
A:大模型预训练权重存在低秩内在结构,任务增量更新的权重变化ΔW本身是低秩的,不需要完整维度矩阵去拟合,用A、B两个低秩矩阵相乘近似ΔW,用很少参数学到任务增量知识。
Q4:LoRA能不能调FFN?
A:原生LoRA设计只针对Attention Q/V;现在很多框架支持扩展LoRA到FFN层,参数量会变大,效果可能提升,但不再是标准LoRA。
结语
工程落地中,90%以上的领域微调、指令微调场景优先选择LoRA;只有预算、数据、算力全部拉满,并且任务价值极高时,才考虑全参微调。Prefix-Tuning、P-Tuning更多作为知识储备,面试问到能说出差异即可,新项目很少选用。 理解清楚各类微调的推理代价,是区分"只会调包"和"懂底层选型"的关键点。
写在最后
平台内已上线**《** 大模型 入门精品课》+ 简历和面试指导 (对于小白和想转行小伙伴而已,如果没有简历和面试辅导是很难通过面试的),课程内容包括:
-
纯干货一个月学完,没有冗余的理论,项目都是大型企业项目,非demo。
-
覆盖 RAG、智能体、Lora微调实战项目、vLLM私有化部署大模型、模型压缩(剪枝、量化、蒸馏)。
-
感兴趣的小伙伴可以前往主页了解!课程地址: https://edu.csdn.net/course/detail/41422