Transformer能解释一切吗?

提出的那篇论文《 is All You Need》问世已经是六年前的事了 。当初的8位论文作者有6人出自谷歌,但到现在大多也已转身寻找新的故事 。
去了,他曾经谷歌大脑的同事Noam 成立了 AI,估值已经超过10亿美元 。另外两位同事 和Niki 在创立了AI软件开发公司Adept AI Labs后,把这个同样估值超过10亿的初创公司交给了另一位联合创始人,又开始下一次创业了 。
【Transformer能解释一切吗?】只有Llion Jones,这个从威尔士一个小村庄里走出来的程序员,还留在谷歌 。他曾经谈起这个并不够学术的论文标题的由来,是对披头士的那首《All You Need is Love》的简单致敬 。
而利用注意力机制来提高模型训练速度的架构,确实让AI从实验室深处的极寒之地里走出来了 。它成为当下这场生成式AI浪潮无可争议的基础 。某种程度上,上面提到的所有人,都没有真正离开这篇论文 。
在2010年提出RNN,这个框架在7年后被取代 。而在问世后的一个相似时间周期后,其高内存消耗和高推理成本的局限性也开始显现出来 。
替代者也跃跃欲试了 。
一、“不可能三角”
图源:《 : Atofor Large》
的自注意力机制增强了模型并行计算的能力,并且正契合了GPU对大规模数据进行并发处理的设计倾向 。但在面对大型数据集和较长输入序列时,需要的计算量会陡增 。
于是并行训练能力、性能和低成本推理,逐渐成为框架下的“不可能三角” 。
近日,微软研究院和清华大学的研究团队提出了一个新的框架( )来代替,并表示可以打破这个“不可能三角” 。
“这就像是M1芯片之于笔记本电脑 。”一位产品经理在推特上这样形容 。
二、O(N)困境
在这个“不可能三角”中,选择的突破口是推理成本 。
由于使用了自注意力机制,模型展现出较高的训练并行性,同时在机器翻译、语言建模等任务上也取得了很好的表现 。但取代了RNN的自注意力机制同样成为一种桎梏 。
这集中体现在时间复杂度这个标尺上 。在描述算法复杂度时,常用O(n)、O(n^2)、O(logn)等表示某个算法在计算耗时与输入数据量(n)之间的关系表示 。
O(n)意味着数据量的增加与算法耗时成正比,O(n^2)意味着像冒泡排序那样,算法耗时是数据量的n^n倍 。计算耗时越长,算法越复杂,也就意味着推理成本越高 。
图源:博客园
拿文本翻译做个例子,在处理长文本序列时(假设文本长度为N),自注意力机制的时间复杂度为O(N^2),当N过大时,翻译速度很低 。这也是为什么当前的大语言模型,在文本token长度上的进展颇为受人关注 。
虽然可以有效训练并行性,但由于每步的O(N)复杂度以及内存绑定的键值缓存,它们的推理效率低下 。这种低效率使得模型会消耗大量GPU内存并降低推理速度,因此不适合部署 。
三、从O(N)到O(1)
O(1)无疑是最优的选择,这意味着无论数据输入量n如何变化,算法耗时都是一个常量 。
框架的最大的惊艳之处就在这里,它将O(N)降维到了O(1) 。
引入了一种多尺度保留机制(multi-scale)来取代多头注意力 。作为三种计算范式之一的分块循环表示,可在内存和计算方面实现高效的O(1)推断,从而显著降低部署成本和延迟 。

Transformer能解释一切吗?

文章插图
这意味着的推理成本是固定不变的 。在一系列对比与及其变体的实验中,对比7B模型和 8k序列长度,的解码速度比带键值缓存的快8.4倍,节省70%的内存 。的推理延迟变化对输入数据量的大小变化并不敏感,这也让它能够包容更大的吞吐量() 。