跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

大模型参数高效微调(PEFT)技术综述:从原理到应用

综述由AI生成大语言模型快速发展导致计算资源受限,传统全参数微调难以适应。参数高效微调(PEFT)通过固定大部分预训练参数仅微调少数参数,实现大模型快速适配下游任务。综述了 PEFT 技术的发展历程,涵盖加性微调、选择性微调、重参数化微调和混合微调四大分类。详细介绍了 Adapter、Soft Prompt、LoRA 等核心算法及其变体,探讨了剪枝、量化等提升效率的设计策略。同时分析了 PEFT 在视觉、文本及扩散模型中的跨领域应用,以及云服务和分布式系统中的部署挑战与隐私保护方案。最后总结了建立统一评测基准、增强训练效率及探索扩展定律等未来研究方向,为从业者提供全面的学习指南。

人间过客发布于 2025/2/7更新于 2026/5/2516 浏览
大模型参数高效微调(PEFT)技术综述:从原理到应用

近期,大语言模型、文生图模型等大规模 AI 模型迅猛发展。在这种形势下,如何适应瞬息万变的需求,快速适配大模型至各类下游任务,成为了一个重要的挑战。受限于计算资源,传统的全参数微调方法可能会显得力不从心,因此需要探索更高效的微调策略。上述挑战催生了参数高效微调(PEFT)技术在近期的快速发展。

为了全面总结 PEFT 技术的发展历程并及时跟进最新的研究进展,来自美国东北大学、加州大学 Riverside 分校、亚利桑那州立大学和纽约大学的研究者们调研、整理并总结了参数高效微调(PEFT)技术在大模型上的应用及其发展前景,并总结为一篇全面且前沿的综述。

PEFT 算法分类及各分类下包含的具体算法名称

论文链接:https://arxiv.org/pdf/2403.14608.pdf

PEFT 提供了一个高效的针对预训练模型的下游任务适配手段,其通过固定大部分预训练参数并微调极少数参数,让大模型轻装上阵,迅速适配各种下游任务,让大模型变得不再「巨无霸」。

全文涵盖了近 250 篇最新文献,无论是作为相关行业从业者,或是大模型微调领域的初学者,该综述均可以充当一个全面的学习指南。

具体来说,该综述分别从 PEFT 算法分类,高效 PEFT 设计,PEFT 跨领域应用,以及 PEFT 系统设计部署四大层面,对 PEFT 的发展历程及其最新进展进行了全面且细致的阐述。

1、PEFT 背景介绍

论文首先以最近大热的 LLaMA 模型作为代表,分析并阐述了大语言模型(LLM)和其他基于 Transformer 的模型的架构和计算流程,并定义了所需的符号表示,以便于在后文分析各类 PEFT 技术。

此外,作者还概述了 PEFT 算法的分类方法。作者根据不同的操作将 PEFT 算法划分为加性微调、选择性微调、重参数化微调和混合微调。各分类的具体定义将在后文详细讲解。

在背景部分,作者还介绍了验证 PEFT 方法性能所使用的常见下游基准测试和数据集,便于读者熟悉常见的任务设置。

2、PEFT 方法分类

作者首先给出了加性微调、选择性微调、重参数化微调和混合微调的定义:

加性微调通过在预训练模型的特定位置添加可学习的模块或参数,以最小化适配下游任务时模型的可训练的参数量。

选择性微调在微调过程中只更新模型中的一部分参数,而保持其余参数固定。相较于加性微调,选择性微调无需更改预训练模型的架构。

重参数化微调通过构建预训练模型参数的(低秩的)表示形式用于训练。在推理时,参数将被等价的转化为预训练模型参数结构,以避免引入额外的推理延迟。

这三者的区分如图四所示:

PEFT 三种主要微调方式的区别

混合微调结合了各类 PEFT 方法的优势,并通过分析不同方法的相似性以构建一个统一的 PEFT 架构,或寻找最优的 PEFT 超参数。

接下来,作者对每个 PEFT 种类进一步细分:

A. 加性微调:

1)Adapter

Adapter 通过在 Transformer 块内添加小型 Adapter 层,实现了参数高效微调。每个 Adapter 层包含一个下投影矩阵、一个激活函数,和一个上投影矩阵。下投影矩阵将输入特征映射到瓶颈维度 r,上投影矩阵将瓶颈特征映射回原始维度 d。

图五展示了三种典型的 Adapter 层在模型中的插入策略。Serial Adapter 顺序地插入到 Transformer 模块之后,Parallel Adapter 则并行地插入到 Transformer 模块旁。CoDA 是一种稀疏的 Adapter 方式,对于重要的 token,CoDA 同时利用预训练 Transformer 模块和 Adapter 分支进行推理;而对于不重要的 token,CoDA 则仅使用 Adapter 分支进行推理,以节省计算开销。

2)Soft Prompt

Soft Prompt 通过在输入序列的头部添加可学习的向量,以实现参数高效微调。代表性方法包括 Prefix-tuning 和 Prompt Tuning。Prefix-tuning 通过在每个 Transformer 层的键、值和查询矩阵前面添加可学习的向量,实现对模型表示的微调。Prompt Tuning 仅仅在首个词向量层插入可学习向量,以进一步减少训练参数。

3)Others

除了上述两种分类,还有一些 PEFT 方法同样也是在训练过程引入新的参数。典型的两种方法如图六所示。(IA) 3 引入了三个缩放向量,用于调整键、值以及前馈网络的激活值。SSF 则通过线性变换来调整模型的激活值。在每一步操作之后,SSF 都会添加一个 SSF-ADA 层,以实现激活值的缩放和平移。

B. 选择性微调:

1)非结构化掩码

这类方法通过在模型参数上添加可学习的二值掩码来确定可以微调的参数。许多工作,如 Diff pruning、FishMask 和 LT-SFT 等,都专注于计算掩码的位置。

2)结构化掩码

非结构化掩码对于掩码的形状没有限制,但这就导致了其影响效率低下。因此,一些工作,如 FAR、S-Bitfit、Xattn Tuning 等均对掩码的形状进行了结构化的限制。两者的区别如下图所示:

非结构化与结构化掩码的区别

C. 重参数化微调:

1)低秩分解

这类方法通过寻找预训练权重矩阵的各种低维度重参数化形式,以代表整个参数空间进行微调。其中最为典型的方法为 LoRA,它通过添加两个额外的上投影和下投影矩阵来构建原始模型参数的低秩表示用于训练。在训练后,额外引入的参数还可以被无缝的合并到预训练权重中,避免引入额外推理开销。DoRA 将权重矩阵解耦为模长和方向,并利用 LoRA 来微调方向矩阵。

2)LoRA 衍生方法

作者将 LoRA 的衍生方法分为了动态选择 LoRA 的秩以及 LoRA 在各方面的提升。

LoRA 动态秩中,典型方法为 DyLoRA,其构造了一系列秩,用于在训练过程中同时训练,从而减少了用于寻找最优秩所耗费的资源。

LoRA 提升中,作者罗列了传统 LoRA 在各个方面的缺陷以及对应的解决方案。

D. 混合微调:

这部分研究如何将不同 PEFT 技术融合进统一模型,并寻找一个最优的设计模式。此外,也介绍了一些采用神经架构搜索(NAS)用以得到最优 PEFT 训练超参数的方案。

3、高效 PEFT 设计

这部分,作者探讨了提升 PEFT 效率的研究,重点关注其训练和推理的延迟和峰值内存开销。作者主要通过三个角度来描述如何提升 PEFT 的效率。分别是:

PEFT 剪枝策略: 即将神经网络剪枝技术和 PEFT 技术结合,以进一步提升效率。代表工作有 AdapterDrop、SparseAdapter 等。

PEFT 量化策略: 即通过降低模型精度来减少模型大小,从而提高计算效率。在与 PEFT 结合时,其主要难点是如何更好的兼顾预训练权重以及新增的 PEFT 模块的量化处理。代表工作有 QLoRA、LoftQ 等。

内存高效的 PEFT 设计: 尽管 PEFT 能够在训练过程中只更新少量参数,但是由于需要进行梯度计算和反向传播,其内存占用仍然较大。为了应对这一挑战,一些方法试图通过绕过预训练权重内部的梯度计算来减少内存开销,比如 Side-Tuning 和 LST 等。同时,另一些方法则尝试避免在 LLM 内部进行反向传播,以解决这一问题,例如 HyperTuning、MeZO 等。

4、PEFT 的跨领域应用

在这一章中,作者探讨了 PEFT 在不同领域的应用,并就如何设计更优的 PEFT 方法以提升特定模型或任务的性能进行了讨论。本节主要围绕着各种大型预训练模型展开,包括 LLM、视觉 Transformer(ViT)、视觉文本模型以及扩散模型,并详细描述了 PEFT 在这些预训练模型的下游任务适配中的作用。

在 LLM 方面,作者介绍了如何利用 PEFT 微调 LLM 以接受视觉指令输入,代表性工作如 LLaMA-Adapter。此外,作者还探讨了 PEFT 在 LLM 持续学习中的应用,并提及了如何通过 PEFT 微调 LLM 来扩展其上下文窗口。

针对 ViT,作者分别描述了如何利用 PEFT 技术使其适配下游图像识别任务,以及如何利用 PEFT 赋予 ViT 视频识别能力。

在视觉文本模型方面,作者针对开放集图像分类任务,介绍了许多应用 PEFT 微调视觉文本模型的工作。

对于扩散模型,作者识别了两个常见场景:如何添加除文本外的额外输入,以及如何实现个性化生成,并分别描述了 PEFT 在这两类任务中的应用。

5、PEFT 的系统设计挑战

在这一章中,作者首先描述了基于云服务的 PEFT 系统所面临的挑战。主要包括以下几点:

集中式 PEFT 查询服务: 在这种模式下,云服务器存储着单个 LLM 模型副本和多个 PEFT 模块。根据不同 PEFT 查询的任务需求,云服务器会选择相应的 PEFT 模块并将其与 LLM 模型集成。

分布式 PEFT 查询服务: 在这种模式下,LLM 模型存储在云服务器上,而 PEFT 权重和数据集存储在用户设备上。用户设备使用 PEFT 方法对 LLM 模型进行微调,然后将微调后的 PEFT 权重和数据集上传到云服务器。

集中式与分布式 PEFT 查询服务模式对比

多 PEFT 训练: 挑战包括如何管理内存梯度和模型权重存储,以及如何设计一个有效的内核来批量训练 PEFT 等。

针对上述系统设计挑战,作者又列举了三个详细的系统设计案例,以更深入的分析这些挑战与其可行的解决策略。

Offsite-Tuning: 主要解决微调 LLM 时出现的数据隐私困境以及大量资源消耗的问题。

PetS: 提供了一个统一的服务框架,针对 PEFT 模块提供统一的管理和调度机制。

PetS 服务框架示意图

PEFT 并行训练框架: 介绍了两种并行 PEFT 训练框架,包括 S-LoRA 和 Punica,以及他们如何提升 PEFT 的训练效率。

6、未来研究方向

作者认为,尽管 PEFT 技术已经在很多下游任务取得了成功,但仍有一些不足需要在未来的工作中加以解决。

建立统一的评测基准: 尽管已存在一些 PEFT 库,但缺乏一个全面的基准来公平比较不同 PEFT 方法的效果和效率。建立一个公认的基准将促进社区内的创新和合作。

增强训练效率: PEFT 在训练过程中,其可训练参数量并不总是与训练过程中的计算和内存节省一致。如高效 PEFT 设计章节所述,未来的研究可以进一步探索优化内存和计算效率的方法。

探索扩展定律: 许多 PEFT 技术都是在较小的 Transformer 模型上实现的,而其有效性不一定适用于如今的各种大参数量模型。未来的研究可以探索如何适应大型模型的 PEFT 方法。

服务更多模型和任务: 随着更多大型模型的出现,如 Sora、Mamba 等,PEFT 技术可以解锁新的应用场景。未来的研究可以关注为特定模型和任务设计 PEFT 方法。

增强数据隐私: 在服务或微调个性化 PEFT 模块时,中心化系统可能面临数据隐私问题。未来的研究可以探索加密协议来保护个人数据和中间训练 / 推理结果。

PEFT 与模型压缩: 模型压缩技术如剪枝和量化对 PEFT 方法的影响尚未得到充分研究。未来的研究可以关注压缩后的模型如何适应 PEFT 方法的性能。

7、LoRA 代码实现示例

为了帮助开发者更好地理解 LoRA 的实现细节,以下是一个简化的 PyTorch 风格代码示例,展示了如何在 Transformer 层中注入 LoRA 模块:

import torch
import torch.nn as nn

class LoRALayer(nn.Module):
    def __init__(self, in_features, out_features, r):
        super().__init__()
        self.r = r
        # 初始化低秩矩阵 A 和 B
        self.lora_A = nn.Linear(in_features, r, bias=False)
        self.lora_B = nn.Linear(r, out_features, bias=False)
        # 默认缩放因子
        self.scaling = self.r

    def forward(self, x):
        return self.lora_B(self.lora_A(x)) * self.scaling

class LinearWithLoRA(nn.Module):
    def __init__(self, linear, r):
        super().__init__()
        self.linear = linear
        self.lora = LoRALayer(
            linear.in_features,
            linear.out_features,
            r
        )

    def forward(self, x):
        base_output = self.linear(x)
        lora_output = self.lora(x)
        return base_output + lora_output

此示例展示了 LoRA 的核心思想:冻结原始权重 linear,仅训练低秩矩阵 lora_A 和 lora_B。在实际应用中,通常会将训练好的 LoRA 权重合并回原模型以加速推理。

  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • OpenClaw AI 全能助手服务器安装与配置指南
  • Win11 资源管理器增强工具 QTTabBar 中文优化版安装指南
  • 为 AI 机器人构建安全私信访问机制:Secure DM Pairing 解析
  • 前端独立搞定产品设计与开发:三大 AI 设计技能实战工作流
  • 零基础转行网络安全:学习路径与职业前景分析
  • Java AI 代码最佳实践优化器实测
  • 基于 Python 的 CCS 自动项目生成与编译工具实现
  • Spring Boot + jQuery 前后端分离图书管理系统实战
  • AI 编程实战:自动化代码生成、低代码与算法优化
  • Scrapy-Redis 分布式爬虫架构:IP 代理池集成与跨地域采集
  • 基于 FastAPI 自动构建 SSE MCP 服务器
  • FPGA 实现双线性插值缩放:代码与实现详解
  • Linux 命名管道(FIFO)通信原理与跨进程实现
  • LeetCode 二叉树转字符串递归解法核心逻辑与代码
  • 数字图像处理与 FPGA 实现:搭建算法与硬件思维的桥梁
  • LLaMa-Factory 开源大模型微调与部署实战
  • 基于 DeepSeek 和 Cursor 构建智能代码审查工具实战
  • 企业级招聘数据采集实战:基于 Bright Data AI Studio 的自动化方案
  • C 语言 WASM 代码混淆实战与前端安全防护
  • DeepMind 创始人:AI 已成为科学发现的分水岭

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online