核心前提:PEFT(Parameter-Efficient Fine-Tuning,参数高效微调)是针对大模型全量微调“参数量大、算力消耗高、多任务冗余”等问题提出的技术体系,核心思想是冻结预训练模型主干参数,仅微调少量新增参数,在保证模型性能接近全量微调的同时,大幅降低训练和部署成本。以下重点梳理三种主流PEFT技术的核心细节、差异及应用场景。

一、Adapter Tuning(适配器微调)

1. 核心原理

Adapter Tuning的核心逻辑是“冻结主干、微调分支”——在预训练模型(如BERT、Transformer)的层间插入小型可训练模块(适配器模块),冻结原始模型的全部参数,仅训练这些新增的适配器模块,通过少量参数的微调实现下游任务适配,本质是“在不破坏预训练知识的前提下,新增任务专属的特征变换分支”。

其设计初衷是解决传统全量微调“多任务场景下参数冗余”的问题:全量微调每任务需训练100%模型参数,多任务时需存储多个完整模型,而Adapter仅为每个任务新增少量参数,实现“一个主干模型+多个适配器”的多任务适配模式。

2. 关键细节

  • 模块结构:采用“瓶颈式”设计,核心是“降维-非线性变换-升维”的链路——先通过线性层将输入特征的高维度(d)压缩至低维度(m,m远小于d),经非线性激活函数(如ReLU)处理后,再通过线性层恢复至原始维度,参数计算公式为2md + d + m,确保参数量极少。

  • 插入位置:通常在Transformer层的注意力层和前馈层后、残差连接前,每层插入2个适配器,多模块协同作用实现逐层特征优化。

  • 初始化与训练:适配器模块初始化为接近恒等函数的状态,避免训练初期干扰原模型的预训练性能;训练时仅更新适配器参数、层归一化参数及最终分类层参数,原模型参数完全冻结。

  • 性能表现:在GLUE基准、SQuAD问答任务等场景中,性能接近全量微调(GLUE上仅差0.4%),但参数量仅为全量微调的1%-5%(如BERT模型每任务仅新增3.6%参数)。

3. 优缺点

优点
  • 参数高效:参数量远低于全量微调,多任务场景下无需存储多个完整模型,大幅节省存储成本。

  • 可扩展性强:新增任务时无需重训历史任务,仅需新增对应的适配器模块,适配多任务流场景(如云计算)。

  • 性能稳定:近恒等初始化设计避免破坏原模型知识,性能接近全量微调,鲁棒性强(对初始化尺度和模块尺寸不敏感)。

缺点
  • 推理开销略增:需在模型层间插入适配器模块,推理时会增加少量计算步骤,略低于全量微调的推理速度。

  • 模块设计依赖经验:适配器的插入位置、维度设置需结合具体模型和任务调整,缺乏统一标准。

4. 适用场景

多任务处理场景(如同时处理情感分析、垃圾邮件识别、问答等任务)、算力资源有限但需保证性能的场景(如小团队、个人开发者),尤其适合分类、序列标注等非生成类任务。

二、Prompt Tuning(提示微调)

1. 核心原理

Prompt Tuning的核心是“用可训练的提示向量引导模型适配任务”——在输入序列的token层(embedding层之前), prepend(前置)一组可训练的虚拟token(提示向量),冻结预训练模型的全部参数,仅训练这些虚拟token的嵌入参数,通过提示向量向模型传递任务信息,让模型基于预训练知识完成下游任务。

与传统手动提示(如“这是一个情感分析任务:XXX”)不同,Prompt Tuning的提示向量是可训练的连续向量,而非固定文本,能更精准地适配具体任务,且无需手动设计提示模板。

2. 关键细节

  • 提示向量设计:虚拟token属于模型词表中的特殊token(如<prompt_0>),其嵌入向量是唯一可训练的参数,数量通常为10-100个(根据任务调整)。

  • 插入位置:仅在输入序列的最前端插入,属于“输入层干预”,提示向量与原始输入token一起流过整个模型,其影响通过模型各层自然传播。

  • 训练特点:训练过程仅更新虚拟token的嵌入参数,参数量极少(通常远低于1%);模型越大,Prompt Tuning的效果越接近全量微调(百亿参数以上模型效果显著)。

  • 分类与扩展:可分为直接提示学习和迁移学习两类,支持通用优化、编码器基于、分解策略等多种实现方式,框架灵活性强。

3. 优缺点

优点
  • 参数量极少:仅训练提示向量的嵌入参数,计算和存储成本极低,适合超大规模模型(如10B以上参数模型)。

  • 实现简单:无需修改模型结构,仅需在输入层添加虚拟token,工程实现难度低,便于快速实验。

  • 模块化适配:不同任务可对应不同的提示向量,切换任务时仅需加载对应提示参数,部署灵活。

缺点
  • 表达能力有限:仅通过输入层的提示向量引导模型,影响范围较浅,尤其在小模型(<1B参数)上效果较差。

  • 任务依赖性强:提示向量的效果与任务类型高度相关,部分复杂任务(如长文本生成)难以通过简单提示向量实现精准适配。

4. 适用场景

超大规模模型的快速适配、多任务快速切换场景(如多语言翻译、简单分类任务)、算力资源极度受限且模型规模较大的场景,不适合小模型和复杂生成任务。

三、Prefix Tuning(前缀微调)

1. 核心原理

Prefix Tuning是对Prompt Tuning的优化升级,核心思想是“在模型内部每一层插入可训练的前缀向量”——不修改输入层,而是在Transformer每一层的Key和Value(隐藏状态层)前,拼接一组可训练的前缀向量(虚拟记忆),冻结原模型参数,仅训练这些前缀向量,通过逐层干预注意力机制,引导模型完成任务适配。

通俗来说,Prompt Tuning是“在输入端加提示”,而Prefix Tuning是“在模型每一层加提示”,对模型的控制更精细,尤其适合生成类任务。

2. 关键细节

  • 前缀向量设计:前缀向量是纯连续向量,不对应任何词表token,每个Transformer层的Key和Value都有独立的前缀向量(P_K、P_V),拼接后参与注意力计算(新Key = concat(P_K, 原始Key),新Value = concat(P_V, 原始Value))。

  • 插入位置:Transformer每一层的注意力层内部,属于“隐藏层干预”,直接影响每一层的注意力分配,控制更精细。

  • 参数量与性能:参数量略高于Prompt Tuning,但仍低于1%;在生成任务(如摘要、对话)上效果显著优于Prompt Tuning,小模型上的表现也远好于Prompt Tuning。

  • 适用架构:更适合Decoder-only(如GPT、Llama)或Seq2Seq模型,对生成任务的适配性更强。

3. 优缺点

优点
  • 表达能力强:逐层干预注意力机制,能更精准地引导模型学习任务特征,尤其适合生成任务(如文本摘要、对话生成)。

  • 适配性广:在小模型和大模型上均有较好表现,无需依赖超大规模模型即可达到不错的效果。

  • 性能接近全量微调:在生成任务上,性能通常略优于Prompt Tuning,部分场景可接近全量微调。

缺点
  • 实现复杂度高:需修改Transformer层的注意力计算逻辑,工程实现难度高于Adapter Tuning和Prompt Tuning。

  • 推理开销略增:每层均需加载前缀向量,推理时的计算量比Prompt Tuning略高。

4. 适用场景

生成类任务(如文本摘要、对话生成、机器翻译)、对模型控制精度要求高的场景、小模型需实现高性能适配的场景,尤其适合Decoder-only架构的大模型。

四、三种技术核心对比

对比维度

Adapter Tuning

Prompt Tuning

Prefix Tuning

核心干预位置

Transformer层间(插入适配器模块)

输入层(前置虚拟token)

Transformer每层注意力层(Key/Value前缀)

参数量占比

1%-5%(如BERT每任务3.6%)

远低于1%

低于1%(略高于Prompt Tuning)

实现复杂度

中等(需插入模块)

低(仅修改输入)

高(需修改注意力逻辑)

核心优势

参数高效、多任务灵活、性能稳定

参数量极少、实现简单、部署灵活

表达能力强、生成任务适配好、小模型效果优

典型适用任务

分类、序列标注、多任务处理

简单分类、多语言任务、大模型快速适配

文本摘要、对话生成、机器翻译

五、学习总结

1. 三种技术的核心共性:均遵循PEFT“冻结主干、微调少量参数”的核心思想,旨在平衡模型性能与训练/部署成本,避免全量微调的参数冗余和算力浪费。

2. 技术选择逻辑:根据任务类型、模型规模和算力资源选择——非生成任务(分类、序列标注)优先选Adapter Tuning;大模型快速适配、简单任务优先选Prompt Tuning;生成任务、小模型高性能适配优先选Prefix Tuning。

3. 核心启示:PEFT技术的核心价值的是“最大化利用预训练模型的通用知识”,通过少量参数的微调实现任务适配,这也是大模型落地应用的关键——降低了大模型微调的门槛,让小团队和个人也能实现大模型的个性化适配。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐