Transformer模型
Transformer模型一统江湖,已经成为当前所有自然语言处理NLP的标配,如GPT,Bert,Sora,LLama,Grok等。Transformer模型来自于2017年Google DeepMind团队发表的论文《Attention Is All You Need》。假如《Attention Is All You Need》类比为爱因斯坦的狭义相对论,Transformer模型则堪称E=MC^2质能方程。
原论文并非按照模块顺序论述,我们按照输入输出顺序重新梳理一遍这个模型:
宏观来看一下论文中的6层encoder和decoder
回到论文中的transformer架构
各个组件(层)简介:
1,Inputs:论文中是为了英德翻译,inputs就是预先配对的英文
2,input embedding:文本嵌入,将文本中的词汇转为张量表示,论文中Dm=512。
3,positional encoding:位置编码器,将位置信息加入到文本嵌入张量。
4,encoder:编码器,提取特征值(权重)。论文中有6层,N=6;每个encoder里面有2个子层:
- Multi-Head attention:多头注意机制,这个是transformer的核心。下一篇文章细讲。
- Feed forward:前馈网络,2个线性层,中间加上ReLU激活函数。提高拟合能力。
- 子层连接结构add&norm:
- add:残差连接(跳跃连接),把原来的输入跟输出又并到一起。目的是将信息传递的更深,增强模型的拟合能力。
- norm:归一层(规范化层)的主要作用:在一定的网络层数之后,对数值进行归一(规范化),使得特征数值保持在合理的范围内。这样,可以有效地解决参数过大或过小的问题,提高模型的稳定性和收敛速度。
5,outputs(shifted right):论文中是为了英德翻译,outputs就是预先配对的德文。
6,output embedding:文本嵌入,将文本中词汇转为张量表示。
7,decoder:解码器,使用特征值(权重)预测输出。论文中有6层,N=6;decoder里面有3个子层,跟encoder大体相同,下面只讲不同的地方
- Masked Multi-Head attention:在encode里面的MHA,因为是训练阶段,所以知道输入的所有信息,计算了所有输入的注意力;而decoder是要推理预测输出,只能根据已有的输入,不能预知未来。所以需要Mask未知的输出。
- 中间的Multi-Head attention:把encoder里的输出K和V(英文)注入到MHA,用来拟合英德翻译。
8,linear:线性层,获取最佳拟合。
9,softmax:常用于神经网络的输出层,以将原始的输出值转化为概率分布,从而使得每个类别的概率值在0到1之间,并且所有类别的概率之和为1。这使得Softmax函数特别适用于多类分类问题,其中模型需要预测输入样本属于多个可能类别中的哪一个。
10,output Proabilities:输出的就是概率。
encoder/decoder动画
GIF图片引用: