收藏!大模型学习必看:RNN与Transformer并行化机制深度解析,小白也能懂

部署运行你感兴趣的模型镜像

RNN 无法并行

我们先看一个典型的基于RNN的Encoder-Decoder结构

输入是:“机器学习“,输出是“machine learning”。模型的大概工作时序是:Encoder部分,输入序列逐个送进RNN,计算出最后时刻的隐藏状态c,作为上下文信息传给Decoder。Decoder部分,将c和t-1时刻的输出作为t时刻的输入,逐步计算预测得到t时刻的输出。这个结构中,Encoder和Decoder部分都是无法并行化的,这是由RNN结构本身决定的(t时刻计算依赖t-1时刻的输出)。值得注意的一点是,这里我们讨论的并行化,不是指多个“输入-输出”样本批量处理,而是指对于单个的“输入-输出”样本,模型中Encoder和Decoder都需要历经t次迭代。

RNN之所以不支持并行化是因为它天生是个时序结构,t时刻依赖t-1时刻的输出,而t-1时刻又依赖t-2时刻,如此循环往前,我们可以说t时刻依赖了前t时刻所有的信息。RNN的实质目的是学习时序数据中的局部依赖关系,实际上深度学习很多模型的目的都是为了学习样本之间的局部关系,如CNN也是为了学习空间数据中局部依赖关系。为了完成对长距离样本之间依赖关系的学习,CNN采用多次卷积、池化等操作,这样需要加大网络的深度,才能更多的学习到更大范围的样本局部依赖关系。RNN虽然理论上可以建立长距离依赖关系,但由于存在梯度消失、网络容量等问题,实际上效果也要打折扣。

Transformer并行化

Transformer中的Encoder和Decoder分别如何支持并行化训练。

Encoder支持并行化

理解Encoder部分能支持并行化训练的关键就在于理解自注意力机制:

不严谨的说,自注意力机制就是利用 xi之间两两相关性作为权重的一种加权平均,将每一个xi 映射到 zi。

这样说可能还有点抽象,如上图所示, x1 和x2 表示“Thinking”和“Machines”的embedding。

此时可以说 x1 和x2 都只表示自己的word,没有考虑局部依赖关系。

自注意力机制首先计算了 x1 和x1 之间的相关性, x1 和x2之间的相关性,记为 a11和a12 ,

,通过对x1,x2 这样加权平均方式得到的z1 来表示“Thinking”,此时我们说z1

已经考虑了和其他元素之间的依赖关系。

这里我们举例是一个简单的长度为2的句子,可以推广到长度为N的句子处理上,

z1 是所有X1:N 的加权平均,哪个元素的权重大,我们说它获得了更高的“注意力”。

同理,我们可以可以计算Z2:N ,每个 Zi 都是所有X1:N 的不同加权平均,因为每个Zi 都可以看作是对应的单词在考虑全局依赖后的一种embedding,不同的 zi 对不同的xi

注意力分布不同。

换句话说,在计算每一个zi

时,需要的是全体的x1:N ,而并不依赖 zi-1 ,所以Encoder可以并行化计算所有的zi ,而无需像RNN那样严格按照时序依次迭代计算。

Decoder支持并行化

假设目标语句为:“I love China”这样一个长度为3的句子。首先我们给句子加入一个起始符号:“ I love China”。对于解码器模块,我们先来看一个正常的处理思路。

第一轮:给解码器模块输入“” 和 编码器的输出结果,解码器输出“I”

第二轮:给解码器模块输入“ I” 和 编码器的输出结果,解码器输出“Iove”

第三轮:给解码器模块输入“ I love” 和 编码器的输出结果,解码器输出“China”

第四轮:给解码器模块输入“ I love China” 和 编码器的输出结果,解码器输出“”,至此完成。

这就是一个“完美”解码器按时序处理的基本流程。之所以说完美,是因为解码器每次都成功的预测出了正确的单词,如果编码器在某一轮预测错了,那么给下一轮解码器的输入中就包含了错误的信息,然后继续解码。

Transformer之所以能支持Decoder部分并行化训练,是基于以下两个关键点:

  1. teacher force
  2. masked self attention

对于teacher force,在其他seq2seq模型中也有应用。它是指在每一轮预测时,不使用上一轮预测的输出,而强制使用正确的单词。还以上面这个例子来说,第二轮时,给解码器模块输入“ I” 和 编码器的输出结果,解码器没有正确预测出“Iove”,而是得到了“want”。如果没有采用teacher force,在第三轮时,解码器模块输入的就是“ I want”。如果采用了 teacher force,第三轮时,解码器模块输入的仍然是“ I love”。通过这样的方法可以有效的避免因中间预测错误而对后续序列的预测,从而加快训练速度。而Transformer采用这个方法,为并行化训练提供了可能,因为每个时刻的输入不再依赖上一时刻的输出,而是依赖正确的样本,而正确的样本在训练集中已经全量提供了。值得注意的一点是:Decoder的并行化仅在训练阶段,在测试阶段,因为我们没有正确的目标语句,t时刻的输入必然依赖t-1时刻的输出,这时跟之前的seq2seq就没什么区别了。

对于masked self attention,它本质就是一种自注意力,只是加了一个mask,也正是这个mask为Decoder提供了并行化训练的可能。为了更好的说明mask的作用,我自己手画了两个简图,画的比较丑,请读者凑合着看。

上图是一个普通的自注意力机制示意图,实际上Encoder部分的自注意力机制大概就是这个关系。图中为了不太凌乱,我没有画出z2 、z3、z4 与x1:4 的关联,实际上Z1:4 和x1:4

是两两关联的。

有的读者可能发现了,这是不是类似于一个的全连接网络?

其实自注意力机制本质就是一种全连接网络,只是普通的全连接网络每层的节点数量在建立模型时就已经确定了,对于一个模型这些连接的权重也通过训练得到。

而自注意力机制可以适应不同长度的输入,这些权重是由K、Q动态生成的,我们要训练得到的是产生K、Q的参数矩阵。这一点和我们要说的并行化训练关系不大,只是做一点补充。

以上这个自注意力模型在训练Decoder无法直接使用,因为Decoder是在做解码,解码时要求第t时刻的输出,是看不到t时刻以后的样本的。换句话说,我们需要把

z1和x2:4 之间的连接去掉,z1 只与x1 相关。同理 只与 相关, 只与 相关 , 与 全相关。如下图所示:

最后

为什么要学AI大模型

当下,⼈⼯智能市场迎来了爆发期,并逐渐进⼊以⼈⼯通⽤智能(AGI)为主导的新时代。企业纷纷官宣“ AI+ ”战略,为新兴技术⼈才创造丰富的就业机会,⼈才缺⼝将达 400 万!

DeepSeek问世以来,生成式AI和大模型技术爆发式增长,让很多岗位重新成了炙手可热的新星,岗位薪资远超很多后端岗位,在程序员中稳居前列。

在这里插入图片描述

与此同时AI与各行各业深度融合,飞速发展,成为炙手可热的新风口,企业非常需要了解AI、懂AI、会用AI的员工,纷纷开出高薪招聘AI大模型相关岗位。
在这里插入图片描述
最近很多程序员朋友都已经学习或者准备学习 AI 大模型,后台也经常会有小伙伴咨询学习路线和学习资料,我特别拜托北京清华大学学士和美国加州理工学院博士学位的鲁为民老师给大家这里给大家准备了一份涵盖了AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频 全系列的学习资料,这些学习资料不仅深入浅出,而且非常实用,让大家系统而高效地掌握AI大模型的各个知识点。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

AI大模型系统学习路线

在面对AI大模型开发领域的复杂与深入,精准学习显得尤为重要。一份系统的技术路线图,不仅能够帮助开发者清晰地了解从入门到精通所需掌握的知识点,还能提供一条高效、有序的学习路径。

img

但知道是一回事,做又是另一回事,初学者最常遇到的问题主要是理论知识缺乏、资源和工具的限制、模型理解和调试的复杂性,在这基础上,找到高质量的学习资源,不浪费时间、不走弯路,又是重中之重。

AI大模型入门到实战的视频教程+项目包

看视频学习是一种高效、直观、灵活且富有吸引力的学习方式,可以更直观地展示过程,能有效提升学习兴趣和理解力,是现在获取知识的重要途径

在这里插入图片描述
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

海量AI大模型必读的经典书籍(PDF)

阅读AI大模型经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说,阅读经典书籍是非常有必要的。
在这里插入图片描述

600+AI大模型报告(实时更新)

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
在这里插入图片描述

AI大模型面试真题+答案解析

我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下
在这里插入图片描述

在这里插入图片描述

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

您可能感兴趣的与本文相关的镜像

Seed-Coder-8B-Base

Seed-Coder-8B-Base

文本生成
Seed-Coder

Seed-Coder是一个功能强大、透明、参数高效的 8B 级开源代码模型系列,包括基础变体、指导变体和推理变体,由字节团队开源

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值