前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >恐怖如斯!GSU | 提出VB-LoRA,仅需LoRA参数的0.4%,就超越了LoRA微调效果

恐怖如斯!GSU | 提出VB-LoRA,仅需LoRA参数的0.4%,就超越了LoRA微调效果

作者头像
ShuYini
发布2024-05-30 16:02:04
1600
发布2024-05-30 16:02:04
举报

引言

随着大模型应用的不断推广,面对不同应用场景模型的定制化需求也不断增涨。但参数高效微调 (PEFT) 方法,比如LoRA及其变体会产生大量的参数存储和传输成本。为此,本文提出了一种超级参数高效微调方法:VB-LoRA,该方法采用“分而共享(divide-and-share)”范式,通过向量库进行全局参数共享,在保证模型性能的同时,实现了极高的参数效率。在对 Llama2-13B 模型进行微调时,VB-LoRA 仅使用了 LoRA 存储参数的 0.4%就超过了LoRA微调效果,可见实力强悍。

背景介绍

参数高效微调 (PEFT)提高了大模型的适配性,其主要是利用基础模型中大量先验知识,通过更新少量的训练参数来使得LLMs快速应用于下游任务。相比于Prefix-Tuning,Prompt-Tuning以及上下文学习,通过特定应用场景的高质量数据集来对大模型进行高效微调,可以满足不断变化的应用场景和个性化需求。但当设计多个实例化应用配置时,参数空间的数据对存储、传输和计算提出了新的挑战,尤其是面对低资源硬件和消费级网络时。

为了解决该问题,研究人员们提出了各种大模型高效微调(PEFT)方法,希望在模型训练任务中调整少量的可训练参数,在提高特定任务性能的同时保留基础模型的原有能力。关于这些PEFT方法,其核心是利用型参数之间的依赖关系来减少冗余。例如:低秩自适应 (LoRA)方法就是通过近似自注意力模块的累积梯度更新来实现矩阵参数的内部耦合;Tied-LoRA方法通过跨所有层的权重绑定来实现矩阵参数的跨层共享。

以上两种方法,都使得模型可训练参数明显减少。然而,随着模型规模的增加和对各种服务的定制化模型需求的上升,存储和传输每个组合定制化的成本也在增加,为此研究具有更少可训练参数的PEFT方法势在必行。

为此,本文作者提出了VB-LoRA,该方法基于“分而共享(divide-and-share)”范式,它通过向量库全局共享参数,打破了低秩分解的局限。

VB-LoRA

「LoRA局限性」 LoRA通过在模型的权重矩阵上添加低秩矩阵来调整模型参数,而不是更新整个权重矩阵。尽管LoRA减少了训练参数的数量,但它通常只针对模型中每个权重矩阵单独进行低秩分解,没有实现跨矩阵、跨模块或跨层的参数共享。

为了进一步提高参数效率,本文提出VB-LoRA方法,旨在减少可训练参数量,同时保持模型性能如上图所示。该方法基础是「“分而共享(divide-and-share)”」范式,该范式主要包括以下几个步骤:

「分解(Divide)」 目的是将LoRA中的低秩矩阵分解成更小的、可管理的组件。这是通过Rank-1分解的形式来实现的,即将一个大的矩阵分解为多个小的Rank-1矩阵的和。每个Rank-1矩阵由两个向量的外积组成,这两个向量分别对应于原始矩阵的行和列。通过这种方式,原始的大矩阵被分解为多个更小的向量,为下一步的共享做准备。

「共享(Share)」 该步骤是“分而共享(divide-and-share)”范式的核心,作者通过一个共享的向量库(Vector Bank),让模型中的不同部分共享相同的参数,从而减少整体参数数量。其中向量库中的向量被设计为可以跨多个子矩阵、模块和层复用。

「向量选择」 对于每个子向量,模型通过一个可学习的logits向量来选择向量库中最重要的k个向量。这个选择过程是通过一个softmax层来实现的,它将logits转换为概率分布,然后选择概率最高的k个向量,并将它们组合成子向量,这些子向量随后被用于构建模型的参数。

实验结果

作者使用了GLUE基准测试来评估VB-LoRA在不同自然语言理解任务上的性能。可以看到VB-LoRA在RoBERTa-Large模型上与其他PEFT方法相比,存储参数数量显著减少,但分数更高。

在自然语言生成任务中,本文使用了GPT-2 Medium和Large模型,并在E2E数据集上进行了微调。VB-LoRA在保持与VeRA相当或更好性能的同时,所需的存储参数数量更少。

对Llama2模型(7B和13B参数版本)进行微调,VB-LoRA在使用极少的存储参数(Llama2 7B为0.8M,Llama2 13B为1.1M)的情况下,实现了比LoRA更高的分数。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AINLPer 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 背景介绍
  • VB-LoRA
  • 实验结果
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档