Transformer 的三大优化技术

参考:https://www.51cto.com/article/808619.html

Transformer 的三大优化技术
在 Transformer 算法的基础上,研究人员提出了多种优化技术,以提升其性能和训练效果。

以下是三种重要的优化技术:Pre-Norm、RoPE 和 MoE
一、Pre-Norm
Pre-Norm 是对传统 Transformer 中层归一化应用顺序的优化。
在传统的 Transformer 中,LayerNorm 主要用于残差连接后,如下所示:
其中:
X 是输入向量
可以是 Self-Attention 或 FFN (前馈网络)
是归一化后的输出
这种 Post-Norm 结构虽然有效,但在训练深层模型时,梯度可能会出现消失或爆炸,导致训练不稳定。
Pre-Norm 结构将 LayerNorm 放置在子层(Self-Attention 或 FFN)之前:

这带来的主要好处是

更稳定的梯度传播:梯度的方差在深度传播过程中更容易保持稳定,有助于训练超深的 Transformer 模型。
更快的收敛:由于梯度稳定,优化器可以更快地找到较优解。
在这里插入图片描述
二、 RoPE
在原始 Transformer 中,位置编码采用固定的正弦、余弦函数

这种方法有两个主要问题

缺乏旋转不变性:不能直接推广到长文本。
固定编码:不能动态调整。
RoPE(旋转位置编码)是一种改进的位置编码方法,用于增强 Transformer 模型处理长序列时的能力。RoPE 通过旋转矩阵引入位置相关性,使得注意力计算具备相对位置信息。

RoPE 的基本思想是通过对输入的查询(Q)和键(K)向量进行旋转操作,来引入位置信息。

具体来说,对于 d 维的特征表示,将其前 d/2 维和后 d/2 维分别组成复数表示,并施加一个位置相关的旋转变换。

配对维度
对于每个 token 的查询或键向量,假设其维度为 d,将其拆分为 对。
这些对由索引 i 标识,其中 i 的范围从 1 到 。
旋转每对
给定向量 x(假设维度为 2D),RoPE 采用二维旋转矩阵:
对向量进行旋转。
假设对于每一对 ,则经过 RoPE 变换后:

其中角度 是根据对的索引 i 和标记位置 p 来选择的。
计算注意力
一旦所有的查询或键向量的每一对都完成旋转,这些对会重新组合成一个维度为 d 的向量。
接着,使用标准的点积注意力机制来计算查询与键之间的关系。
优势

传统的绝对位置编码通过在词嵌入上加上一个固定的正弦和余弦函数生成的编码来表示位置,但这种方法并不适合长序列的学习。
RoPE 引入了旋转操作来表示不同词之间的相对位置,这对于处理长序列尤其有用。
RoPE 不依赖于固定的编码,能够自适应地学习位置关系,改进了长序列建模的能力。
在这里插入图片描述
三、MoE
MoE(专家混合模型)通过使用多个“专家”子网络替代了 Transformer 中的标准前馈子层。每个专家通常是一个前馈网络,其结构与原始的 FFN 相同。门控机制决定每个 token 将被路由到哪个专家。

工作原理

Token 级路由:对于每个 token,计算其与每个专家“质心”向量之间的点积,以生成亲和力分数。
Top-K选择:根据亲和力得分选择前K个专家(通常K=1或2)。
专家处理:每个选定的专家都是一个独立的 FFN,负责对 token 进行单独转换。
组合输出:如果 K>1,则通过加权总和的方式(通常根据门控分数)组合各个专家的输出。
通过将每个 token 路由到少数几个专家,MoE 能够显著增加模型的整体参数量(即容量),同时不会显著增加每个 token 的计算成本。

此外,MoE 还允许模型学习更为专业化的子网络,这些子网络可以专注于某些 token 模式或特定的语言现象。

DeepSeekMoE(2024)的进展
在 DeepSeekMoE 中,每个 MoE 层的专家数量有所增加,同时每个专家的规模得以缩小。该方法的关键创新包括:

细粒度专家细分:相比较少的几个大专家,采用更多较小的专家。
更高的K值:可以同时选择更多的专家,从而实现更专业的转换。
共享专家隔离:一组共享专家服务于所有标记,负责处理广泛有用的知识,而其余专家则专注于某些特定语言或领域的模式。
这种细粒度与共享结合的方法能够保持恒定的总计算量,同时提升模型的专业化能力。每个token从更广泛的专家池中选择,而共享专家则在整体架构中捕获通用特征。
优势

在大规模的 Transformer 模型中,参数量非常庞大,而计算成本也随之增加。MoE 通过引入“专家”模型,只激活其中一部分专家来计算,从而降低计算复杂度。
每次计算时,模型会选择少数几个专家参与计算,这样可以大幅减少计算量,同时保持模型的表达能力。
MoE 可以让模型通过引入更多的专家来扩展其容量,从而在处理复杂任务时提升性能。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值