查看原文
其他

Meta提出全新参数高效微调方案,仅需一个RNN,Transformer模型GPU使用量减少84%!

seven_ 将门创投
2024-08-23
近来,随着ChatGPT和GPT-4模型的不断发展,国内外互联网大厂纷纷推出了自家的大语言模型,例如谷歌的PaLM系列,MetaAI的LLaMA系列,还有国内公司和高校推出的一些大模型,例如百度的文心一言,清华的ChatGLM等模型。几乎隔几天就会有一个全新的大模型发布,但是对于研究者和开发者来讲,可能大家更关心的是在基础大模型训练、微调、推理和部署等实际落地方面上的创新。这就不得不谈到大模型底层的语言建模架构了,现如今,绝大多数大模型的基础架构,仍然使用6年前发表在NeurIPS上的Transformer。随着模型规模和任务数量的增加,对整个Transformer模型进行微调也变得越来越昂贵。因此很多参数高效的迁移学习方法(Parameter Efficient Transfer Learning,PETL)被提出。本文来自Meta AI,提出了一种基于传统RNN架构的参数高效适应方法REcurrent ADaption(READ),具体来说,READ只需要在基础Transformer旁插入一个小型RNN网络,就可以实现高效的参数微调,模型无需再通过主干Transformer进行反向传播。作者通过一系列实验表明,READ在保持较高质量模型微调效果的同时,可以节省56%的训练显存消耗和84%的GPU使用量。
论文链接:
https://arxiv.org/abs/2305.15348

一、引言 

自2018年以来,大语言模型参数规模的增长速度相比GPU显存增长的速度快了近两个数量级,这使得入局大模型的门槛越来越高,配置一个足以放下大模型的“炼丹炉”的成本非常昂贵。只有少数资金的公司和机构才有能力对大模型进行训练和微调。为了降低这一门槛,PETL方法已经成为目前首选的方案,例如Adapter方法[1]通过在Transformer中插入小模块来减少模型需要更新的参数量。Soft Prompts方法[2]在模型输入embeddings后拼接小规模参数来达到类似的效果。还有受到广泛关注的Lora方法[3],通过低秩近似来最小化模型参数量,以及仅微调网络前几层中的偏执项的BitFit方法[4],下表展示了本文提出的READ方法与上述几种方法的微调代价对比结果。

从上表中看出,通过PETL方法的优化,模型的微调的成本相比完全微调已经大大降低。同时本文READ相比其他方法有着明显的优势,这得益于READ内部增加的小型RNN结构,在Transformer架构横行的今天,相对老旧的RNN展现出了强大的生命力。最近一个由华人主导的开源团队也发布了一个基于RNN架构的大语言模型RWKV[5],并且打出了与Transformer“鱼和熊掌兼得”的口号。

二、本文方法

2.1 什么是READ? 

本文提出的READ主要由一个标准的RNN和一个Joiner网络组成,READ网络的整体架构如下图所示。

READ可以轻松的嵌入任意一个成型的Transformer网络中,并且分别对Transformer的编码器和解码器进行微调优化。作者将要微调的Transformer主干称为,在整个训练过程中,对的参数进行冻结,并且在Encoder和Decoder中分别设置READ模块,在模块内部,Joiner网络汇集了多个信息源来构成RNN网络的输入。在网络进行前向传播过程中,网络首先独立于READ运行Transformer主干 ,并在每个Transformer层缓存必要的中间结果。随后再迭代地计算Encoder和Decoder中设置的RNN隐藏状态。最后将RNN的输出与的输出相加,得到新的最终状态。
通过这种方式,READ能够对进行高效微调,同时保留了的主干结构和参数。同时与其他参数高效微调方法相比,READ实现了显著的显存消耗和GPU使用量的减少,总体来看,READ网络具有以下几个关键特性:
1. 网络前向传播过程完全与主干网络分离,这样使得反向传播无需通过进行流动,从而减少了用于缓存 的非线性激活值所需的训练显存
2. 网络在优化过程中只涉及到RNN和前馈网络(FFN),且无需更新Self-Attention层。这提高了模型整体的可用性和训练效率,READ可以在任意的Transformer结构中即插即用。
3. 由于READ的循环网络特性,模型微调的可训练参数规模不随主干网络层数的增加而增加。两者的关系呈次线性增长。
4. READ可以在不修改主干Transformer网络中间结果的情况下进行计算。
2.2 READ如何起作用? 
我们首先假设是主干中的Transformer层,并 是给定输入在第i个层的输出隐藏状态。现有的很多模型微调方法会直接修改例如直接更新整体的参数,或者在插入一些参数规模较小的可学习块(例如Adapter、LoRA等方法)。而本文提出的READ,则是通过在新任务上进行训练来达到对 的校正效果。
下图展示了READ的参数更新过程,其中的扰动项,并且层的隐藏状态。作者将定义为对的校正量,并用表示。
此外作者也观察到,在适当的假设条件下,如果模型微调的结果可以看作是模型参数校正量 一阶近似 

其中是分别缓存的注意力分数和隐藏状态,上的非线性变换,而是从每一层中获取得到的缓存值的矩阵线性函数。需要注意的一点是,根据上式的近似,READ整体的微调过程不涉及任何自注意力计算,因为所有操作仅涉及到 的列空间,这大大降低了模型的计算量。
通过归纳上式,我们可以将READ的参数更新过程形式化表示为:
在具体实现中,作者使用Joiner+RNN网络的形式对该更新过程进行建模,首先使用Joiner来计算得到然后使用FFN或者一个简单的线性层来替换式(1)中 等操作,并且使用参数效率更高及可扩展性更好的RNN对式(1)中的最后一个公式进行建模。

三、实验效果 

本文的实验在GLUE基准的多个自然语言任务中进行,采用的基础Transformer架构为T5模型,RNN模型也使用了包含原始RNN,LSTM和GRU等多种循环神经网络结构。

3.1 READ方法在能耗显著较低的情况下表现优于其他方法 
下图展示了READ方法与其他PETL方法在GPU能耗降低情况下的性能对比,从下图左半部分我们可以看出,相比全微调(Full-tuning),READ可以将GPU使用量降低90%左右,GPU显存占用降低56%,同时模型的预测精度与原来保持一致。
虽然LoRA、BitFit或Adapter等PETL方法也可以明显减少可训练参数的数量,但它们并不能降低微调的计算成本,而这是PETL的主要优化目标。从上图右半部分我们可以看出,READ在训练过程中使用的显存占用非常小,图中主要展示了模型性能和显存占用之间的性能和空间权衡。与所有其他的baseline方法相比,READ实现了至少25%的训练显存优化,同时实现了更好的下游任务预测性能。
下表显示了READ与其他对比方法在架构上的性能对比。除了Adapter之外,READ的综合性能超过了其他所有PETL方法。与Adapter相比,READ在节约70%GPU使用量的情况下只损失了不到0.1%的模型精度。此外,如果将READ 应用到即READ-large)的性能优于其他所有方法,并且在能耗方面的使用量会更低。例如,READ-large在比全微调和Adapter分别高出1.4%和0.8%的性能的同时,能耗分别降低了69%和5%。
3.2 READ具有很强的可扩展性
如下图所示,与其他PETL方法相比,READ的可训练参数数量增长速度非常缓慢。随着T5骨干模型尺寸的增加,READ的参数数量呈现对数线性增长的趋势。这得益于READ的循环网络性质,使其微调参数规模与骨干网络层数无关,这使得READ在具体的工程实现中更适合于微调超大规模的Transformer模型。
3.3 READ在模型推理速度和显存占用方面也有很大的改进
如下图左半部分所示,READ相比其他PETL方法在模型推理阶段的显存占用更低,且推理速度也保持在一个较高的水平。此外,为了更全面地评估READ的推理显存占用,作者在下图右半部分展示了随着模型骨干网络尺寸的增加,推理显存占用的变化情况,相对于全微调方式,READ的推理显存增长几乎可以忽略不计。
四、总结 
本文针对大规模Transformer模型提出了一种全新的高效参数微调方法,称为REcurrent ADaption(READ)。READ方法不仅具有轻量化的特点,还能够在准确性方面与传统微调方法相媲美。READ通过引入RNN+Joiner模块的形式,使网络在微调时无需经过主干Transformer模型,显著降低了模型微调的GPU使用量,最高可以达到84%的节省效果。此外,READ还表现出了极强的扩展性,可以在几乎所有的Transformer结构上即插即用,而无需考虑修改原有模型中复杂的自注意力层。同时相对于全微调方法,READ可以降低56%的训练显存占用,这也进一步降低了深度学习工程师微调大模型的门槛。
参考 
[1] Neil Houlsby, Andrei Giurgiu, Stanislaw Jastrzebski, Bruna Morrone, Quentin De Laroussilhe, Andrea Gesmundo, Mona Attariyan, and Sylvain Gelly. Parameter-efficient transfer learning for nlp. In International Conference on Machine Learning, pages 2790–2799. PMLR, 2019
[2] Brian Lester, Rami Al-Rfou, and Noah Constant. The power of scale for parameter-efficient prompt tuning. arXiv preprint arXiv:2104.08691, 2021.
[3] Edward J Hu, Yelong Shen, Phillip Wallis, Zeyuan Allen-Zhu, Yuanzhi Li, Shean Wang, Lu Wang, and Weizhu Chen. Lora: Low-rank adaptation of large language models. arXiv preprint arXiv:2106.09685, 2021
[4] Elad Ben Zaken, Shauli Ravfogel, and Yoav Goldberg. Bitfit: Simple parameter-efficient fine-tuning for transformer-based masked language-models, 2022.
[5] Peng B, Alcaide E, Anthony Q, et al. RWKV: Reinventing RNNs for the Transformer Era[J]. arXiv preprint arXiv:2305.13048, 2023.
作者:seven_

Illustration by IconScout Store from IconScout

-The End-

扫码观看

本周上新!



“AI技术流”原创投稿计划


TechBeat是由将门创投建立的AI学习社区(www.techbeat.net)。社区上线480+期talk视频,2400+篇技术干货文章,方向覆盖CV/NLP/ML/Robotis等;每月定期举办顶会及其他线上交流活动,不定期举办技术人线下聚会交流活动。我们正在努力成为AI人才喜爱的高质量、知识型交流平台,希望为AI人才打造更专业的服务和体验,加速并陪伴其成长。


投稿内容

// 最新技术解读/系统性知识分享 //

// 前沿资讯解说/心得经历讲述 //


投稿须知

稿件需要为原创文章,并标明作者信息。

我们会选择部分在深度技术解析及科研心得方向,对用户启发更大的文章,做原创性内容奖励


投稿方式

发送邮件到

chenhongyuan@thejiangmen.com

或添加工作人员微信(chemn493)投稿,沟通投稿详情;还可以关注“将门创投”公众号,后台回复“投稿”二字,获得投稿说明。


>>> 添加小编微信!




关于我“门”将门是一家以专注于发掘、加速及投资技术驱动型创业公司的新型创投机构,旗下涵盖将门投资基金将门创新服务以及TechBeat人工智能社区公司致力干通过连接技术与商业,发掘和培育具有全球影响力的科技创新企业,推动企业创新发展与产业升级。
将门成立于2015年底,创始团队由微软创投在中国的创始团队原班人马构建而成,曾为微软优选和深度孵化了126家创新的技术型创业公司。
如果您是技术领域的初创企业,不仅想获得投资,还希望获得一系列持续性、有价值的投后服务,欢迎发送或者推荐项目给我“门”bp@thejiangmen.com    
点击右上角,把文章分享到朋友圈点击“阅读原文”按钮,查看社区原文⤵一键送你进入TechBeat快乐星球
继续滑动看下一个
将门创投
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存