Transformer架构精讲:从原理到实践,一文读懂大模型的核心技术(建议收藏)

126 阅读5分钟

本文详细解析了Transformer架构的核心原理,通过通俗易懂的方式讲解tokenization、词嵌入、位置编码及注意力机制等关键技术。无论你是AI初学者还是希望深入理解大模型的开发者,本文都能帮助你系统掌握这一革命性架构,为理解和应用大语言模型奠定坚实基础。

本文较长,建议点赞收藏。更多AI大模型应用开发学习视频及资料,在智泊AI


花了一点时间来学习和研究经典的transformer架构及原理,这个是2017年谷歌的一个论文,开拓了AI的新时代,尽量通俗易懂的解释一下,做好笔记把它记录下来。

先看下整体的架构图:

有几个部分,举个例子来说,比如“请介绍一些《孙子兵法》这本”,这13个词,咱们先暂定26个token哈。主要用于后面举例说明。咱们分开来理解,先看左边部分。

1、tokenization原理,对应的是token化,在输入的语句中进行token化,一般而言,一个100token个对应50给汉字,100个token对应75给英文单词,是一个分词拆分法,大家有没有想过,为什么不是一个汉字或者一个英文单词对应一个token呢?如果一个字或者一个单词对应一个token,那么这个token词表会一直变大,因为有一些新的字出现,其次,像,河,海,英文happy,unhappy,happiness,可以复用token的,最后,分词拆分法也是可以增加一些语义的理解。像上面例子一看就知道一些意思。

2、词元嵌入表示,embedding模型,就是将token进行向量化,计算机的世界是识别数字的,万事万物皆可向量化。向量空间即是特征,我们可以从向量中提取特征,所谓的特征工程。向量化里有一个one-hot编码,一个token对应是一个512维的向量(transfomer是512维的向量),一个1和其他维度都是0,这种编码也是有问题的,就是在整个向量空间里第一是太稀疏了,第二没有距离,第三没有数量关系或逻辑关系。

3、位置编码positional Encoding,就是定义一个向量表示词的位置,有了这个向量是增加语义的理解,比如“狗咬了猫”,“猫咬了狗” 字是一样的,但是位置不一样,他们的含义也是不同的。这个向量也是512维。

4、这时候看图才进入编码器Encoding,编码器包含2个部分,一个是多头自注意力机制,另外一个是位置感知前馈神经网络

多头注意力机制,公式是Attention(Q,K,V)=softmax(Q*K(T)/开根号dk)*V 不会弄就中文解释下,这公式的意思是,请把注意力放到重要的信息上。咱们先了解什么是注意力机制?什么是自注意力机制?什么是多头注意力机制?

看如下图来理解注意力机制

这个图是理解为一维的,也增加二维(身高178,腰围38),对应的K也要是二维的(身高,腰围),V值也加,比如预测(体重,腿长),还可以是多维的,大脑里细品哈,只要有数据,任何东西都可以预测。

自注意力机制,核心是做信息的聚合,就是自己跟自己去比较计算,想像一下,前面例子26个token,对应26个向量,对应是26个512维的向量空间,结合上面的图,把所有的数据替换成26个512维的向量值,然后按照图的计算公式进行计算,得到的值也是一个26个的512维向量。(V中智是每个向量的加权求和)

多头自注意力机制,引入多个专家去关注不同的注意点,然后再进行自注意力机制的计算,但是transformer里面引入了神经网络进行了向量的线性的变换。比如原始的26*512维向量,进行向量变换,生成3个不同的Wq,Wk,Wv向量,这个经过神经网络的线性变换后,从而突出某些需要突出的,弱化某些需要弱化的。

纯写文字,可能不太好理解,结合上面图来理解一下。上图分左/中/右

中间输入是26*512维的向量,经过linear线性变换后,看左边的图,Q和K和V变换成26*(512/8=64)维的向量了,通过Scale缩放点积和softmax。后面的concatenate将8个26*64的向量合并,最后输出是26*512维的向量。

然后再说下位置感知前馈神经网络,就是一个全连接的神经网络,输入的26*512维向量 经过线性变换,激活函数变成26*2024维的向量,再转换变成26*512的向量进行输出。

5、右边部分是解码器,从下往上看,前面的输出、token化、词元嵌入表示、位置编码这4部分跟编码器是一样的。不一样的是掩码多头自注意力机制、多头注意力机制

掩码多头注意力机制,原理跟自注意力机制一样,区别在于,可以理解为一个把答案遮住的,看上图,对角线的右边全为白色,对应向量里全部为0.

6、编码器与解码器的区别是编码器输出的是向量,解码器输出的是概率,编码器一般用来做分析,解码器一般用来做生成。

7、linear和softmxa概率函数,一个26*512维的向量经过linear后,形成跟最后一个向量的相关度系数,得到的相关系数后进行softmax进行计算到概率,按概率最高的词去预测下一个字。

更多AI大模型应用开发学习视频及资料,在智泊AI