Transformer 训练成本高昂的问题日益凸显,不仅需要耗费巨额的资金与大量的计算资源,还对环境产生了不可忽视的影响,最近由北京大学与谷歌联合发表的一篇论文,为这一棘手难题带来了全新的曙光。论文中提出的创新方案,有望打破 Transformer 训练成本居高不下的困境,
一、研究动机
如今,很难想象人工智能领域如果没有Transformer会怎样。这些模型是大型语言模型的基础架构,为人工智能带来了革命性变化。而且,它们的影响力不仅限于自然语言处理领域。在计算机视觉等其他领域,视觉Transformer(ViT)也发挥着重要作用。随着技术的发展,模型规模不断扩大,从头开始训练模型的成本越来越高,且这种做法难以持续,还引发了环境方面的担忧。
训练Transformer模型成本高昂
二、引入Tokenformer
我们今天要解读的论文题目是。该论文对Transformer架构提出了一项引人注目的改进,名为Tokenformer。Tokenformer能够在增加模型规模时,避免从头开始重新训练模型,从而大幅降低成本。
三、Transformer与Tokenformer架构对比
让我们从整体上对比一下传统Transformer架构和Tokenformer,相关对比图来自论文。
3.1 Transformer整体流程
左边展示的是原始Transformer架构的简化图。底部是输入的词元序列。
- 输入首先经过线性投影层,计算注意力模块的输入,即矩阵Q、K和V。这一阶段涉及模型参数和输入词元(token)之间的相互作用,通过线性投影计算得出。
- 然后,自注意力组件让输入词元之间相互作用,这一过程通过注意力模块计算。
- 最后,前馈神经网络(FFN),为下一层生成输出,这同样体现了词元和参数之间通过线性投影计算的相互作用。
3.2 Tokenformer的核心思路
通常,词元与参数之间的相互作用是通过固定参数大小的线性投影组件计算的。这就导致在增加模型规模时,必须从头开始训练。
Tokenformer的主要思路是构建一个完全基于注意力机制的模型,包括词元与参数之间的相互作用,从而拥有更灵活的架构,支持逐步增加参数数量。
3.3 Tokenformer整体流程
在上面图的右侧,我们可以看到Tokenformer架构的简化图。
- 为了计算自注意力模块的输入(Q、K和V矩阵),我们将输入词元输入到一个名为词元 - 参数注意力的新组件中。在这个组件中,除了输入词元,我们还会传入参数。输入词元代表词元 - 参数注意力模块中的查询部分,参数则代表键和值部分。
- 接着,我们使用与之前相同的自注意力组件。</