task04 参数高效微调

微调量化第一章,资料地址:https://datawhalechina.github.io/base-llm/#/chapter11/01_PEFT

前情提要

BERT模型发布以来,预训练-微调 范式在NLP领域取得了重大成功

但是之前使用的全量微调会因为模型参数规模的跃升变得不合适,挑战包括训练成本(巨大的计算资源)、存储压力(保存参数用的存储成本高)、灾难性遗忘(在对特定任务微调时,模型可能会忘记在预训练阶段学到的海量通用知识)、训练不稳定性(大模型网络结构的宽度和深度都很大,其训练过程对学习率等超参极为敏感,很容易出现梯度消失/爆炸等问题,导致训练失败)

上述困境使得研究者们迫切需要一种新范式,即能有效利用大模型的强大能力,又能避免全量微调带来的高昂成本

2020年GPT-3论文提出In-Context Learning,这是一种无需训练的范式,在不调整任何模型参数的情况下,仅通过在输入中提供一些任务示例,就能引导大模型完成特定任务。这一发现催生了"提示工程"的繁荣。这种人工的、离散的文本指令我们称为硬提示。硬提示也存在三个明显的缺陷,一是找到最优提示词需要大量的试错和经验,过程繁琐且不稳定;二是离散的文本在提示表达能力上存在上限,很难充分激发和精确控制大模型的潜力;提示在模型间可能不具备迁移性

于是催生出了参数高效微调,该思想借鉴了计算机视觉领域的迁移学习。在CV任务中我们通常会冻结预训练模型如ResNet负责提取通用特征的卷积层,仅微调后面的全连接层来适应新的分类任务。PEFT将这一思想应用于Transformer架构,并发展出多条技术路线

PEFT技术

参数高效微调(Parameter-Efficient Fine-Tuning,PEFT)

即冻结预训练模型99%以上的参数,只调整其中的极小一部分参数,或者额外增加一些参数,从而使模型以极低的成本适应下游任务。这样既能有效利用大模型能力,又不必承受全量微调高昂成本

PEFT有多条技术路线

Adapter Tuning

Google在2019年为BERT模型设计,在Transformer的每个块中插入小型的"适配器"模块(Adapter)

如下图所示,Adapter被插入到每个子层(注意力层和前馈网络)内部,并与主干网络形成残差连接,在训练时只有Adapter模块的参数会被更新

![[Pasted image 20260124171555.png]]

右侧是Adapter模块自身结构:

降维的全连接层(Feedforward down-project):将高维特征映射到低维空间

非线性激活函数(Nonlinearity)

升维的全连接层(Feedfroward up-project):将特征映射回原始维度

贯穿该模块的残差连接:将模块的输出与原始输入相加,保证信息流的稳定

通过这种结构,Adapter模块可以用极少的参数量来模拟特定任务的知识,而且性能上接近全量微调

但是由于各层插入了额外的模块,训练时仍会带来一定的激活内存与算力开销

Prefix Tuning

核心机制:

  • 前缀激活值(Prefix Activations):图中PREFIX部分对应的激活值hih_ihi是从一个专门的可训练矩阵PθP_\thetaPθ中提取的,这部分参数就是微调的对象
  • 模型计算的激活值:而原始输入x和y对应的激活值,是由冻结的Transformer模型正常计算得出的
    下图的上下两部分分别是在自回归语言模型和编码器-解码器模型中的应用
    ![[Pasted image 20260124192753.png]]
    通过这种方式,模型在不改变原有参数的情况下,学会利用这些可控的前缀引导后续内容的生成,从而适应新任务。Prefix Tuning不仅在输入层添加前缀,还在Transformer的每一层都添加了对应的可学习Prefix,并通过一个小型的前馈网络(MLP)来生成这些参数
相关推荐
ghxufMuht1 天前
基于FPGA的QAM调制解调器设计与实现:优化算法与性能分析
nlp
玄同7652 天前
Python「焚诀」:吞噬所有语法糖的终极修炼手册
开发语言·数据库·人工智能·python·postgresql·自然语言处理·nlp
肥猪猪爸3 天前
NLP中BIO标签浅析
人工智能·深度学习·神经网络·机器学习·自然语言处理·nlp
名为沙丁鱼的猫7295 天前
【万文超详A2A 协议】从个体赋能到群体智能,智能体间的“TCP/IP协议“
人工智能·python·深度学习·机器学习·自然语言处理·nlp
闻道且行之6 天前
基于 LLM 的 MCP 架构实战:服务端搭建、工具开发与 Dify 集成全流程
python·架构·nlp·dify·mcp
闻道且行之6 天前
Dify开源平台部署与实战指南:企业级大模型工作流应用搭建
开源·nlp·工作流·dify
名为沙丁鱼的猫7296 天前
【并行化】提升智能体效率的关键设计模式,同时执行独立任务缩短响应时间
人工智能·深度学习·机器学习·自然语言处理·nlp
Bruce-XIAO7 天前
数据标注方法
人工智能·nlp
鹿角片ljp8 天前
Engram 论文精读:用条件记忆模块重塑稀疏大模型
python·自然语言处理·nlp