0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

GLoRA—高效微调模型参数

深度学习自然语言处理 来源:深度学习自然语言处理 2023-06-27 16:47 次阅读

近年来,大规模深度神经网络的显著成就彻底改变了人工智能领域,在各种任务和领域展示了前所未有的性能。这些高度复杂的模型,通常具有数百万甚至数十亿个参数,在计算机视觉、自然语言理解和语音识别等领域表现出了卓越的能力。

本文提出了广义LoRA(GLoRA),一种通用参数高效微调任务的先进方法。增强低秩适应(LoRA),GLoRA采用广义提示模块优化预训练模型权重并调整中间层激活函数,为不同的任务和数据集提供更大的灵活性和能力。

GLoRA源于统一的数学公式,具有较强的transfer learningfew-shot learningdomain generalization能力,其通过权值和激活的附加维度调整到新任务。

实验表明,GLoRA在自然、专业和结构化基准测试中优于所有以前的方法,在各种数据集上以更少的参数和计算实现了更高的准确性。此外,结构重新参数化设计确保GLoRA不需要额外的推理成本,使其成为资源有限应用程序的实用解决方案。

GLoRA

简介

本文首先对现有最先进的PEFT方法进行数学概述,分析了它们的优缺点。然后,引入了一个整合所有现有SOTA PEFT方法的统一公式,并根据统一公式的观点详细阐述了所提出的广义LoRA。然后,提出了一种结构重新参数化设计,以在不增加额外成本的情况下显示推理效率。为了实现广义LoRA的目标,还引入了最优分层配置的进化搜索,进一步对所提出的方法的更高性能进行了理论分析和讨论。

已有方法及其局限性

Visual Prompt Tuning(VPT) :VPT将少量特定于任务的可学习参数引入输入空间,同时在下游微调期间冻结整个预先训练的Transformer主干。VPT提出了两种策略:VPT-Shallow和VPT-Deep。

VPT-Shallow策略如下:其中P是可训练的提示。x是[CLS]token,E是图像paches。

ce81955e-14c1-11ee-962d-dac502259ad0.png

VPT-Deep策略如下:VTP-Deep在大多数视觉任务上都优于完全微调,在低数据状态下也有更好的准确性。

cebaf52e-14c1-11ee-962d-dac502259ad0.png

AdaptFormer:AdaptFormer在MLP块上引入了两个线性层的并行可学习分支和ReLU,并在暂停其他部分的同时仅学习该路径。

cec91d34-14c1-11ee-962d-dac502259ad0.png

LoRa:LoRA方法冻结预训练模型权重并将可训练的低秩分解矩阵注入每一层。只从预训练的权重中学习残差。在GPT-2模型家族上与prompt learning、adapters等相比,实现了SOTA性能。

cef4efae-14c1-11ee-962d-dac502259ad0.png

Scaling & Shifting Features (SSF) :SSF模块在训练过程中对所有的MLP、MHSA、Layernorm模块进行特征缩放和移位,并在推理过程中进行重新参数化,其是一个线性结构。

cf091b64-14c1-11ee-962d-dac502259ad0.png

FacT:FacT提出使用张量分解方法来存储额外的权重,将模型的权重张量化为单个3D张量,然后将其相加分解为轻量级因子。在微调中,只有因子会被更新和存储。FacT有两种方式:

cf19ef8e-14c1-11ee-962d-dac502259ad0.png

其中LoRA中的ΔW被分解为U、V和Σ。

cf2d84e0-14c1-11ee-962d-dac502259ad0.png

其中LoRA中的ΔW被分解为U、C、P和V。

RepAdapter:RepAdapter将轻量级网络插入到预先训练的模型中,并且在训练后,额外的参数将被重新参数化为附近的投影权重。将顺序适配器添加到MHA和MLP中,适配器是线性的,因此可以重新参数化,并且有两层:下采样密集FC层以下采样输入;对划分为组的下采样特征进行上采样,并且每个组都具有上采样层。上采样层组可以合并为单个稀疏上采样层,并且可以直接重新参数化为原始MLP或MHSA。

cf43f432-14c1-11ee-962d-dac502259ad0.png

局限性:许多现有的PETL方法,例如(VPT, Adapter)会增加推理时间,因其提出的结构无法重新参数化。直接提示调优也很难设计,带来了计算负担,并且需要超参数调整,即如何以及在哪里放置提示。LoRA在推理时可以重新参数化,但它不能扩展到更大的矩阵,并且适应能力受到权重空间的限制。

SSF/RepAdaptor无法学习到权重的变化,即权重空间中的ΔW,而LoRA/FacT不能有效地学习特征变化的缩放和移动,即特征空间中的ΔH。在从大型模型执行迁移学习时,特征空间和权重空间都需要灵活性。因此本文在这项工作中提出的的改进想法为:ΔW调整、ΔH调整以及W和H缩放和移位学习。

One-for-All unified formulation

对于模型微调,本文提出了一个统一的公式,包含所有可调维度,包括但不限于权重空间和特征空间。此外,们采用重新参数化策略在推理阶段将辅助参数合并到相邻投影权重中。从广义上讲,本文提出的方法是所有先前解决方案的超集,即一次性机制。通过将不同的支持张量设置为零,GLoRA可以简化为这些先前方法中的任何一种。GLoRA体系结构可以简洁地表述为统一的数学方程。

cf57c002-14c1-11ee-962d-dac502259ad0.png

其中 A、B、C、D、E 是GLoRA中下游任务的可训练张量,W0和b0在整个微调过程中被冻结。A用于缩放权重,B的作用是缩放输入并移动权重,C服务于VPT-Deep、D和E表示逐层提示,分别用于缩放和移动偏差。具体流程如下图所示:

cf65b9d2-14c1-11ee-962d-dac502259ad0.png

Prompt Modules-提示模块

prompt modules描述了为 A、B、C、D、E 设计分层适配器或提示模块的方法。从某种意义上说,这些可以采用scalars, vectors,low-rank decompositions, or none形式。基于这些可训练支持张量的作用,可分为以下几类:

cf7f74f8-14c1-11ee-962d-dac502259ad0.png

这种权重纠缠策略有助于在不增加参数数量的情况下增加搜索空间,并且由于不同子网中的权重共享,也显示出更快的收敛

结构重新参数化设计与推理效率分析

实现重新参数化的基本方面是消除相邻变换中的非线性,从而允许将补充参数吸收到前面的参数中。去除这种非线性层不会对网络的性能产生不利影响。GLoRA重新参数化策略如下:

d0033e6e-14c1-11ee-962d-dac502259ad0.png

在GLoRA中最终统一训练的权重和偏差。根据等式

cf57c002-14c1-11ee-962d-dac502259ad0.png

对它们进行重新参数化:

d025d294-14c1-11ee-962d-dac502259ad0.png

因此,重新参数化策略将可学习参数集成到相邻投影权重中,其可能是有利的,因为在推理阶段不会产生额外的计算成本。

最优分层配置的进化搜索

对统一适配器的设计是在每层的基础上实现的,其允许跨不同层的异构性。为了确定每一层的最佳配置,采用了进化搜索方法,它提供了效率和有效性的平衡。尽管这种搜索过程会导致训练时间的增加,但值得注意的是,现有工作需要进行广泛的超参数搜索。此外,本文使用权重共享策略,其中为每个支持张量定义单个矩阵,并且根据分量,对子矩阵进行索引并应用于当前训练迭代,这允许更好的参数效率,因为最大的权重共享是在子网中完成的。

具有更高容量的GLoRA

模型能力是指模型近似各种函数的能力。调节学习算法的能力的方法包括选择一个适当的假设空间,本质上是一组函数,学习算法被允许考虑作为潜在的解决方案。本文使用Vapnik-Chervonenkis维数(VC维数)进行统计算法的容量和复杂性的度量。其定义如下所示

d03a91c0-14c1-11ee-962d-dac502259ad0.png

实验

本文在VTAB-1K基准上对不同参数计数的GLoRA进行了全面评估。VTAB-1K包括19个图像分类任务。任务分为三个领域:自然图像;由遥感和医学数据集组成的专门任务;以及专注于场景结构理解的结构化任务,如深度预测和方向预测等。为了测试少镜头微调性能,在五个细粒度视觉识别少镜头数据集上评估了GLoRA:Food101、OxfordFlowers102、StandfordCars、OxfordPets和FGVCAircraft。根据之前的工作,本文评估了shot为1、2、4、8和16下的结果。最后,为了展示GLoRA的领域泛化能力,在ImageNet上在shot为16设置下训练GLoRA,并在ImageNetV2、ImageNet Sketch、ImageNet-a和ImageNet-R上进行测试。

VTAB-1K Dataset

通过训练三种不同的GLoRA超网配置,以改变可训练参数的数量。它们之间的区别仅在于搜索空间中的LoRA维度,该维度在最大模型中为8和4,在中间模型中为4和2,在最小模型中为2。本文方法中增加的参数灵活性允许在最终模型中进行用户定义的可训练参数计数。VTAB-1k基准测试的结果如下表所示。将最先进的参数有效迁移学习提高了2.9%,即使是最小的模型也大大优于所有现有方法。

值得注意的是,在与至少一个数据集上失败的所有现有工作相比,GLoRA在数据集上表现有竞争力,证明了GLoRA的高泛化能力。GLoRA在VTAB-1k基准测试中的19个数据集中的14个数据集中显现出了最优的性能,同时在其余数据集上也表现得很有竞争力。

d06d35f8-14c1-11ee-962d-dac502259ad0.png

Few-shot Learning

为了在数据可用性有限的情况下扩展GLoRA的评估,将GLoRA在细粒度视觉识别数据集上的性能作为few-shot Learning,并将其与LoRA、Adapter、VPT和NOAH进行比较。1、2、4、8和16的shot结果如下图所示。GLoRA在大多数few-shot learning数据集中表现出卓越的功效,在参数计数相似的情况下,其性能始终大大优于现有方法。

有趣的是,在Flowers102数据集上,由于已经非常出色的整体性能,所有方法都产生了相似的准确度水平。在Food101数据集上,GLoRA的平均准确度与NOAH相当。可以观察到的第一个子假设来看,在较高的shot场景下,平均性能提升变得更加明显,然而,即使在较低的shot设置下,效果仍然显著。

d0986e9e-14c1-11ee-962d-dac502259ad0.png

Domain Generalization

域外泛化能力对于大规模神经网络具有重要的价值。通过PETL方法微调的模型应该表现出增强的域泛化能力,从而使它们更适用于现实场景。下表展示了GLoRA的域外泛化能力,其中单个ImageNet-1K微调的GLoRA模型经过域外数据集的测试。与以前的研究对齐,与现有方法相比,域外性能显著提高。与LoRA相比,GLoRA提高了100% (ImageNet-A)和50%(ImageNet-Sketch)的域外性能。

d0df615a-14c1-11ee-962d-dac502259ad0.png

总结

本文提出了GLoRA,这是一种广义参数高效的微调方法,它成功地证明了增强大规模预训练模型的微调和迁移学习能力的有效性。通过采用广义低秩自适应和重新参数化框架,GLoRA减少了微调所需的参数数量和计算量,使其成为实际应用的资源高效和实用的方法。在各种任务和数据集上进行的实验证实了GLoRA优于现有的PEFT技术,展示了其可扩展性和适应性。这项工作不仅有助于改进大规模预训练模型的微调过程,而且还为未来的工作开辟了新的途径,包括进一步探索广义低秩适应技术、混合方法的开发以及搜索和优化算法的改进。这些领域的研究可能会继续扩大迁移学习在更广泛的应用中的可访问性和效率。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4732

    浏览量

    100393
  • 适配器
    +关注

    关注

    8

    文章

    1910

    浏览量

    67832
  • 人工智能
    +关注

    关注

    1789

    文章

    46576

    浏览量

    236896
  • LoRa模块
    +关注

    关注

    5

    文章

    134

    浏览量

    13856
收藏 人收藏

    评论

    相关推荐

    微调前给预训练模型参数增加噪音提高效果的方法

    为了减轻上述问题,提出了NoisyTune方法,即,在finetune前加入给预训练模型参数增加少量噪音,给原始模型增加一些扰动,从而提高预训练语言模型在下游任务的效果,如下图所示,
    的头像 发表于 06-07 09:57 2423次阅读

    有哪些省内存的大语言模型训练/微调/推理方法?

    首先,我们需要了解如何根据参数量估计模型大致所需的 RAM,这在实践中有很重要的参考意义。我们需要通过估算设置 batch_size,设置模型精度,选择微调方法和
    的头像 发表于 04-10 11:41 1351次阅读

    使用LoRA和Hugging Face高效训练大语言模型

    在本文中,我们将展示如何使用 大语言模型低秩适配 (Low-Rank Adaptation of Large Language Models,LoRA) 技术在单 GPU 上微调 110 亿参数的 FLAN-T5 XXL
    的头像 发表于 04-14 17:37 1946次阅读

    使用Alpaca-Lora进行参数高效模型微调

    在推理时,将左右两部分的结果加到一起即可,h=Wx+BAx=(W+BA)x,所以,只要将训练完成的矩阵乘积BA跟原本的权重矩阵W加到一起作为新权重参数替换原始预训练语言模型的W即可,不会增加额外的计算资源。
    的头像 发表于 05-17 14:24 2057次阅读
    使用Alpaca-Lora进行<b class='flag-5'>参数</b><b class='flag-5'>高效</b><b class='flag-5'>模型</b><b class='flag-5'>微调</b>

    调教LLaMA类模型没那么难,LoRA将模型微调缩减到几小时

    工智能领域,以高效和有效的方式使用大型语言模型正变得越来越重要。 LoRA(Low-Rank Adaption,低秩自适应) 作为微调 LLMs 一种比较出圈的技术,其额外引入了可训练的低秩分解矩阵,同时固定住预训练权重,从而
    的头像 发表于 05-28 10:58 2543次阅读
    调教LLaMA类<b class='flag-5'>模型</b>没那么难,LoRA将<b class='flag-5'>模型</b><b class='flag-5'>微调</b>缩减到几小时

    iPhone都能微调模型了嘛

    一起提出的新方法 QLoRA 把微调模型的 显存需求从>780GB降低到 。 开源社区直接开始狂欢,相关论文成为24小时内关注度最高的AI论文。   以Meta的美洲驼LLaMA为基础,得到原驼
    的头像 发表于 06-02 15:26 674次阅读
    iPhone都能<b class='flag-5'>微调</b>大<b class='flag-5'>模型</b>了嘛

    模型参数高效微调技术原理综述

    神经网络包含很多全连接层,其借助于矩阵乘法得以实现,然而,很多全连接层的权重矩阵都是满秩的。
    的头像 发表于 06-13 14:59 2313次阅读
    大<b class='flag-5'>模型</b><b class='flag-5'>参数</b><b class='flag-5'>高效</b><b class='flag-5'>微调</b>技术原理综述

    GLoRA:一种广义参数高效微调方法

    了卓越的能力。   本文提出了 广义LoRA (GLoRA),一种通用参数高效微调任务的先进方法。增强低秩适应(LoRA), GLoRA
    的头像 发表于 06-27 16:53 704次阅读
    <b class='flag-5'>GLoRA</b>:一种广义<b class='flag-5'>参数</b><b class='flag-5'>高效</b>的<b class='flag-5'>微调</b>方法

    OpenAI开放大模型微调功能 GPT-3.5可以打造专属ChatGPT

    OpenAI开放大模型微调功能 GPT-3.5可以打造专属ChatGPT OpenAI开放大模型微调功能,这意味着GPT-3.5 Turbo支持自定义
    的头像 发表于 08-23 19:34 1157次阅读

    OpenAI开放大模型微调功能!

    除了提高性能之外,还能缩短提示时间,确保类似性能。另外,微调目前仅支持处理4000 tokens,这也是此前微调型号的两倍。16k tokens微调将于今年秋季推出。
    的头像 发表于 08-24 16:39 596次阅读
    OpenAI开放大<b class='flag-5'>模型</b><b class='flag-5'>微调</b>功能!

    北大&amp;华为提出:多模态基础大模型高效微调

    深度学习的大模型时代已经来临,越来越多的大规模预训练模型在文本、视觉和多模态领域展示出杰出的生成和推理能力。然而大模型巨大的参数量有两个明显缺点
    的头像 发表于 11-08 16:20 770次阅读
    北大&amp;华为提出:多模态基础大<b class='flag-5'>模型</b>的<b class='flag-5'>高效</b><b class='flag-5'>微调</b>

    多任务微调框架MFTCoder详细技术解读

    MFTCoder具备高效训练特征,包括提供高效的数据Tokenization模式和支持PEFT微调,能有效提升微调训练速度并降低对资源的需求。
    的头像 发表于 11-17 17:17 937次阅读
    多任务<b class='flag-5'>微调</b>框架MFTCoder详细技术解读

    一种新颖的大型语言模型知识更新微调范式

    我们使用LLAMA2-7B作为实验的基础模型。我们主要评估将旧知识更新为新知识的能力,因此模型将首先在旧知识上进行为期3个时期的微调。表1中F-Learning中设置的超参数λ分别取值
    发表于 12-01 15:10 412次阅读
    一种新颖的大型语言<b class='flag-5'>模型</b>知识更新<b class='flag-5'>微调</b>范式

    四种微调模型的方法介绍

    微调(Full Fine-tuning):全微调是指对整个预训练模型进行微调,包括所有的模型参数
    发表于 01-03 10:57 2.3w次阅读
    四种<b class='flag-5'>微调</b>大<b class='flag-5'>模型</b>的方法介绍

    模型为什么要微调?大模型微调的原理

    难以达到最佳性能。为了提升模型在特定任务上的表现,微调(Fine-tuning)成为了一个关键步骤。本文将详细探讨大模型为什么要进行微调以及微调
    的头像 发表于 07-10 10:43 3041次阅读