“数据猿年度重磅活动预告:2020年度金猿策划活动(金猿榜单发布 金猿奖杯颁发)即将推出,尽情咨询期待!
大数据产业创新服务媒体
——聚焦数据 · 改变商业
当我们在翻译软件上输入 “Transformer is a novel neural network architecture based on a self-attention mechanism” 后,计算机就可以迅速将它翻译为 “Transformer 是一种基于自注意力机制的新型神经网络架构”,神奇的机器翻译使得多语种互译成为可能。
近年来,得益于机器学习的快速发展,自然语言处理(NLP)技术不断突破,在人机交互、在线翻译工具等领域的应用层出不穷,不同语种的人与人、人与机器之间的无障碍自由交流得以实现。 当前的主流机器翻译主要是基于神经网络机器翻译,这类方法是一个 “编码器-解码器”(encoder-decoder)架构的系统,编码器对源语言序列进行编码,并提取信息,然后通过解码器把信息转换为目标语言,完成语言翻译过程。 自 2017 年问世以来,基于“编码器-解码器”架构设计的 Transformer 模型凭借其优越的性能,已然成为机器翻译领域的主流模型,在深度学习领域产生了巨大影响。
然而,Transformer 模型并非完美,模型引入self-attention机制虽实现了快速并行的训练,但在长序列文本的处理问题上,却需要占据大量计算资源,导致模型训练成本提高。 近日,由 Google、剑桥大学、DeepMind 和艾伦·图灵研究院(Alan Turing Institute)的研究人员组成的团队基于正交随机特征的快速注意力(Fast Attention Via Positive Orthogonal Random Features,FAVOR )机制,提出了一种新的 Transformer 模型——Performer。相比于 Transformer 模型,新模型无需做出过度调整就可以变得更加高效和节能。
Performer 模型的技术突破
2017 年,谷歌大脑(Google Brain)的 Ashish Vaswani 等人发表了一篇题为 “Attention Is All You Need” 的论文,首次提出一种基于自注意力机制的 Transformer 模型。
Transformer 模型颠覆了传统神经网络的架构,弥补了卷积神经网络(CNN)和递归神经网络(RNN)存在的不足,在语义特征提取、长距离特征捕获、任务综合特征抽取等自然语言处理方面表现出了更优的性能,在自然语言处理、人机对话、图像处理等许多领域都达到了当时最好的水平(SOTA)。 Transformer 架构的核心模块是自注意力模块,模型在处理每个单词(输入序列中的每个位置)时,自注意力模块通过计算输入序列中所有位置对的相似度分数,来寻找能够帮助更好地编码该单词的线索。 然而,随着输入序列长度的增加,模型需要二次方的计算时间来产生所有相似度分数,所需计算内存也随之增加,注意力机制面临的效率问题也越来越突出。 针对那些需要长距离关注的应用,在 Transformer 基础上已经有一些研究者提出了几种快速的、空间利用率高的改进方法,但是大部分常见方法都依赖于稀疏注意力机制。 然而,稀疏注意力机制仍存在一定的局限性。
(1)它们需要高效的稀疏矩阵乘法运算,而这些运算并不是在所有加速器上都能实现的;
(2)它们通常不能为其表示能力提供严格的理论保证;
(3)它们主要针对 Transformer 模型和生成式预训练进行优化;
(4)它们通常会叠加更多的注意力层来补偿稀疏表示,这使得它们很难与其他预训练模型一起使用,因此需要重新训练并消耗大量能量。
此外,稀疏注意机制通常仍然不足以解决常规注意方法应用的全部问题,如指针网络。还有一些运算不能被稀疏化,如在工业级推荐系统中被大量应用的 softmax 运算。 Performer 使用了一个高效的(线性)广义注意力框架,能够对常规(softmax)全阶注意力进行可证明的、准确的、实用的估计,不依赖于任何稀疏性或低阶等先验条件,从而实现更快的训练速度,同时允许模型处理更长的序列,这一特性恰恰满足了 ImageNet64 图像数据集和PG-19文本数据集的要求。 Performer 模型通过正交随机特征(FAVOR )算法实现快速注意力机制,并改用 Positive Orthogonal Random Features 估计 softmax 和高斯核函数,以实现在 FAVOR 机制中对常规 softmax 注意力进行鲁棒且无偏的估计。 研究人员表示:“Performer 是第一个通过微调可以与常规 Transformers 进行完全兼容的线性架构”。
图 | 原点对称的通用函数 r(定义为建立在:三角随机特征和正随机特征上的估计器的均方误差(MSEs)的比值)是输入特征向量与其长度l之间的角度 φ(以弧度为单位)的函数, 函数的数值越大表示正随机特征性能越好的(φ,l)空间区域(左);当 l 为定值 1 时,与变化的角度 φ 构成的函数 r 为正切函数,以及比较低 softmax 内核值区域中两个估算器的 MSE(右)。
作者通过比较发现,对于 φ 足够大的临界区域,该方法所使用的正交随机特征比任意的三角随机特征更精确。
图 | 将原始的经过预训练的 Transformer 的权重转移到 Performer 中,Performer 产的精度达到 0.07 (橙色虚线),但在原来的梯度步数的一小部分中,很快就恢复了精度。
然而在 PG-19 上,三角法(TRIG) softmax 逼近变得非常不稳定,而正特征(POS)(不重绘)和 Linformer (也是逼近 softmax)即使在重绘投影的情况下,也会在同样的复杂度中趋于平稳。具有特征重绘的正 softmax 是匹配 Transformer 的必要条件,SMREG 可实现更快的收敛。 这篇论文利用详细的数学定理,证明了与其单纯依靠计算资源来提升性能,还不如开发出改进的、高效的 Transformer 架构,来显著降低能耗。同时,由于 Performers 使用了与 Transformer 相同的训练超参数,也可以有效训练基于 softmax 的线性 Transformer。因此 FAVOR 机制可以作为一个简单的插件,而无需进行过多的调整。
Performer 模型应用前景广泛
研究人员表示,Performer 模型的提出,显著降低了常规 Transformer 的空间和时间复杂度,并在 Transformer 的研究以及非稀疏注意机制的作用方面开辟了新的途径。
该论文利用详细的数学定理,证明了与其单纯依靠计算资源来提升性能,还不如开发出改进的、高效的 Transformer 架构,来显著降低能耗。同时,由于 Performers 使用了与 Transformer 相同的训练超参数,因此 FAVOR 机制可以作为一个简单的插件,而无需进行过多的调整。 该团队在一系列丰富的场景下测试了 Performers 的性能,执行的任务包括像素预测、蛋白质序列建模。在实验设置中,一个 Performer 只用 FAVOR 机制取代了常规 Transformer 的注意力组件。 在使用蛋白质序列训练一个 36 层模型的挑战性任务上,基于 Performer 的模型(Performer-RELU)的性能优于基线 Transformer 模型:Reformer 和 Linformer,后者的准确率显著下降。 在标准的 ImageNet64 基准上,具有 6 层的 Performer 与具有 12 层的 Reformer 的准确性相当。优化后,Performer 的速度达到了 Reformer 的两倍。 研究人员表示,由于基于 Performer 的可扩展 Transformer 架构可以处理更长的序列,而不受注意力机制结构的限制,同时保持准确和鲁棒性,相信它们可以在生物信息学领域带来新的突破,如蛋白质的语言建模等技术已经显示出强大的潜力。
代码地址:https://github.com/google-research/google-research/tree/master/performer 论文地址:https://arxiv.org/abs/2009.14794
参考资料: https://ai.googleblog.com/2020/10/rethinking-attention-with-performers.html https://syncedreview.com/2020/10/02/google-cambridge-deepmind-alan-turing-institutes-performer-transformer-slashes-compute-costs/ https://www.youtube.com/watch?v=xJrKIPwVwGM
来源:学术头条
—— / END / ——