news 2026/5/20 10:57:00

大模型入门-大模型蒸馏与微调2

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
大模型入门-大模型蒸馏与微调2

Adapter Tuning:轻量级参数高效微调法

论文地址:https://arxiv.org/pdf/1902.00751


什么是 Adapter Tuning?

适配器调整(Adapter Tuning)是一种参数高效微调方法,通过在预训练模型的各层中插入轻量级的适配器模块(Adapter Module),仅训练这些模块来适配下游任务,同时冻结原始模型的大部分参数 。其核心目标是以极低的参数量(通常为全量微调的0.5%~5%)实现模型性能的快速适配,显著降低计算与存储开销 。

适配器调整的设计,主要基于以下几个关键想法 :

参数隔离:预训练模型已经包含了很多通用知识,微调时不用大改,只需要局部调整一下特定的特征表示就行 。

轻量添加:在模型各层之间插入小型神经网络模块(也就是适配器),把它们当成任务相关特征的“插件”,这样就不用直接修改模型原来的权重了 。

逐层适应:适配器一般放在 Transformer 的多头注意力和前馈网络中间,这样能一层一层地捕捉任务的相关信号 。

不影响推理:训练完成后,适配器就成了模型的一部分,直接参与推理,不用再额外调整模型结构 。


Adapter Tuning 的训练过程

标准适配器模块由下投影(Down-Projection)和上投影(Up-Projection)构成,中间引入非线性激活函数 :

A d a p t e r ( x ) = x + W u p ⋅ σ ( W d o w n ⋅ x ) Adapter(x)=x+W_{up}\cdot\sigma(W_{down}\cdot x)Adapter(x)=x+Wupσ(Wdownx)

其中各部分含义如下 :

W d o w n ∈ R d × r W_{down}\in\mathbb{R}^{d\times r}WdownRd×r
负责将高维输入x ∈ R d x\in\mathbb{R}^{d}xRd压缩到低维瓶颈空间(满足r ≪ d r\ll drd,即瓶颈维度远小于原始维度) 。

σ \sigmaσ
非线性激活函数,常用如 ReLU、GELU,用于引入非线性变换 。

W u p ∈ R r × d W_{up}\in\mathbb{R}^{r\times d}WupRr×d
把经过瓶颈层的低维特征,重新映射回原始维度d,并通过残差连接(即公式中x + . . . x+...x+...部分)与原始输入融合 。

在实际的训练流程中,包含以下几个关键步骤:

  • 训练中先对预训练模型的主干权重(如Transformer主体参数)进行完全冻结,使其不参与梯度更新以保留通用知识 。

  • 接着仅针对适配器专属参数{ W d o w n , W u p } \{W_{down},W_{up}\}{Wdown,Wup},以及可能涉及的任务特定组件(如分类头、回归头)开展局部优化 。

  • 最后通过在Transformer每个子层(如多头注意力层、前馈网络层(FFN))之后插入 Adapter,让模型能够逐层适配任务特征,进而构建起层级化的任务适配能力 。


Adapter Tuning 的特点

  • 它参数高效,可训练参数量仅为全量微调的0.1%-5% 。

  • 采用模块化设计,适配器可独立增删,支持多任务共享主干模型并动态切换任务 。

  • 不存在推理延迟问题,作为模型固有结构,推理时无额外计算分支,效率和原始模型一致 。

  • 架构兼容性佳,天然适配 Transformer 架构,还能扩展到视觉、多模态模型(像ViT、CLIP这类) 。

LoRA:低秩适配高效微调技术

论文地址:https://arxiv.org/pdf/2106.09685

什么是 LoRA?

LoRA,全称是 Low-Rank Adaptation,是一种高效的模型微调技术 。它的主要目标是在不影响模型性能的前提下,减少训练参数的数量、降低计算和存储成本 。

传统的微调方法:直接修改模型的全部参数或大部分参数,这样做虽然能适应新任务,但带来高昂的计算成本和显存占用 。

LoRA 的破局思路:不去直接修改原始模型的大型权重矩阵,LoRA 会为每一个被微调的矩阵引入一对低秩矩阵的补丁(A和B),并训练它们,而不修改原始权重 。

怎么进行低秩矩阵分解?

我们可以通过一个具体的数学例子来理解其降参效果:
假设原参数矩阵维度为 N*d(例如:句长 512 * 维度 1024) 。

  • 如果进行全参微调,需要更新的参数量为512 * 1024 = 524,288个参数 。

  • 使用 LoRA 时,可以使用两个小矩阵进行模拟大矩阵(例如矩阵 A 为 5124,矩阵 B 为 41024),此时仅要更新512*4 + 4*1024 = 6,144个参数

降参效果显著:6144 / 524288 ≈ 1.2%,更新参数量降为全参微调的 1.2% 。
核心逻辑:通过将原始矩阵低秩矩阵分解成两个低秩矩阵,冻结原始模型参数,仅训练低秩矩阵 A 与 B,其中秩r rr远小于原来维度 。

实际中如何进行 LoRA?

更新公式

模型参数的更新遵循以下公式:

W u p d a t e d = W o r i g i n a l + B ⋅ A W_{updated}=W_{original}+B\cdot AWupdated=Woriginal+BA

初始化策略

矩阵 A:随机初始化 。

矩阵 B:必须全零初始化。这是为了保证模型能够基于原来性能进一步学习,不至于直接训歪导致模型坍塌 。

微调与合并过程

微调阶段:实际使用时,所有线性层都可以用 LoRA 进行微调 。选定模型中需要插入 LoRA 的对应的层的矩阵,把这些矩阵分别“补充”一对新的小矩阵 A 和 B(维度分别是[ r , d ] [r, d][r,d][ d , r ] [d, r][d,r],其中 r 是秩,d 是原始矩阵的层数) 。然后保持原始模型不变(即冻结参数),只微调这两个小矩阵 A 和 B 。

合并与推理:在小矩阵训练完成后,将B ⋅ A B \cdot ABA相乘的结果直接与原参数矩阵相加,这不改变原来模型的结构与计算效率 。

局部生效:这个操作只合并你插入过 LoRA 的位置,没插过的地方(比如你没选的矩阵或层)保持不变 。所以合并后的模型参数结构基本不变,效果上相当于你用 LoRA 完整调好了那几个关键的螺丝 。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/18 13:40:02

OpenLegion:构建多智能体协作系统的核心原理与实战指南

1. 项目概述:一个开源的AI智能体协作框架最近在折腾AI应用开发,特别是想搞点能自主协作、完成复杂任务的智能体(Agent)系统时,发现了一个挺有意思的开源项目:OpenLegion。这名字听着就挺有气势,…

作者头像 李华
网站建设 2026/5/20 10:57:00

基于大语言模型构建智能思考伙伴:从原理到本地部署实践

1. 项目概述:一个“思考伙伴”的诞生最近在GitHub上看到一个挺有意思的项目,叫“thinking-partner”。光看这个名字,你可能会联想到一个聊天机器人,或者一个简单的问答工具。但当我深入去研究这个由 mortiebiennial49 开源的仓库时…

作者头像 李华
网站建设 2026/5/18 13:30:03

B站视频解析API架构解析:PHP实现的高效视频流获取方案

B站视频解析API架构解析:PHP实现的高效视频流获取方案 【免费下载链接】bilibili-parse bilibili Video API 项目地址: https://gitcode.com/gh_mirrors/bi/bilibili-parse 在视频内容生态蓬勃发展的今天,开发者经常面临一个技术挑战:…

作者头像 李华
网站建设 2026/5/18 13:29:05

终极GTA5防护增强菜单:YimMenu完全使用指南与安全策略

终极GTA5防护增强菜单:YimMenu完全使用指南与安全策略 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/YimM…

作者头像 李华
网站建设 2026/5/18 13:28:07

基于本体论的技能知识图谱:从理论到工程实践

1. 项目概述:当技能遇上本体论最近在整理个人知识库和团队技能矩阵时,我遇到了一个老生常谈的难题:如何用一种结构化的、机器可读的方式,清晰地定义和关联“技能”这个概念?我们通常用Excel表格、标签云或者简单的列表…

作者头像 李华
网站建设 2026/5/18 13:28:02

BG3 Mod Manager终极指南:5步轻松管理你的《博德之门3》模组

BG3 Mod Manager终极指南:5步轻松管理你的《博德之门3》模组 【免费下载链接】BG3ModManager A mod manager for Baldurs Gate 3. This is the only official source! 项目地址: https://gitcode.com/gh_mirrors/bg/BG3ModManager 还在为《博德之门3》模组冲…

作者头像 李华