SUPRA:无须额外训练,将Transformer变为高效RNN,推理速度倍增

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: `Transformers`模型因其在多种任务上的优秀性能而广泛采用,但其内存需求和推理成本随词元数量指数增长。为解决这一问题,论文《Linearizing Large Language Models》提出`SUPRA`方法,将预训练的`Transformers`转换为递归神经网络(RNN),实现有效推理并降低训练成本至原来的5%。`SUPRA`通过将注意力机制线性化并用`GroupNorm`替代`softmax`,保持预训练模型的优势。经过微调,转换后的模型在标准语言理解和长上下文任务中保持高性能,展示了在长序列处理方面的潜力,但仍有改进空间。

Transformers 已经确立了自己作为首要模型架构的地位,特别是因为它们在各种任务中的出色表现。但是Transformers 的内存密集型性质和随着词元数量的指数扩展推理成本带来了重大挑战。为了解决这些问题,论文“Linearizing Large Language Models”引入了一种创新的方法,称为UPtraining for Recurrent Attention (SUPRA)。该方法利用预训练的Transformers 并将其转换为递归神经网络,在保持预训练的好处的同时实现有效的推理。

SUPRA方法旨在将预训练的大型语言模型(LLMs)转化为RNNs,具体步骤包括替换softmax归一化为GroupNorm,使用一个小型MLP投影queries和keys。这种方法不仅降低了训练成本(仅为原来的5%),还利用了现有预训练模型的强大性能和数据。

Transformers 面临着与序列长度线性增长的高推理成本。相比之下,rnn提供固定成本推理,因为它们能够保持恒定大小的隐藏状态,这使得它们对于需要高效和可扩展推理的任务具有吸引力。

引入线性Transformers的概念,减轻了标准softmax注意机制的计算开销。线性Transformers用线性相似函数代替softmax,该函数可以重新表述为像RNN一样工作。但在许多基准测试中,线性Transformers的表现仍然不如softmax,主要是由于稳定性问题和预训练的复杂性。

向上训练方法(Uptraining )

向上训练指的是用最少的额外训练使预训练的模型适应新架构的过程,而不是微调,微调通常涉及在不同的数据集上重新训练模型。而SUPRA特别关注通过修改其注意机制将预训练的Transformers转换为rnn。

SUPRA的核心在于将Transformers的注意力机制转化为一种循环形式。softmax关注被一个允许循环更新的线性函数所取代。这种转换是至关重要的,因为它使模型能够增量地更新其状态,类似于RNN。

使用转换后的键(k)和值(v)在每个时间步更新循环状态(s)和归一化因子(z)。这些更新以允许模型以一次处理一个词元序列的方式执行,从而显著降低了推理成本。

phi(x)定义为:

1、初始化循环状态和归一化因子为零。

2、对于输入序列中的每个标记,使用学习到的权重矩阵计算查询和键。对这些向量应用MLP和旋转位置嵌入(RoPE),以确保它们有效地处理顺序数据。

3、使用转换后的键和值更新状态和归一化因子。MLP应用的转换适当地调整键和值。

4、通过归一化转换后的查询和状态的点积来计算每个时间步骤的注意力输出。对输出应用GroupNorm,取代传统的softmax归一化,提高输出稳定性。

对序列中的每个标记重复上述步骤,确保模型以循环的方式处理序列。

对模型进行微调

在使用上述步骤将Transformers转换为RNN之后,在较小的数据集上对模型进行微调。这个微调过程调整新组件(MLP、GroupNorm等)的权重,优化性能。与从头开始预训练相比,这一步只需要一小部分计算资源。

结果展示

研究人员通过提高1B到7B参数的一系列模型(包括Llama2和Mistral模型)来测试SUPRA方法。这些模型在标准语言理解基准和长上下文评估上进行了测试,以评估它们的性能和局限性。

使用Eleuther评估工具对标准自然语言理解(NLU)任务进行评估。Llama2-7B和Mistral-7B等初始化的supra处理模型在大多数基准测试中保持了高性能,优于RWKV-5等其他线性模型。

由于需要在扩展序列上保留信息,长上下文任务对许多模型来说是具有挑战性的。SUPRA模型在各种上下文长度下对来自SCROLLS基准的任务(如Qasper和NarrativeQA)进行评估。将这些模型的性能与它们的训练上下文长度进行比较。

SUPRA模型显示出超出其训练上下文长度保持性能的能力,这是与循环模型相关的典型特征。但是未经修改的Transformers在其最大训练上下文长度上通常优于SUPRA模型。这表明尽管SUPRA模型是有效的,但在处理非常长的上下文方面仍有改进的余地。

主要论点详解

1、SUPRA方法在多大程度上能解决长上下文任务中的性能不足?

性能不足的原因:使用了固定衰减向量γ,虽然在短上下文任务中表现良好,但在长上下文任务中,衰减效应导致有效上下文长度缩短,影响了性能。虽然SUPRA方法通过简化线性注意力计算,减少了推理成本,但仍然继承了线性模型在长上下文任务中的固有不足。例如,线性模型在长上下文建模中不如基于softmax注意力的Transformer模型表现好。

论文提出了可以探索更复杂的循环状态更新规则,如门控策略(gating strategies)和高阶线性注意力(higher order linear attention),以提高长上下文任务的性能。或增加专门用于长上下文任务的训练数据,可能有助于提升模型在这些任务中的表现。

2、替换softmax归一化为GroupNorm对模型稳定性和性能的具体影响是什么?

softmax归一化在大规模模型的训练过程中容易引起数值不稳定性,尤其是当模型处理长序列数据时。这种不稳定性在高维空间中特别明显。将softmax归一化替换为GroupNorm,可以有效缓解这种不稳定性。GroupNorm通过对组内的小批量数据进行归一化,减少了模型训练时的数值波动,增加了训练过程的稳定性。论文中的实验表明,使用GroupNorm的SUPRA模型在大规模模型(例如7B参数模型)的训练过程中表现更加稳定,减少了由于数值不稳定性导致的训练中断和性能下降。

将softmax归一化替换为GroupNorm对模型的稳定性和性能有显著正面影响。虽然在某些极长上下文任务中性能有所下降,但总体而言,这种替换在提高训练稳定性和保持性能方面表现良好。未来可以进一步优化GroupNorm的使用,以期在更多任务中提升模型性能。

3、是否可以通过进一步的优化策略(如门控机制)来弥补SUPRA方法在上下文学习中的不足?

a、通过引入门控机制,可以更好地控制信息流动,保持重要信息,丢弃不必要的信息,增强模型对长上下文的建模能力。门控机制可以平滑状态更新过程,减少长序列数据中的梯度消失和爆炸问题,提升模型训练的稳定性。

b、高阶线性注意力通过在计算注意力时引入更复杂的核函数,能够捕捉到更丰富的特征交互。通过使用更复杂的核函数,可以捕捉到更复杂的特征交互,提升模型的表达能力和性能。高阶线性注意力能够更有效地处理长上下文信息,提高模型在长上下文任务中的表现。

c、动态位置编码方法(如RoPE)可以更好地处理长序列中的位置信息。动态位置编码能够增强模型对长序列中位置信息的敏感性,提高长上下文建模能力。动态位置编码能够在不同长度的序列中保持稳定的性能,提升模型的泛化能力。

总结

SUPRA方法通过替换softmax归一化为GroupNorm,显著提升了模型的稳定性和性能。然而,在处理长上下文任务时仍存在一定不足。通过引入门控机制、高阶线性注意力、专门的训练数据和任务优化、动态位置编码以及结合其他高效注意力机制,可以进一步优化SUPRA方法,弥补其在上下文学习中的不足,提升模型的整体性能。

未来的研究可以继续探索这些优化策略的组合应用,以进一步提升模型在长上下文任务中的表现,为自然语言处理领域的发展提供更多可能性。

论文地址:

https://avoid.overfit.cn/post/40da3737629348ff9d151d5774554d93

目录
相关文章
|
6月前
|
机器学习/深度学习 自然语言处理 异构计算
Python深度学习面试:CNN、RNN与Transformer详解
【4月更文挑战第16天】本文介绍了深度学习面试中关于CNN、RNN和Transformer的常见问题和易错点,并提供了Python代码示例。理解这三种模型的基本组成、工作原理及其在图像识别、文本处理等任务中的应用是评估技术实力的关键。注意点包括:模型结构的混淆、过拟合的防治、输入序列长度处理、并行化训练以及模型解释性。掌握这些知识和技巧,将有助于在面试中展现优秀的深度学习能力。
213 11
|
2月前
|
机器学习/深度学习 存储 算法
Transformer、RNN和SSM的相似性探究:揭示看似不相关的LLM架构之间的联系
通过探索大语言模型(LLM)架构之间的潜在联系,我们可能开辟新途径,促进不同模型间的知识交流并提高整体效率。尽管Transformer仍是主流,但Mamba等线性循环神经网络(RNN)和状态空间模型(SSM)展现出巨大潜力。近期研究揭示了Transformer、RNN、SSM和矩阵混合器之间的深层联系,为跨架构的思想迁移提供了可能。本文深入探讨了这些架构间的相似性和差异,包括Transformer与RNN的关系、状态空间模型在自注意力机制中的隐含作用以及Mamba在特定条件下的重写方式。
106 7
Transformer、RNN和SSM的相似性探究:揭示看似不相关的LLM架构之间的联系
|
4月前
|
机器学习/深度学习 自然语言处理
彻底改变语言模型:全新架构TTT超越Transformer,ML模型代替RNN隐藏状态
【7月更文挑战第25天】近年来,NLP领域取得显著进展但也面临挑战,如长上下文建模与计算效率的平衡。为此,研究人员提出Test-Time Training (TTT) 模型架构。TTT由多机构合作开发,旨在解决长上下文建模难题及提高计算效率。通过将隐藏状态视为可学习更新的模型,TTT能随输入增长提升表示能力;采用自监督学习更新规则确保线性计算复杂度的同时保持高性能。实验显示TTT在多种NLP任务中表现优秀,尤其在长上下文处理方面超越Transformer。尽管如此,TTT仍面临训练资源需求高及自监督学习鲁棒性等挑战。[论文](https://arxiv.org/abs/2407.04620)
119 5
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
算法金 | 秒懂 AI - 深度学习五大模型:RNN、CNN、Transformer、BERT、GPT 简介
**RNN**,1986年提出,用于序列数据,如语言模型和语音识别,但原始模型有梯度消失问题。**LSTM**和**GRU**通过门控解决了此问题。 **CNN**,1989年引入,擅长图像处理,卷积层和池化层提取特征,经典应用包括图像分类和物体检测,如LeNet-5。 **Transformer**,2017年由Google推出,自注意力机制实现并行计算,优化了NLP效率,如机器翻译。 **BERT**,2018年Google的双向预训练模型,通过掩码语言模型改进上下文理解,适用于问答和文本分类。
153 9
|
5月前
|
机器学习/深度学习 自然语言处理 PyTorch
【从零开始学习深度学习】34. Pytorch-RNN项目实战:RNN创作歌词案例--使用周杰伦专辑歌词训练模型并创作歌曲【含数据集与源码】
【从零开始学习深度学习】34. Pytorch-RNN项目实战:RNN创作歌词案例--使用周杰伦专辑歌词训练模型并创作歌曲【含数据集与源码】
|
5月前
|
机器学习/深度学习 算法 存储
Bengio等人新作:注意力可被视为RNN,新模型媲美Transformer,但超级省内存
【6月更文挑战第3天】Bengio等人提出的新模型Aaren视注意力为特殊RNN,以解决Transformer在资源受限环境中的计算成本高和内存使用问题。Aaren模型通过并行前缀和算法实现高效计算和常数级内存使用,性能接近Transformer,同时在时间序列任务中表现优秀,尤其适合移动设备和嵌入式系统。尽管可能在某些复杂任务上不如Transformer,但其高效性为实时数据处理提供了潜力。论文链接:[https://arxiv.org/pdf/2405.13956](https://arxiv.org/pdf/2405.13956)
98 2
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
一文介绍CNN/RNN/GAN/Transformer等架构 !!
一文介绍CNN/RNN/GAN/Transformer等架构 !!
207 5
|
6月前
|
机器学习/深度学习 资源调度 数据可视化
Mamba详细介绍和RNN、Transformer的架构可视化对比
Transformer体系结构已经成为大型语言模型(llm)成功的主要组成部分。为了进一步改进llm,人们正在研发可能优于Transformer体系结构的新体系结构。其中一种方法是Mamba(一种状态空间模型)。
670 2
|
6月前
|
机器学习/深度学习 自然语言处理 并行计算
神经网络结构——CNN、RNN、LSTM、Transformer !!
神经网络结构——CNN、RNN、LSTM、Transformer !!
302 0
|
5月前
|
机器学习/深度学习
【从零开始学习深度学习】33.语言模型的计算方式及循环神经网络RNN简介
【从零开始学习深度学习】33.语言模型的计算方式及循环神经网络RNN简介
【从零开始学习深度学习】33.语言模型的计算方式及循环神经网络RNN简介