Transformer架构的局限已凸显,被取代还有多久?

本文介绍了Transformer模型的发展,它凭借强大语言理解能力占据多领域榜首。但随着应用细分,其存在设备要求高、数据资源多、训练时间长等问题。同时,RetNet、RWKV等新架构模型崭露头角,虽替代Transformer之路曲折,但未来取代不可避免。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

江山代有才人出,各领风骚数百年。这句话无论是放在古往今来的人类身上,还是放在当今人工智能领域的大模型之上,都是最贴切不过的。无论是一个时代的伟人,还是统治一个领域的技术,最终都会有新的挑战者将其替代。Transformer作为大模型的统治者,自从出现之后,就以其强大的语言理解能力击败了RNN模型,迅速占据了NLP领域的榜首,之后又是抢占了CNN主导的图像领域,成为了整个领域的王者,在之后很长一段时间内地位都稳固如初。

图片

不过随着终端应用领域的细分,对大模型各方面的要求也越来越具体化,比如对于开发成本的考虑,和对终端响应效率的需求等。这些都倒逼着底层模型的革新必要,随着各领域的研究深入,逐渐发现Transformer模型本身的问题已经成为技术进一步发展的阻拦,想要提高应用层面的体验,就必须解决这些问题,而底层架构是首当其冲的。


一、Transformer的封神之路

自2017年Transformer模型被提出来之前,语言模型领域还在被以RNN为主的LSTM、GRU、SRU等模型统治,注意力机制也是以普通的交叉注意力为主。而Transformer的出现,彻底打破了这个局面,首先以RNN为主的循环神经网络被替换成了传统的前馈神经网络-FNN(也称为多层感知机-MLP),也就是模型中的全连接层,这种稠密的网络连接能够为网络提供更多的参数,可以有效的学习自然语言文本中的信息。

在此之前,前馈神经网络没有被应用在语言模型的任务中,其主要原因之一就是普通的前馈神经网络在处理自然语言信息时无法为输入的词向量提供准确的位置信息,我们都知道,自然语言文本信息的处理是一个具有先后顺序的序列任务,也就是说语言是有先手顺序的,RNN天生就具备“记忆”功能,本身就是为处理序列任务而设计的模型,而FNN(前馈神经网络)对于输入的数据,不会记住具体的位置信息。

图片

在Transformer模型中,对这一问题的处理方法是通过加入额外的位置向量来确定位置,具体操作是在处理输入数据的时候对每一个输入的数据向量都加入一个位置向量即可,这样就可以让模型“记住”每一个输入数据的具体位置了,模型也就具备了处理序列问题的能力。后面无论每个输入向量学习到了什么信息,都能够通过位置向量回溯到模型中的具体位置,也就为后面的输出提供了可参考的依据。

使用FNN替代RNN有个好处就是可以避免参数稀疏化,我们都知道CNN和RNN都是具备参数共享功能的,这种参数共享在处理简单任务的时候,可能具备一定的好处,但是在处理复杂任务的时候,参数的共享可能不会带来优势,反而是稠密连接的FNN有更大的优势,稠密连接意味着参数量的增加,而参数量的增加,至少可以让模型可承载的信息量变大。

图片

虽然RNN的模型设计更符合人类大脑的思考机制,但是对于普通的RNN来说,FNN的稠密参数设计和并行计算优势更符合硬件的计算机制,对于GPU的利用率也会更高,这一切优势都使得FNN在之前大模型的发展中有着更好的应用性。对比CNN模型提供的稀疏矩阵计算形式,FNN的稠密矩阵计算形式则具有更高的精度和更低的延迟性。

想要把一个简单的FNN改造成合格的序列任务处理模型,最主要的还是要让输入模型的所有数据之间都能够根据具体任务需求而产生强关联,简单来说,就是让输入的每个数据之间都能够表示某种关系,比如输入一段话,让模型能够处理这段话的每个字或者每个词之间的关系,也就是让模型处理这段话之间的稠密向量连接。

图片

当然,这种字词之间的稠密连接还需要有一定的放矢,并不是说每个字词之间直接稠密连接就能解决问题,有的字词之间的关系更加紧密,有的字词之间的关系没有那么重要。这个时候就需要根据实际任务情况对字词之间进行注意力的学习,比如前一个字和后一个字之间的注意力分配,前一个字和后两个字之间的注意力分配等。注意力越强就说明字词之间的关系更紧密,反之亦然。

这种在整个输入数据中做注意力的方法被称作为自注意力机制,和普通交叉注意力的区别就是普通交叉注意力的Q(Query)、K(Key)、V(Value)来由编码器和解码器共同的数据而产生,而自注意力的Q(Query)、K(Key)、V(Value)要么仅来自于编码器的输入,要么仅来自于解码器的输入。

图片

可见,交叉注意力主要用于处理两个不同序列之间的关系,而自注意力主要用于处理单个序列内的元素之间的关系。在自注意力机制中,序列中的每个元素都可以与序列中的其他元素建立关联,包括与自身的关联。自注意力机制通过模型在输入序列中的不同位置之间建立动态的关联,能够使模型更好地捕捉序列中的重要信息。

Transformer是如何让模型获得更大的容量,装载更多的文本语义信息的呢?它的方法简单粗暴,那就是通过堆叠模型的层数来加大模型可学习的参数量,让更多的参数来承载文本中深层次的信息。如果要处理的文本内容太多,注意力的能力有限,还可以将注意力增加成多头的形式来加强文本向量之间的注意力关系。除此之外,Transformer模型中还应用了LayerNormalization和残差连接等设计方法来提高模型的整体表示能力。

Transformer架构是一种深度学习模型,主要用于自然语言处理任务,如机器翻译、文本分类、语言模型等。它是由Vaswani等人在2017年的论文《Attention is All You Need》中提出的。 Transformer架构的基本组成部分包括输入数据、自注意力机制(Self-Attention Mechanism)和前馈神经网络(Feed-Forward Neural Network)。它通过自注意力机制来捕捉输入序列之间的依赖关系,然后通过前馈神经网络进行分类或生成任务。 在Transformer架构中,输入数据被分成一系列单词或字符,每个单词或字符都有一组向量表示其特征。这些向量通过自注意力机制被加权组合,以生成一个包含所有输入信息的单一表示。然后,这个表示被传递给前馈神经网络进行进一步的处理。 在自注意力机制中,每个单词或字符都与所有其他单词或字符进行比较,计算它们的相似性,并给出一个加权的表示。这个过程会生成一个全局的表示,可以捕捉到输入序列中的长距离依赖关系。 此外,Transformer架构还包括一个位置编码机制(Position Encoding),它用于将连续的单词或字符映射为向量空间中的独特位置。位置编码可以解决Transformer中存在的维度灾难问题(即随着输入序列的长度增加,模型参数的数量也会急剧增加)。 总的来说,Transformer架构通过自注意力机制和前馈神经网络,能够捕捉输入序列中的全局信息,从而在自然语言处理任务中表现出色。然而,由于其计算复杂性和内存需求,Transformer架构在处理较长的输入序列时可能会遇到挑战。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值