2017 年 Google 在论文《Attention Is All You Need》中提出 Transformer 模型架构,该架构是基于 Encoder-Decoder (编码器-解码器)的架构。作为当下最先进的深度学习架构之一,Transformer 被广泛应用于自然语言处理领域,它不仅替代了以前流行的循环神经网络(RNN)和长短期记忆网络(LSTM),而且后来的 BERT、GPT-3 等网络架构也是基于 Transformer 架构演化而来。
RNN 和 LSTM 已经在时序任务方面有了广泛的的应用,例如像文本预测、机器翻译、文章生成等等,但是这些应用都面临着如何记录长期依赖的问题,而使用 Transformer 架构就能解决这类问题。
开始介绍前,还给大家分享世界上唯一一本关于Transformer的综合性书籍,书中涵盖了60多种transforerm架构,系统的讲解了与transformer相关的每种算法和技术,并且只需要本科基础就能看懂,完全可以满足大家在语音、文本、时间序列和计算机视觉中的学习
自注意力(Self-Attention)
Transformer 架构的核心主要是基于自注意力机制(Self-Attention),在详解 Transformer 架构之前,我们有必要理解一下自注意力这个概念,我们以《BERT 基础教程:Transformer 大模型实战》这本书的讲解来概述,这本书中的讲解非常浅显易懂。给定一个英文句子:
A dog ate the food because it was hungry
句子中的代词 it 可能代表句子里的名词 food 或者 dog,虽然我们人类非常容易理解,但是计算机不可能像我们那样去理解,它也没法像我们一样去理解。计算机是通过自注意力机制来处理代词 it 具体指代的内容是什么(food 或 dog)。
模型的计算逻辑大概是这样的:首先依次计算出句子中每个单词的特征值,在计算每个词的特征值时,需要遍历整个句子,确定当前词与整个句子中其他词的关系,如下图所示:
通过上图,我们就可以看出,it 与 dog 的相关性更高一些,通过比较粗重的线条来表示。那么,怎么能够确定 dog 和 it 之前的相关性更高呢?
我们需要通过自注意力机制的计算来得到,实际上,每个词都对应着一个 Embedding 向量,句子中所有词对应的 Embedding 向量最终构成了一个矩阵 X,这样一个词,比如 it 就与其他词关联起来了。这里需要说明的是,每个词对应的 Embedding 向量,是通过选定的语料库(训练数据集)通过训练从而得到的,具体如何训练和计算可以参考其他资料,这里不过多解释了。
有了矩阵 X,还需要基于矩阵 X 创建另外三个矩阵:查询矩阵 Q、键矩阵 K、值矩阵 V,得到这三个矩阵需要训练对应的另外三个权重矩阵,假设分别为 Wq、Wk、Wv,它们也都是通过训练得到的。这样,我们就可以计算得到下面三个矩阵:
-
Q = X·Wq
-
K = X·Wk
-
V = X·Wv
基于上述三个矩阵 Q 、K、V,就可以计算得出我们需要的句子中每个词与句子中其他词相关性的注意力矩阵了,具体步骤如下图所示:
最终计算结果示例,以词 it 为例,如下图所示:
可见,词 it 与 dog 的自注意力值恰好等于 1.0,也就是 dog 的自注意力值,而其他的都是 0.0,所以代词 it 就指代为 dog。
Transformer 架构
我们参考论文《Efficient Transformers:A Survey》来学习 Transformer 架构,论文给出了标准的 Transformer 架构设计,如下图所示:
由上图可见,Transformer 由 Encoder 和 Decoder 两部分组成,首先是 Encoder 部分,输入 Embedding 数据经过一些处理后(Embedding输入、位置编码)进入到 N 个 Encoder 中,N 个 Encoder 最终输出特征值数据,结果作为每个 Decoder 中的 Multi-Head Cross-Attention 层的输入;然后是 Decoder 部分,输出 Embedding 数据经过一些处理后(Embedding输入、位置编码)进入到 N 个 Decoder 中,经过 N 个 Decoder 层的处理后,后面还要依次经过 Linear 层、Softmax 层处理后,得到最终的目标输出的预测概率结果。
下面,我们看 Encoder 内部各个子层的详细结构:一个 Encoder 层包含 4 个子层的顺序堆叠:
-
Multi-Head Self-Attention 层
-
Add & Norm 层
-
Feed Forward 层
-
Add & Norm 层
数据在 Encoder 层的各个子层之间的传输和处理过程,说明如下:
-
将输入(inputs)转换为输入嵌入矩阵(Input Embedding),并将位置编码(Positional Embedding)加入其中,再将结果作为输入传入第一个 ENCODER 层中;
-
在 ENCODER 1 层中,接受输入并将其送入多头注意力层(Multi-Head Self-Attention),该子层运算后输出注意力矩阵;
-
将注意力矩阵输入到下一个子层,即前馈网络层(Feed Forward),前馈网络层将注意力矩阵作为输入,并计算出特征值作为输出;
-
接下来,把从 ENCODER 1 层中得到的输出作为输入,传入下一个层 ENCODER 2;
-
ENCODER 2 层进行同样的处理,再将给定输入句子的特征值作为输出,最后在 ENCODER N 层输出最终的特征值数据。
下面,我们再看 Decoder 内部各个子层的详细结构:一个 Decoder 层包含 6 个子层的顺序堆叠:
-
Masked Multi-Head Self-Attention 层
-
Add & Norm 层
-
Multi-Head Cross-Attention 层
-
Add & Norm 层
-
Feed Forward 层
-
Add & Norm 层
数据在 Decoder 层的各个子层之间的传输和处理过程,说明如下:
-
将目标(targets)转换为输出嵌入矩阵(Output Embedding),并将位置编码(Positional Embedding)也加入其中,再将结果作为输入传入第一个 DECODER 层中;
-
在 DECODER 1 层中,接受输入并将其送入带掩码的多头注意力层(Masked Multi-Head Self-Attention),该子层运算后输出注意力矩阵;
-
将注意力矩阵输入到下一个子层 Multi-Head Cross-Attention 层,同时也把 ENCODER N 输出的最终特征值数据作为 Multi-Head Cross-Attention 层的输入,经过处理以后结果输出到下一个子层,即前馈网络层(Feed Forward),并输出结果;
-
接下来,把从解码器 DECODER 1 层中得到的输出作为输入,传入下一个解码器层 DECODER 2;
-
DECODER 2 层进行同样的处理,再将给定输入句子的特征值作为输出,最后在 DECODER N 层输出最终的目标特征值数据;
-
最后,在 N 个 DECODER 之后,还需要依次经过 Linear 层、Softmax 层的处理,最终得到预测目标词出现的概率结果。
为了方便了解,我们把 Transformer 架构中 N 个 Encoder、Decoder 都展开,并且填充上内部的各个子层,以及各个层之间数据的交互关系,整合到一张图上,如下图所示:
通过上图来看,Transformer 架构就非常直观并易于理解。
零基础如何学习AI大模型
领取方式在文末
为什么要学习大模型?
学习大模型课程的重要性在于它能够极大地促进个人在人工智能领域的专业发展。大模型技术,如自然语言处理和图像识别,正在推动着人工智能的新发展阶段。通过学习大模型课程,可以掌握设计和实现基于大模型的应用系统所需的基本原理和技术,从而提升自己在数据处理、分析和决策制定方面的能力。此外,大模型技术在多个行业中的应用日益增加,掌握这一技术将有助于提高就业竞争力,并为未来的创新创业提供坚实的基础。
大模型典型应用场景
①AI+教育:智能教学助手和自动评分系统使个性化教育成为可能。通过AI分析学生的学习数据,提供量身定制的学习方案,提高学习效果。
②AI+医疗:智能诊断系统和个性化医疗方案让医疗服务更加精准高效。AI可以分析医学影像,辅助医生进行早期诊断,同时根据患者数据制定个性化治疗方案。
③AI+金融:智能投顾和风险管理系统帮助投资者做出更明智的决策,并实时监控金融市场,识别潜在风险。
④AI+制造:智能制造和自动化工厂提高了生产效率和质量。通过AI技术,工厂可以实现设备预测性维护,减少停机时间。
…
这些案例表明,学习大模型课程不仅能够提升个人技能,还能为企业带来实际效益,推动行业创新发展。
学习资料领取
如果你对大模型感兴趣,可以看看我整合并且整理成了一份AI大模型资料包,需要的小伙伴文末免费领取哦,无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发
部分资料展示
一、 AI大模型学习路线图
整个学习分为7个阶段
二、AI大模型实战案例
涵盖AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,皆可用。
三、视频和书籍PDF合集
从入门到进阶这里都有,跟着老师学习事半功倍。
四、LLM面试题
五、AI产品经理面试题
😝朋友们如果有需要的话,可以V扫描下方二维码联系领取~
👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]👈