首页 SEO技术 正文

改良Transformer位置编码 位置编码 成功最强SOTA方法! Transformer

SEO技术 2024-10-28 19
改良Transformer位置编码

本文目录导航:

【Transformer 位置编码】改良Transformer位置编码,成功最强SOTA方法!

本文聚焦于改良Transformer位置编码,以成功最优SOTA方法。

自2017年Transformer架构提出后,位置编码成为钻研热点。

本文以2022年ICLR的一篇论文“Train short, Test long: Attention with linear biases enables input length extrapolation”为例,具体讨论位置编码的改良战略。

位置编码关键分为相对位置编码和相对位置编码两大类。

相对位置编码经过函数公式或可学习参数取得每个token的位置编码,间接参与到token输入表征中。

而相对位置编码(RPE)在self-attention环节中,关注以后token时,应用其余token与其的相对位置编码传递位置消息。

其中,Sinusoidal位置编码是最基础的相对位置编码形式,其公式设计旨在让模型学习到token之间的相对位置相关。

虽然尝试了可学习位置编码,但二者结果相似,且Sinusoidal编码在序列长度外推方面体现杰出,因此成为Transformer模型的首选。

Sinusoidal编码通常上具备有限序列长度外推才干,但在embedding维度较小时,不同位置词的position embedding差异清楚,当维度增大后,差异逐渐减小。

关于BERT-large 768维度的embedding,或者已足够,但更复杂状况则需探求更适合的位置编码形式。

另一种方法是经过参数初始化构建位置矩阵,让模型学习到相对位置编码。

这种形式在训练成功后不可成功序列外推,但基于档次合成思绪,可以处置超长文本处置疑问。

但是,最优参数a的选用需经过试验验证。

另外,FLOATER等钻研应用递归模型,确保结构学习到位置消息。

相对位置编码作为transformer架构罕用形式,强调相邻词间强位置相关。

位置编码类型可进一步划分为XLNet、T5和DeBERTa等。

“Attention with Linear Biases (ALiBi)”是2022年ICLR文章提出的一种陈腐位置编码方法。

它优化了Transformer的期间复杂度,清楚优化了训练效率和内存经常使用。

经过在Q*K^T上加上天位编码,成功更优的外推才干,展现出比Sinusoidal编码更好的模型外推功能。

本文深化讨论了位置编码的改良战略,从基本的Sinusoidal编码到相对编码、学习编码,再到“Attention with Linear Biases”的翻新运行,旨在为人造言语处置畛域提供更高效、更准确的模型构建方法。

Scaled Dot Product Attention (SDPA) 在 CPU 上的 功能优化

PyTorch 2.0 引入了 SDPA(Scaled Dot Product Attention 的优化),以改良 Transformer 中的 MHA(multi-head attention)功能。

SDPA 旨在处置大型言语模型(LLM)的两个关键痛点,以后版本关键允许 CUDA 设施,未来将在下一个版本中参与 CPU 版本。

该优化算法分为三种,其中两种成功无损减速,不扭转数学计算,因此不损失精度。

以下是对 SDPA 优化算法的概述及其如何处感功能疑问的具体说明。

在早期版本中,PyTorch 1.3 曾经对 启动优化,关键经过将点乘运算融合,清楚缩小了对 attn 操作的内存访问。

这种优化方法基于将 Q、K、V 的大小与 T(序列长度)和 K(每个头的特色大小)的相关思考在内,经过融合操作大幅度提高了功能。

SDPA 优化算法的改良环节从最后的 efficient attention 算法开局,逐渐演进至 flash attention。

外围在于如何经过 tiling(即数据块化)防止在内存中调配大块的 attn 数据,从而应用缓存长处减速 pointwise 操作。

原始 scaled dot product attention 的计算环节可以合成为三个步骤。

首先引入 lazy softmax 来防止为 attn 调配实践内存,仅在每个线程中保管一些累积值,从而清楚缩小内存占用。

但是,这种成功形式在功能上还有待优化,由于它造成计算退步,但仍能大幅缩小内存需求。

进一步优化触及在 KV 数据上实施数据块化,缩小对输入的写操作次数,经过每次迭代计算 q_i 与一个 K block 和 V block 的内积结果。

这种方法虽参与了计算的规模,但同时优化了内存访问形式,使其更具效率。

为了进一步缩小 KV 数据的读取次数,优化算法将 Q 数据启动块化处置,每次迭代计算一个 Q block 与一个 KV block,以此缩小对 KV 数据的读取。

这一步骤经过参与计算规模,成功了对内存访问的优化,同时保障缓存命中率,提高功能。

在浮点数类型上成功 SDPA 包括对 float16 或 bfloat16 的允许,关键经过经常使用 float32 启动累积运算,并应用配件减速优化,如 Intel Xeon 上的 AMX 配件减速。

SDPA 在处置因果掩码(Causal mask)时,经过在 s_i 缓存中运行掩码来缩小不用要的 GEMM(矩阵乘法)运算,从而进一步提高功能。

实践运行中,经过数据块化技术,可以清楚提高处置效率。

优化环节中遇到的应战包括负载不平衡疑问,须要平衡在不同维度(如批次、头部、数据块)上的并行处置,以确保功能平衡。

此外,内存访问不平衡和并行性疑问也需处置,例如如何让 GEMM 和 pointwise 运算并行口头,以提高全体效率。

虽然存在这些应战,SDPA 优化算法经过逐渐迭代和优化,有效优化了 Transformer 模型在 CPU 上的功能,为大规模言语模型的训练和推理提供了更高效的允许。

Transformer功能优化:运算和显存

Transformer在深度学习畛域中表演着关键角色,尤其在人造言语处置、图像处置等畛域施展着关键作用。

自留意力机制造为Transformer的外围,其简直无成见的个性在少量数据的允许下,为Transformer提供了弱小的建模才干,但同时也带来了运算和显存限度的疑问。

这些疑问使得Transformer在处置长序列疑问时受限。

为处置此疑问,本文将引见一些代表性的上班,论述它们如何优化Transformer的功能。

经典的Transformer结构蕴含编码器(Encoder)和解码器(Decoder)两个部分,关键组件有:多头自留意力(Multi-Head Self-Attention)、位置前馈网络(Position-wise Feed-forward)以及残差衔接(Residual Connect)。

在这一结构中,多头自留意力模块和位置前馈网络模块在运算资源消耗上占据关键位置。

为优化Transformer的功能,钻研者们对结构启动了改良。

一种基于递归衔接的改良方法是Transformer-XL,它经过引入一个记忆形态,将以后段处置时应用前一个段的一切层暗藏向量序列启动综合,以此衔接长文本的一切段落。

在引入片段级递归机制后,Transformer-XL能够清楚提高测试效率,并且随着序列长度的增大而愈发清楚。

为处置每个段落参与相反位置编码造成的序列间位置区分疑问,Transformer-XL驳回相对位置编码,经过计算以后位置与依赖单词的相对位置相关来优化编码环节。

另一种改良方法是引入稠密留意力机制,以缩小计算开支。

Sparse Transformer是早期基于这一思绪的上班之一,它经过从新定义留意力计算环节,提出稠密留意力形式,如Strided Attention和Fixed Attention,区分实用于有法令数据和文本数据,有效降落了Transformer的计算复杂度。

Longformer在此基础上进一步设计了Sliding Window、Dilated Sliding Window和Global Attention三种形式,针对NLP义务专门优化了留意力范围,经过试验验证了其在自回归义务和下游义务上优于原始Transformer的效果。

Reformer则驳回部分哈希算法来失掉每个字符须要关注的范围,经过定义哈希函数和哈希值来对相似的token启动汇集,仅对在桶中的元素启动留意力计算,以此优化Transformer的效率。

在部分敏感哈希的基础上,论文提出多轮哈希试验,验证了其在重复句子预测义务中的效果,展现了部分哈希函数无需训练的高灵敏性。

同时,论文提出了可逆残差结构,经过奇妙拆分防止了在训练环节中记载每层激活值的内存需求,进一步优化了Transformer模型。

Linformer则从低秩合成的角度登程,经过奇特值合成证实了Attention矩阵可以被正当降维,从而将复杂度从平方级降落至线性级。

在实践运行中,Linformer经过给key和value矩阵参与线性变换来成功降维,简化了计算环节。

虽然这种方法成功了高效运转,但在自回归生成义务中存在不可有效覆盖序列消息的毛病,使得Linformer仅实用于MLM预训练义务。

在线性留意力改良中,Linear Transformer和Performer经过引入核函数代替softmax,成功了运算复杂度的降落。

Performer进一步提供了通常证实,经过向量采样和正交化技术来优化核函数映射,使得留意力计算愈加高效。

这些改良方法在长序列相关义务上体现出较高的效率和效果,为处置Transformer在处置长序列疑问时的运算和显存限度提供了有效路径。

总的来说,经过递归衔接、稠密留意力、部分哈希、低秩合成和线性留意力等改良战略,钻研者们在提高Transformer处置长序列义务的功能和效率方面取得了清楚成绩。

这些优化方法不只无通常上提供了深化了解,而且在通常中为Transformer模型的运行提供了更宽泛的或者性。

有什么要留意的 网站TDK如何填写
« 上一篇 2024-10-28
结构提升设计方法简介
下一篇 » 2024-10-28

文章评论