您现在的位置:首页 >> 装修知识

Transformer提效之路鲜肉笔记丨一文梳理各种魔改版本Transformer

发布时间:2025/10/17 12:17    来源:相山家居装修网

暗藏阶数随之而来推算花销加大。然后就特别强调右边的数学公式,pair对顺利进行Q和K的点积推算+softmax得不到attention分,日后和V除以得不到每个前方原素的结果。

我们来看一下代码的构建,中叶的是经过以外连接起来和head变化处理好的Q、K、V,阶数都是[batch_size, k, T, D/k]。另外一个必须同样的点为什么要之比无畏dk,因为Q和K的内积结果,随着其阶数缩小,方更差都会缩小,进而可能都会出现相当大的第二大值,之比无畏dk保证转换器结果的不都会出现过大第二大值,这个在原学术论文中都是有说明注解的。

def scaled_dot_product_attention(q, k, v, mask):matmul_qk = tf.matmul(q, k, transpose_b=True)dk = tf.cast(tf.shape(k)[-1], tf.float32)scaled_attention_logits = matmul_qk / tf.sqrt(dk)if mask is not None:scaled_attention_logits += (mask * -1e9) attention_weights = tf.nn.softmax(scaled_attention_logits) output = tf.matmul(attention_weights, v) return output, attention_weights

知晓了Transformer基本构件之后, 我们示例通过9篇顶都会文章,必要病态全面病态努力学习Transformer三维如果顺利进行高效率简化,以及如果适常用长多肽、长译文三维。

2 相当大Attention提高运行高效率

Longformer: The Long-Document Transformer(2020)重申了另一种长处,它们非议于如何让Transformer的时长最简化随多肽尺寸仅指数上升叠加为线病态上升。

Longformer的主要长处是其设计相当大的Attention,包括下由此可知三种表达作法。其中都sliding wondow attention仅指出每个token只跟不远处售票处内的w个token顺利进行attention;diliated sliding wondow值得同样空洞傅立叶,和不远处w个token顺利进行attention时都会每隔几个原素顺利进行一次attention;global attention常用某些特殊token如Bert中都的[CLS],或人工本质确定的。通过中心等这三种Attention作法,构建了第二大素质保证Attention低质需求量,同时又将Transformer时长最简化叠加为和多肽尺寸线病态相关的。

与Longformer相似的一篇文章是 Enhancing the Locality and Breaking the Memory Bottleneck of Transformer on Time Series Forecasting(NIPS 2019)。这篇指导也是其设计相当大的Attention。

本文重申了LogSparse Attention,每个原素和早先原素Attention的时候,只自由选择有规律1、2、4、8等的原素。同时减少了Local Attention和Restart,前者仅指的是对于不远处的几个原素不用LogSparse,增强不远处原素对意味著点的阻碍(因为这篇指导主要应常用于时长多肽,因此着重慎重考虑了不远处时长的第二大值对意味著的阻碍),Restart仅指的是每隔一定尺寸就再次顺利进行LogSparse的有规律推算。

Adaptive Attention Span in Transformers(2019)重申使用三维来努力学习每个原素的attention售票处范围。一种基本的步骤是,当Q和K顺利进行attention时,中叶Q和K的前方更差,然后根据这个前方更差推算这两个原素Attention的权重,基本长处是离意味著原素越近,权重变大,线病态表达作法和影像如下:

其中都,z可以根据每个原素个病态化的推算,即每个前方的原素都都会推算一下从哪个原素开始attention的权重升高。可以使用一个NN互联网,转换器意味著原素的特征,二阶z的第二大值。本文针对不尽有所不同的head、不尽有所不同前方的转换器,都顺利进行了个病态化的attention权重生转成,并通过前头实验验证了这种步骤构建了相当大attention,提高运行高效率。

3 针对长译文的Transformer应常用

由Transformer运行花销随着多肽尺寸减少而仅指数上升,因此如果想将Transformer应常用到长译文上,直接对以外部整体推算Attention是不现实的。

理论上转换器多肽尺寸为T,则三维顶层的时长最简化和存储器使用需求量都是O(L*L)。一种简单的作法是,在训练前期将长译文分割转成一些符合要求的一段话本,对每个一段话本分别三维,构建运行高效率提高;在假设前期,每次中叶一个分开尺寸的多肽,并一个一个step向后快速移动,假设多次,如下由此可知所示。

然而,这种步骤忽略了长译文中都不尽有所不同片断之间的关联,也限制了Attention所能三维的第二大尺寸,不可避免都会阻碍三维特性。同时在假设前期,运算需求量相当大,因为每次要快速移动一个原素再次推算,每一个前方的原素都要在多个片断内倍推算多次,高效率很低。

为了让Transformer更好的应常用到长译文中都, Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context(ACL 2019)重申了Transformer-XL三维,其主要长处是在下一个片断的假设都会依赖上一个片断的字符结果,创设了片断之间的数据交互。

这个反复可以用示例的数学公式和示意由此可知仅指出,数学公式中都的第一行仅指出使用上一个segment的数据和意味著segment数据整块,同时上一个segment的数据不都会顺利进行梯度更新。这样意味著片断在推算Q、K、V的时候就都会慎重考虑上一个片断的数据了。

另一个必须解决解决办法的解决办法是,如果让两个segment顺利进行数据交互,但是这两个segment有所不同的position embedding有所不同前方都是一样的,这看来是不合理的,第二个segment和第一个segment是实际上前方更差异的。为知晓决解决办法这个解决办法,Transformer-XL重申了一种新的相比前方字符步骤。在Transformer核心数学公式中都,QK请注意T可以仅指出为如下表达作法:

下由此可知中都,当xi作为query去数据库作为key的xj时候,左侧为传统Transformer推算attention score的挥发结果(E是embedding,W是q、k有所不同的以外连接起来同构,U是position embedding)。本文将其顺利进行了一个叠加,首先用R代替了U,U分开前方embedding,而R是衡需求量i和j距离的相比embedding,比如i和j距离5,那么i和j的相比前方embedding就用5有所不同的embedding第二大值。同时,本文认为query去数据库的时候,query向需求量本身是有所不同的,因此无论query前方如何,对不尽有所不同词语的同样偏更差都有所区别。

4 Transformer的运行高效率简化

REFORMER: THE EFFICIENT TRANSFORMER(ICLR 2020)重申了有别于暂时病态敏感病态Hash的步骤提高Transformer高效率。当多肽较长时,QK请注意T的阶数[batch_size, L, L]的推算需求量和存储器花销都会相当大,但是由于我们非议的是softmax后的结果,并不非议QK请注意T本身是什么,而softmax只非议第二大值第二大的几个原素,因此我们可以只自由选择k

那么如果看到有第二大标准差和query相似的k个key呢?Reformer有别于了暂时病态敏感病态Hash的步骤。暂时病态敏感病态Hash仅指的是,将每个原素顺利进行hash字符,hash前离得近的原素hash后大标准差在一个桶里,那么这种hash就是暂时病态敏感病态Hash。下由此可知左侧是一个一般的hash,都会把原素随机hash,而左侧的暂时病态敏感病态Hash,Hash前相邻的原素大标准差都会分到同一个桶里。

本文有别于的拒不敏感病态Hash如下由此可知,顺利进行多次旋转后,如果两个点离得很近,那么大标准差多次旋转后都在同一个区域;如果两个点离得很远,那么在多次旋转后所在的区域大标准差不都会完以外一致。

暂时病态敏感病态HashAttention的一个反复由此可知如下,首先并用暂时病态敏感病态Hash对多肽顺利进行分桶,然后将同一个栓的原素再次排列依序,在栓顺利进行正常的Attention。此外,Reformer还将Q和K的以外连接起来同构线病态共享,必要病态减少了三维天将数需求量,同时同样到三维特性并未因此降低。

RETHINKING ATTENTION WITH PERFORMERS(ICLR 2021)重申了Performer三维,通过改变Attention一小的推算作法来提高推算高效率。如下由此可知,在一般的Attention中都,首先要顺利进行Q和K的行列式运算得不到A,时长最简化为O(L*L),然后日后和V除以,时长最简化总共为O(L*L*d)。本文重申,将A比如说同构转成一个QCoapos和KCoapos的之和,然后先推算KCoapos和V的行列式乘法,在推算QCoapos和前者的乘法,这样时长最简化就变转成O(L*r*d)了。那么解决办法的关键就是如何找出QCoapos和K’了。

文中都寻看到了同构步骤,如下由此可知,行列式A中都的第(i, j)个原素可以仅指出转成相应q和k的内积,而早先的一篇研究中都有将这种表达作法的线病态变转成两个向需求量内积的表达作法,进而就看到了有所不同的同构线病态,文中都后续又对这个比如说顺利进行了一些稳定病态简化。

Linformer: Self-Attention with Linear Complexity(2020)重申了一种线病态时长最简化和空间最简化的Transformer三维。首先,本文并用奇异第二大值挥发对Roberta中都各个层的Attention行列式顺利进行研究,同样到特征第二大值是相当明显的长尾分布,第二大值相当大的特征第二大值只有几个,大一小特征第二大值都大得多。这断定,只必须用少数的第二大的特征第二大值就能比如说还原Attention行列式中都的大一小数据。此外,越接近转换器的层,前128、512个奇异第二大值的和占比变大。这个研究的结果如下由此可知。

一种步骤是使用SVD挥发,取前k个第二大的特征第二大值有所不同的特征向需求量组转成Attention行列式的比如说,如下:

但是这种步骤的解决办法在于必须顺利进行额外的SVD推算,减少的推算最简化。因此,本文重申将K和V顺利进行一步同构后日后顺利进行Attention。将原先的Attention推算步骤使用两个同构E、F叠加转成如下表达作法:

其中都E、F分别将K、V从[T, d]同构拆转成[k, d]。这样推算最简化从原先的O(T*T)下降为O(k*T),当k远小于T的时候即比如说为线病态时长和空间最简化。

5 傅立叶与Attention的混合

Conformer: Convolution-augmented Transformer for Speech Recognition(2020)重申用傅立叶来提高Transformer特性,混合傅立叶提炼暂时病态数据的优势和Transformer提炼以外局数据的优势。基本的作法也相当直观,并用一层Multi-head Attention加上一层傅立叶的数据类型作法来构建,基本构件如下由此可知。

LITE TRANSFORMER WITH LONG-SHORT RANGE ATTENTION(ICLR 2020)重申了另一个混合傅立叶和Attention的指导。通过Attention的热着力同样到,Attention行列式的构件具有相当大病态,并且对角线不远处的分第二大值低。前者断定Attention都会努力学习一些global的相当大关联,后者仅指出Attention都会努力学习local的关联。

本文重申,可以让原先的Transformer热衷于于提炼以外局关联,而减少一个傅立叶模块,并行提炼暂时病态关联。FFN的转换器都会被分转成两半,一半转换器到原先的Transfomer中都(提炼global数据),另一半转换器到一个傅立叶层(提炼local数据),这样Transformer一小的推算最简化变小了一半。同时让傅立叶一小可以提炼local数据,让Transformer一小热衷于于提炼global数据。从下由此可知中都的c也可以看出,减少了傅立叶模块后,Transformer的attention行列式未了对角线不远处的local数据提炼,而是侧重于global数据的提炼。

6 总结

本文参阅了Transformer的基本分析步骤,随后全面病态参阅了9篇近年来顶都会对Transformer的基础上,尽力大家以外方位知晓Transformer三维分析步骤和最近业内的针对Transformer的基础上指导。

海口皮肤病医院哪家专业
咸阳包皮过长治疗医院
成都白癜风医院哪家比较专业
唐山妇科医院专家预约挂号
厦门妇科专科医院
急支糖浆是什么药?
孩子流鼻血
美容整形
脑出血
整形科医院

上一篇: 卡巴列罗:重拾足球让我如重获新生,希望网络暴力能被制止

下一篇: 补齐近2亿碱基的遗传物质,人类基因组测序结果正式发布|专访

友情链接