首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >替换Transformer!谷歌提出 Performer 模型,全面提升注意力机制!

替换Transformer!谷歌提出 Performer 模型,全面提升注意力机制!

作者头像
昱良
发布于 2020-11-09 07:26:01
发布于 2020-11-09 07:26:01
1.8K0
举报

机器之心报道

Transformer 有着巨大的内存和算力需求,因为它构造了一个注意力矩阵,需求与输入呈平方关系。谷歌大脑 Krzysztof Choromanski 等人最近提出的 Performer 模型因为随机正正交特性为注意力矩阵构建了一个无偏的估计量,可以获得线性增长的资源需求量。这一方法超越了注意力机制,甚至可以说为下一代深度学习架构打开了思路

自面世以来,Transformer 模型已经在多个领域取得了 SOTA 结果,包括自然语言处理图像处理甚至是音乐处理。众所周知,Transformer 架构的核心是注意力模块,它计算输入序列中所有位置对的相似度得分。然而,随着输入序列长度的增加,注意力机制本身的问题也越来越突出,因为它需要二次方的计算时间来产生所有的相似度得分,用来存储这些得分的内存大小也是如此。

针对那些需要长距离注意力的应用,部分研究者已经提出了一些速度快、空间利用率高的方法,其中比较普遍的方法是稀疏注意力。

标准的稀疏化技术。

然而,稀疏注意力方法也有一些局限。首先,它们需要高效的稀疏矩阵乘法运算,但这并不是所有加速器都能做到的;其次,它们通常不能为自己的表示能力提供严格的理论保证;再者,它们主要针对 Transformer 模型和生成预训练进行优化;最后,它们通常会堆更多的注意力层来补偿稀疏表示,这使其很难与其他预训练好的模型一起使用,需要重新训练,消耗大量能源。

此外,稀疏注意力机制通常不足以解决常规注意力方法应用时所面临的所有问题,如指针网络。还有一些运算是无法稀疏化的,比如常用的 softmax 运算。

为了解决这些问题,来自谷歌、剑桥大学、DeepMind、阿兰 · 图灵研究所的研究者提出了一种新的 Transformer 架构——Performer。它的注意力机制能够线性扩展,因此能够在处理长序列的同时缩短训练时间。这点在 ImageNet64 等图像数据集和 PG-19 文本数据集等序列的处理过程中都非常有用。

论文链接:https://arxiv.org/pdf/2009.14794.pdf

Performer 使用一个高效的(线性)广义注意力框架(generalized attention framework),允许基于不同相似性度量(核)的一类广泛的注意力机制。该框架通过谷歌的新算法 FAVOR+( Fast Attention Via Positive Orthogonal Random Features)来实现,后者能够提供注意力机制的可扩展低方差、无偏估计,这可以通过随机特征图分解(常规 softmax-attention)来表达。该方法在保持线性空间和时间复杂度的同时准确率也很有保证,也可以应用到独立的 softmax 运算。此外,该方法还可以和可逆层等其他技术进行互操作。

研究者表示,他们相信该研究为注意力、Transformer 架构和核方法提供了一种新的思维方式。

代码地址:https://github.com/google-research/google-research/tree/master/performer

论文公布之后,Youtube 知名深度学习频道 Yannic Kilcher 对该文章进行了解读。

广义的注意力机制

在以往的注意力机制中,分别对应矩阵行与列的 query 和 key 输入相乘,通过 softmax 计算形成一个注意力矩阵,以存储相似度系数。值得注意的是,这种方法不能将 query-key 生成结果传递给非线性 softmax 计算之后再将其分解为原始的 query 和 key。然而,将注意力矩阵分解为原始 query 和 key 的随机非线性函数的乘积是可以的,即所谓的随机特征(random feature),这样就可以更加高效地对相似度信息进行编码。

标准注意力矩阵包括每一对 entry 的相似度系数,由 query 和 key 上的 softmax 计算组成,表示为 q 和 k。

常规的 softmax 注意力可以看作是由指数函数和高斯投影定义的非线性函数的一个特例。在这里我们也可以反向推理,首先实现一些更广义的非线性函数,隐式定义 query-key 结果中其他类型的相似性度量或核函数。研究者基于早期的核方法(kernel method),将其定义为广义注意力(generalized attention)。尽管对于大多核函数来说,闭式解并不存在,但这一机制仍然可以应用,因为它并不依赖于闭式解。

该研究首次证明了,任意注意力矩阵都可以通过随机特征在下游 Transformer 应用中实现有效地近似。实现这一点的的新机制是使用正随机特征,即原始 query 和 key 的正直非线性函数,这对于避免训练过程中的不稳定性至关重要,并实现了对常规 softmax 注意力的更准确近似。

新算法 FAVOR+:通过矩阵相关性实现快速注意力

上文描述的分解允许我们以线性而非二次内存复杂度的方式存储隐式注意力矩阵。我们还可以通过分解获得一个线性时间注意力机制。虽然在分解注意力矩阵之后,原始注意力机制与具有值输入的存储注意力矩阵相乘以获得最终结果,我们可以重新排列矩阵乘法以近似常规注意力机制的结果,并且不需要显式地构建二次方大小的注意力矩阵。最终生成了新算法 FAVOR+。

左:标准注意力模块计算,其中通过执行带有矩阵 A 和值张量 V 的矩阵乘法来计算最终的预期结果;右:通过解耦低秩分解 A 中使用的矩阵 Q′和 K′以及按照虚线框中指示的顺序执行矩阵乘法,研究者获得了一个线性注意力矩阵,同时不用显式地构建 A 或其近似。

上述分析与双向注意力(即非因果注意力)相关,其中没有 past 和 future 的概念。对于输入序列中没有注意前后 token 的单向(即因果)注意力而言,研究者稍微修改方法以使用前缀和计算(prefix-sum computation),它们只存储矩阵计算的运行总数,而不存储显式的下三角常规注意力矩阵。

左:标准单向注意力需要 mask 注意力矩阵以获得其下三角部分;右:LHS 上的无偏近似可以通过前缀和获得,其中用于 key 和值向量的随机特征图的外积(outer-product)前缀和实现动态构建,并通过 query 随机特征向量进行左乘计算,以在最终矩阵中获得新行(new row)。

性能

研究者首先对 Performer 的空间和时间复杂度进行基准测试,结果表明,注意力的加速比和内存减少在实证的角度上近乎最优,也就是说,这非常接近在模型中根本不使用注意力机制的情况。

在以时间(T)和长度(L)为度量的双对数坐标轴中,常规 Transformer 模型的双向 timing。

研究者进一步证明,使用无偏 softmax 近似,该 Performer 模型在稍微进行微调之后可以向后兼容预训练 Transformer 模型,从而在提升推理速度的同时降低能耗,并且不需要从头训练预先存在的模型。

在 One Billion Word Benchmark (LM1B) 数据集上,研究者将原始预训练 Transformer 的权重迁移至 Performer 模型,使得初始非零准确度为 0.07(橙色虚线)。但在微调之后,Performer 的准确度在很少的梯度步数之后迅速恢复。

应用示例:蛋白质建模

蛋白质具有复杂的 3D 结构,是生命必不可少的拥有特定功能的大分子。和单词一样,蛋白质可以被看做线性序列,每个字符代表一种氨基酸。将 Transformers 应用于大型未标记的蛋白质序列语料库,生成的模型可用于精确预测折叠功能大分子。正如该研究理论结果所预测的那样,Performer-ReLU 在蛋白质序列数据建模方面表现良好,而 Performer-Softmax 与 Transformer 性能相媲美。

Performer 在蛋白质序列建模时的性能。

下面可视化一个蛋白质 Performer 模型,该模型使用基于 ReLU 的近似注意力机制进行训练。研究者发现,Performer 的密集注意力近似有可能捕捉到跨多个蛋白质序列的全局相互作用。作为概念的证明,研究者在串联蛋白长序列上训练模型,这使得常规的 Transformer 模型内存过载。但由于具有良好的空间利用效率,Performer 不会出现这一问题。

左:从注意力权重估计氨基酸相似性矩阵。该模型可以识别高度相似的氨基酸对,例如 (D,E) 和 (F,Y)。

Performer 和 Transformer 在长度为 8192 的蛋白质序列上的性能。

随着 Transformer 的频繁跨界,越来越多的研究者开始关注其内存占用和计算效率的问题,比如机器之心前段时间介绍的《抛弃注意力,比 EfficientNet 快 3.5 倍,类 Transformer 新模型跨界视觉任务实现新 SOTA 》。在那篇文章中,研究者提出了一种名为「lambda」的层,这些层提供了一种捕获输入和一组结构化上下文元素之间长程交互的通用框架。类似的改进还在不断涌现,我们也将持续关注。

参考链接:http://ai.googleblog.com/2020/10/rethinking-attention-with-performers.html

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

本文分享自 机器学习算法与Python学习 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
谷歌 | 大改Transformer注意力,速度、内存利用率都大幅度提升(附源代码)
Google介绍了Performance,Transformer体系结构,它可以估计具有可证明精度的正则(Softmax)full-rank-attention Transformers,但只使用线性(相对于二次)空间和时间复杂度,而不依赖任何先验,如稀疏性或低秩。为了近似Softmax注意内核,Performers使用一种新的快速注意通过 positive Orthogonal 随机特征方法(FAVOR+),这可能是独立的兴趣可伸缩的内核方法。FAVOR+还可用于有效地模拟Softmax以外的核注意力机制。这种代表性的力量是至关重要的,以准确地比较Softmax与其他内核首次在大规模任务,超出常规Transformer的范围,并研究最优的注意-内核。Performers是完全兼容正则Transformer的线性结构,具有很强的理论保证:注意矩阵的无偏或几乎无偏估计、均匀收敛和低估计方差。
计算机视觉研究院
2020/10/30
9780
谷歌 | 大改Transformer注意力,速度、内存利用率都大幅度提升(附源代码)
谷歌联手DeepMind提出Performer:用新方式重新思考注意力机制
Transformer 模型在很多不同的领域都取得了SOTA,包括自然语言,对话,图像,甚至音乐。每个 Transformer 体系结构的核心模块是 Attention 模块,它为一个输入序列中的所有位置对计算相似度score。
新智元
2020/10/29
4830
论文推荐:Rethinking Attention with Performers
重新思考的注意力机制,Performers是由谷歌,剑桥大学,DeepMind,和艾伦图灵研究所发布在2021 ICLR的论文已经超过500次引用
deephub
2023/02/01
5990
自己挖坑自己填,谷歌大改Transformer注意力,速度、内存利用率都提上去了
机器之心报道 机器之心编辑部 考虑到 Transformer 对于机器学习最近一段时间的影响,这样一个研究就显得异常引人注目了。 Transformer 有着巨大的内存和算力需求,因为它构造了一个注意力矩阵,需求与输入呈平方关系。谷歌大脑 Krzysztof Choromanski 等人最近提出的 Performer 模型因为随机正正交特性为注意力矩阵构建了一个无偏的估计量,可以获得线性增长的资源需求量。这一方法超越了注意力机制,甚至可以说为下一代深度学习架构打开了思路。 自面世以来,Transforme
机器之心
2023/03/29
5380
自己挖坑自己填,谷歌大改Transformer注意力,速度、内存利用率都提上去了
CNN再助力!CoaT:Co-Scale卷积-注意力图像Transformer
Co-Scale Conv-Attentional Image Transformers
Amusi
2021/04/23
1.3K0
CNN再助力!CoaT:Co-Scale卷积-注意力图像Transformer
ICLR 2025 | 极性感知线性注意力!哈工深张正团队提出PolaFormer视觉基础模型
本文一作孟维康是哈尔滨工业大学(深圳)与鹏城实验室联合培养的博士生,本科毕业于哈尔滨工业大学,主要研究方向是大规模基础模型的高效训练和推理算法研究。
机器之心
2025/02/03
2650
ICLR 2025 | 极性感知线性注意力!哈工深张正团队提出PolaFormer视觉基础模型
深度学习进阶篇7:Transformer模型长输入序列、广义注意力、FAVOR+快速注意力、蛋白质序列建模实操。
基于Transformer模型在众多领域已取得卓越成果,包括自然语言、图像甚至是音乐。然而,Transformer架构一直以来为人所诟病的是其注意力模块的低效,即长度二次依赖限制问题。随着输入序列长度的增加,注意力模块的问题也越来越突出,算力和内存消耗是输入序列长度的平方。
汀丶人工智能
2023/05/31
8730
深度学习进阶篇7:Transformer模型长输入序列、广义注意力、FAVOR+快速注意力、蛋白质序列建模实操。
​新一代注意力机制Lightning Attention-2:无限序列长度、恒定算力开销、更高建模精度
大语言模型序列长度的限制,极大地制约了其在人工智能领域的应用,比如多轮对话、长文本理解、多模态数据的处理与生成等。造成这一限制的根本原因在于当前大语言模型均采用的 Transformer 架构有着相对于序列长度的二次计算复杂度。这意味着随着序列长度的增加,需要的计算资源成几何倍数提升。如何高效地处理长序列一直是大语言模型的挑战之一。
机器之心
2024/01/18
5830
​新一代注意力机制Lightning Attention-2:无限序列长度、恒定算力开销、更高建模精度
在注意力中重新思考Softmax:分解非线性,这个线性transformer变体实现多项SOTA
机器之心报道编辑:杜伟、陈萍 来自商汤、上海人工智能实验室等机构的研究者用线性 COSFORMER 来取代 transformer 中的 softmax 注意力机制,在多项任务上达到最优。 Transformer 在自然语言处理、计算机视觉和音频处理方面取得了巨大的成功。作为其核心组件之一,softmax 注意力有助于捕获长程依赖关系,但由于序列长度的二次空间和时间复杂度而禁止其扩展。研究者通常采用核(Kernel)方法通过逼近 softmax 算子来降低复杂度。然而,由于近似误差,它们的性能在不同的任务
机器之心
2022/03/04
1.1K0
解码Transformer:自注意力机制与编解码器机制详述与代码实现
Transformer的出现标志着自然语言处理领域的一个里程碑。以下将从技术挑战、自注意力机制的兴起,以及Transformer对整个领域的影响三个方面来全面阐述其背景。
TechLead
2023/10/21
3.1K0
解码Transformer:自注意力机制与编解码器机制详述与代码实现
注意力机制详解
我们观察事物时,之所以能够快速判断一种事物(当然允许判断是错误的), 是因为我们大脑能够很快把注意力放在事物最具有辨识度的部分从而作出判断,而并非是从头到尾的观察一遍事物后,才能有判断结果. 正是基于这样的理论,就产生了注意力机制。
@小森
2024/06/02
5910
注意力机制详解
图解Transformer——注意力计算原理
注意力模块(Attention module)存在于每个Encoder及Decoder中。放大编码器的注意力:
JOYCE_Leo16
2024/03/19
4690
图解Transformer——注意力计算原理
A Survey of Transformer 一篇Transformer综述(上)
Transformer现在是一种在各个领域被广泛使用的模型,包括NLP,CV,语音领域。随着这几年发展,一些Transformer的变体在以下几个方面进行改进:
BBuf
2021/07/01
1.8K0
A Survey of Transformer 一篇Transformer综述(上)
谷歌Transformer再升级——新模型实现性能、速度双提升,发展潜力巨大
“数据猿年度重磅活动预告:2020年度金猿策划活动(金猿榜单发布+金猿奖杯颁发)即将推出,尽情咨询期待!
数据猿
2020/11/09
9740
谷歌Transformer再升级——新模型实现性能、速度双提升,发展潜力巨大
Transformer可以不需要Softmax?Kakao提出了UFO-ViT,性能高,计算量还小
视觉Transformer已成为计算机视觉任务的重要模型之一。虽然它们优于之前的卷积神经网络,但其复杂度是与输入特征长度N呈二次关系。
CV君
2021/11/11
9970
Transformer可以不需要Softmax?Kakao提出了UFO-ViT,性能高,计算量还小
谷歌自锤Attention is all you need:纯注意力并没那么有用,Transformer组件很重要
机器之心报道 编辑:魔王 基于注意力的架构为什么那么有效?近期谷歌等一项研究认为注意力并没有那么有用,它会导致秩崩溃,而网络中的另两个组件则发挥了重要作用:「跳过连接」有效缓解秩崩溃,「多层感知器」能够降低收敛速度。此外,该研究还提出了一种理解自注意力网络的新方式——路径分解。 基于注意力的架构在机器学习领域已经非常普遍,但人们对其有效性原因的理解仍然有限。 最近,来自谷歌和瑞士洛桑联邦理工学院(EPFL)的研究者提出了一种理解自注意力网络的新方式:将网络输出分解为一组较小的项,每个项包括一系列注意力头的跨
机器之心
2023/03/29
3500
谷歌自锤Attention is all you need:纯注意力并没那么有用,Transformer组件很重要
Transformer长大了,它的兄弟姐妹们呢?(含Transformers超细节知识点)
最近复旦放出了一篇各种Transformer的变体的综述(重心放在对Transformer结构(模块级别和架构级别)改良模型的介绍),打算在空闲时间把这篇文章梳理一下:
AI部落联盟
2021/07/19
1.8K0
万字长文带你入门Transformer
Transformer在许多的人工智能领域,如自然语言处理(Natural Language Processing, NLP)、计算机视觉(Computer Vision, CV)和语音处理(Speech Processing, SP)取得了巨大的成功。因此,自然而然的也吸引了许多工业界和学术界的研究人员的兴趣。到目前为止,已经提出了大量基于Transformer的相关工作和综述。本文基于邱锡鹏[1]老师团队近日所发表的一篇综述[2]为基础,详细的解读Transformer的来龙去脉,同时为大家介绍近期一些相关工作,中间也会穿插一些笔者的见解。最后,本文也将列出一些可探索的未来研究方向,希望能给予读者一些启发。
AIWalker
2021/07/05
2.4K0
万字长文带你入门Transformer
哈希算法、爱因斯坦求和约定,这是2020年的注意力机制
注意力机制是非常优美而神奇的机制,在神经网络「信息过载」的今天,让 NN 学会只关注特定的部分,无疑会大幅度提升任务的效果与效率。借助注意力机制,神经机器翻译、预训练语言模型等任务获得了前所未有的提升。
机器之心
2020/04/01
8450
哈希算法、爱因斯坦求和约定,这是2020年的注意力机制
A Survey of Transformer 一篇Transformer综述(下)
事实上注意力矩阵的秩是小于序列长度的,而序列特别短的时候,会造成over-parameterization,甚至过拟合。
BBuf
2021/07/01
1.1K0
A Survey of Transformer 一篇Transformer综述(下)
推荐阅读
谷歌 | 大改Transformer注意力,速度、内存利用率都大幅度提升(附源代码)
9780
谷歌联手DeepMind提出Performer:用新方式重新思考注意力机制
4830
论文推荐:Rethinking Attention with Performers
5990
自己挖坑自己填,谷歌大改Transformer注意力,速度、内存利用率都提上去了
5380
CNN再助力!CoaT:Co-Scale卷积-注意力图像Transformer
1.3K0
ICLR 2025 | 极性感知线性注意力!哈工深张正团队提出PolaFormer视觉基础模型
2650
深度学习进阶篇7:Transformer模型长输入序列、广义注意力、FAVOR+快速注意力、蛋白质序列建模实操。
8730
​新一代注意力机制Lightning Attention-2:无限序列长度、恒定算力开销、更高建模精度
5830
在注意力中重新思考Softmax:分解非线性,这个线性transformer变体实现多项SOTA
1.1K0
解码Transformer:自注意力机制与编解码器机制详述与代码实现
3.1K0
注意力机制详解
5910
图解Transformer——注意力计算原理
4690
A Survey of Transformer 一篇Transformer综述(上)
1.8K0
谷歌Transformer再升级——新模型实现性能、速度双提升,发展潜力巨大
9740
Transformer可以不需要Softmax?Kakao提出了UFO-ViT,性能高,计算量还小
9970
谷歌自锤Attention is all you need:纯注意力并没那么有用,Transformer组件很重要
3500
Transformer长大了,它的兄弟姐妹们呢?(含Transformers超细节知识点)
1.8K0
万字长文带你入门Transformer
2.4K0
哈希算法、爱因斯坦求和约定,这是2020年的注意力机制
8450
A Survey of Transformer 一篇Transformer综述(下)
1.1K0
相关推荐
谷歌 | 大改Transformer注意力,速度、内存利用率都大幅度提升(附源代码)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档