什么是 PEFT?
PEFT(Parameter-Efficient Fine-Tuning,参数高效微调)是一类模型适配方法:它只训练选定的既有参数或相对较少的新增参数,同时冻结大部分基座权重。参数高效本身不保证显存按固定比例下降,也不保证达到全参数微调质量。
快速了解
| 全称 | 参数高效微调 |
|---|---|
| 创建时间 | 各种技术源自 2019-2023 年,由 Hugging Face 统一 |
| 规范文档 | 官方规范 |
工作原理
按实际更新对象选择方法
先把候选方法归为新增参数、选择性更新、重参数化或混合方法,再确认目标架构与训练 Backend 真正支持它。Bottleneck Module 增加串行层,Soft Prompt 占用可学习上下文位置,选择性方法更新既有状态,LoRA 则分解权重更新。独立的 [PEFT 综述](https://arxiv.org/html/2303.15647)发现方法、实现与超参数存在显著差异;可训练参数占比小并不能单独决定最佳方法。
测量完整资源包络
除了可训练参数与总参数,还要在目标序列和 Batch 分布上测量冻结基座权重、Activation、Gradient、Optimizer State、临时 Kernel、通信 Buffer、Host Memory、碎片、Wall Time 与能耗。Hugging Face 的 [PEFT 文档](https://huggingface.co/docs/peft/main/en/index)覆盖多种模型的适配方法,但实际支持与效率仍取决于所选 Library、Backend 与模型。所有候选必须使用同一数据和评测契约比较。
安全发布依赖基座的制品
PEFT 制品通常只包含方法专属状态与配置,必须绑定不可变基座权重、Tokenizer 或 Processor、Template、框架 Lockfile、数据 Revision 与评测报告。官方 [PEFT Checkpoint 格式](https://huggingface.co/docs/peft/main/en/developer_guides/checkpoint)要求加载原始基座,并说明不同方法与配置的合并支持并不相同。应验证实际的「基座 + Adapter」或合并后服务形态,只允许加载可信制品,并保留兼容回滚目标。
主要特点
- 覆盖新增参数、选择性更新、重参数化和混合适配方法,而不是一种固定架构
- 冻结大部分基座参数,只训练方法指定的参数子集或新增状态
- 减少可训练状态与 Checkpoint 大小,但峰值显存仍取决于权重、激活、序列形状、精度、优化器和运行时
- 产生的新行为必须按任务切片、回归切片、安全策略和重复 Seed 进行评测
- 通常生成依赖基座的 Checkpoint,其兼容身份包括模型、Tokenizer、模板、框架与方法配置
- 服务行为因方法而异:部分更新可合并,模块和软提示则可能需要运行时组合
常见用途
- 在固定工作负载、设备包络和评测协议下比较不同高效适配方法
- 在不可变共享基座上维护独立版本的领域或任务变体
- 无需为每个候选保存完整模型副本即可开展受控适配实验
- 在框架支持相应方法时适配语言、视觉、语音或扩散模型
- 通过显式兼容检查、授权、可观测性和回滚机制服务已批准模型变体
示例
Loading code...常见问题
PEFT 和全参数微调有什么区别?
全参数微调会更新全部或大部分基座权重;PEFT 只训练选定的既有参数或新增状态,并冻结大部分基座。它通常能减少梯度、优化器和 Checkpoint 状态,但质量、耗时与峰值显存差异仍取决于模型、方法、精度、序列形状、优化器、运行时和设备拓扑。
如何选择 PEFT 方法?
先定义工作负载契约:目标行为、基座架构、可用训练与服务后端、设备包络、延迟、存储和发布约束。随后用相同数据切分与评测协议比较可行方法。LoRA 生态支持较广;瓶颈模块增加串行计算;软提示改变注意力输入。不存在对所有任务都最好的方法。
可训练参数更少,峰值显存会按相同比例下降吗?
不会。可训练参数只决定训练显存的一部分。基座权重、量化元数据、激活、梯度、优化器状态、临时算子、通信缓冲区、运行时分配、碎片与安全余量都会占用内存。必须在目标序列长度、Batch 形状、精度、梯度检查点策略和硬件上测量设备与主机峰值。
PEFT 一定能达到全参数微调质量吗?
不能。论文结果受模型、任务、数据、方法配置和评测协议约束。PEFT 候选可能优于、接近或弱于全参数微调,也可能改善一个切片却损害另一个切片。应使用重复 Seed、留出任务切片、通用能力回归、安全检查和服务制品测试进行比较。
PEFT Checkpoint 能独立运行吗?
通常不能。PEFT Checkpoint 一般只保存方法专用参数与配置,仍需兼容基座。应把基座 Revision 与哈希、Tokenizer、对话模板、框架版本、方法配置、Adapter Revision、评测报告和服务组合方式视为同一身份。合并能力取决于方法与配置,并会产生需要重新验证的新制品。