张大妈

从零构建大模型(三):注意力(Attention)机制

源自知乎:Arantir

01-29 20:54

从早期RNN的串行处理瓶颈,到如今Transformer的并行计算优势,注意力机制是贯穿始终的核心突破。它让模型不再局限于单一上下文向量,而是能动态聚焦于输入序列的关键部分,为解决长距离依赖问题提供了全新思路,是理解现代大语言模型不可或缺的一环。

从零构建大模型(三):注意力(Attention)机制智能速览

  • RNN的串行处理方式存在信息瓶颈,难以处理长序列。

  • 注意力机制允许解码器动态访问源序列信息,突破传统限制。

  • 自注意力机制通过Q、K、V矩阵实现可学习的上下文理解。

  • 缩放点积注意力解决了高维计算中的数值不稳定问题。

  • 因果注意力确保自回归模型生成时无法“偷看”未来信息。

  • 多头注意力机制并行处理,捕捉不同维度的语义关系。

从零构建大模型(三):注意力(Attention)机制精华内容

从信息瓶颈到全局视野,注意力机制如何彻底改变了语言模型处理上下文的方式,奠定了现代大语言模型的基石。

RNN的先天瓶颈

在Transformer出现之前,编码器-解码器RNN架构是序列处理的主流。其工作原理是将整个输入序列压缩成一个固定长度的上下文向量,再由解码器基于此向量生成输出。

这种设计的根本缺陷在于,所有输入信息必须被塞进一个向量里,导致长句子中的早期信息在编码过程中极易丢失。这就像一个人听完长篇故事后,仅凭模糊的记忆去复述,无法随时回头查阅原文细节,严重制约了模型处理复杂语言的能力。

注意力机制的引入

为解决RNN的瓶颈,2014年Bahdanau等人提出了注意力机制。它允许解码器在生成每个词时,都能“回头看”编码器所有时间步的隐藏状态,并动态地赋予不同状态不同的权重。

这意味着模型不再依赖单一的中间向量,而是能根据当前生成任务,有选择性地关注输入序列中的相关部分。这一改进显著提升了机器翻译等任务的质量,但其底层的RNN结构仍然限制了计算效率,无法实现真正的并行化。

自注意力的革新

Transformer架构彻底抛弃了RNN,引入了自注意力机制。其核心思想是为输入序列中的每个词生成一个融合了全局信息的上下文向量。

实现方式是引入三个可训练的权重矩阵,将每个词的输入向量分别映射为查询、键和值向量。计算过程可以类比为:用当前词的Query去匹配所有词的Key,根据匹配度(注意力分数)从Value中提取信息,最后加权融合成新的表示。

这种方法让序列中每个位置都能直接与所有其他位置交互,实现了全并行计算,并高效捕获了长距离依赖关系。

关键技术优化

在实际应用中,自注意力机制包含两个关键的技术优化。首先是缩放点积注意力。当向量维度很高时,点积结果的数值会变得很大,导致梯度消失。通过对点积结果除以键向量维度的平方根进行缩放,可以有效缓解这一问题,让模型训练更稳定。

其次是因果注意力,这是GPT等自回归语言模型的关键。它通过引入一个下三角掩码,确保模型在预测当前位置的词时,只能关注到它自己和之前的词,而不能“偷看”未来的信息,从而保证了文本生成的因果逻辑。

多头注意力的威力

单一的注意力头可能只学习到一种特定类型的语义关系。为了增强模型的表达能力,Transformer采用了多头注意力机制。它将输入向量通过多组独立的线性变换,生成多套Q、K、V,并行运行多个自注意力“头”。

每个头可以关注不同的信息子空间,比如一个头可能关注语法结构,另一个头则关注语义关联。最后将所有头的输出拼接并进行线性变换,从而得到更丰富、更多维度的上下文表示。这种设计显著提升了模型对复杂语言模式的捕捉能力。

内容由AI生成
0
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章