2017年的时候谷歌发表了一篇论文,标题是《Attention Is All You Need》,翻译成中文是“你需要的只是关注”。隐藏在这个看似不明所以的标题下的,是造就了ChatGPT、Gemini等多种大语言模型的transformer模型。论文里提出了划时代的“自注意力”机制(Self-Attention Mechanism),允许模型在处理一个元素(如一个词)时,同时考虑序列中的其他元素,从而更好地理解上下文,这个机制通过计算每个元素对其他元素的“注意力分数”来实现。与此同时,transformer模型也有比较明显的缺点:transformer模型的自注意力机制在处理长序列时具有二次方的时间和空间复杂度。这意味着随着输入序列长度的增加,所需的计算资源和时间成指数级增长。而且由于其大量的参数和复杂的层间交互,transformer模型在训练和推理时还需要大量的内存。transformer比传统的递归神经网络(RNN)在处理长距离依赖方面更有效,但在非常长的序列中处理长期依赖关系仍然是一个挑战。那怎么办呢?transformer这么厉害的模型,放在那里不用,岂不是暴殄天物吗?于是开发者们就想尽办法,就像transformer的另一个翻译“变形金刚”一样,开发者们调整transformer模型,衍生出了多个变体,以提高最终的性能。比如刚才说的ChatGPT,就是transformer的变体——生成式预训练变压器(generative pre-trained transformer),还有谷歌的BERT(bidirectional encoder representations from transformers)等等。
不同模型推理随复杂度与时间的关系尽管RWKV提高了效率,但是会牺牲一定的性能,特别是在复杂的NLP任务中,其精确度和泛化能力可能与传统的transformer模型有差距。RWKV几乎没有非线性能力,可是非线性是神经网络学习复杂函数的关键。所以RWKV模型目前仅能扩展到14亿参数,当参数级别进一步增大,RWKV的表现就差点意思了。说句题外话,RWKV的论文叫做《Reinventing RNNs for the Transformer Era》。翻译过来是“在transformer时代重铸RNN荣光”,没错,这句话正是英雄联盟S10上,许秀的那句“重铸LCK荣光,我辈义不容辞”的英文版。