以下是关于 PEFT(Parameter-Efficient Fine-tuning) 的简介,涵盖其定义、核心思想、常见方法及应用场景:
1. 什么是PEFT?
PEFT(参数高效微调)是机器学习领域的一种技术,专为预训练大模型(如BERT、GPT、LLaMA等) 的轻量级微调而设计。其核心目标是:
用极少的额外参数调整(<1%模型总参数量),使大模型适应下游任务,同时避免全参数微调的高计算成本。
2. 为什么需要PEFT?
传统微调(Full Fine-tuning)的痛点:
- 资源消耗大:调整数十亿参数需大量GPU内存和算力。
- 灾难性遗忘:全参数更新可能破坏预训练模型学到的通用知识。
- 存储成本高:每个任务需保存完整模型副本,占用空间巨大。
PEFT通过冻结大部分参数、仅调整少量参数,显著降低了上述问题的影响。
3. PEFT的常见方法
(1) Adapter Tuning
- 原理:在Transformer层中插入小型神经网络模块(Adapter),仅训练这些模块。
- 结构:Adapter通常由两个全连接层和残差连接组成,参数量占比极低。
- 示例:BERT + Adapter,参数量增加仅3%-4%。
(2) LoRA(Low-Rank Adaptation)
- 原理:通过低秩矩阵分解,模拟全参数更新的效果。
- 操作:在权重矩阵旁添加低秩矩阵(如ΔW = A×B,A和B为可训练矩阵),仅更新A和B。
- 优势:几乎不增加推理延迟,兼容模型合并。
(3) Prefix Tuning
- 原理:在输入序列前添加可学习的“前缀向量”(Prefix),引导模型生成任务相关输出。
- 特点:适用于生成任务(如文本生成),无需修改模型结构。
(4) Prompt Tuning
- 原理:通过优化“软提示词”(Soft Prompts)替代人工设计提示词,激活模型内部知识。
- 示例:在输入文本前添加可学习的向量,引导模型完成分类或生成任务。
(5) BitFit
- 原理:仅微调模型中的偏置项(Bias Terms),冻结其他参数。
- 参数量:通常占模型总参数量的0.1%-1%。
4. PEFT的优势
- 资源高效:GPU内存需求降低60%-90%,适合单卡训练。
- 保留通用性:避免灾难性遗忘,模型保持原有泛化能力。
- 快速部署:多个任务共享同一基座模型,仅需存储少量额外参数。
5. 应用场景
- 大模型轻量化适配:如微调LLaMA 3、ChatGLM等开源大模型。
- 多任务学习:同一基座模型快速切换不同下游任务。
- 边缘设备部署:在手机、IoT设备上运行轻量级微调模型。
总结
PEFT通过参数隔离和高效更新,解决了大模型微调中的资源瓶颈问题,已成为NLP、多模态模型落地的关键技术。随着大模型规模的增长,PEFT的研究(如QLoRA、DoRA等)仍在持续演进。