Transformer注意力机制
从端到端的角度来看,数据在Transformer中的流转可以概括为四个阶段:Embedding(嵌入)、Attention(注意力机制)、MLPs(多层感知机)和Unembedding(从模型表示到最终输出)。
Embedding -> Attention -> MLPs -> Unembedding
下面对第二个阶段Attention(注意力机制)进行详细介绍:
Attention(注意力机制)的目的:
-
在自然语言处理(NLP)中,嵌入向量(Embedding Vector)是单词或文本片段的数值表示,它们捕捉了这些单词或文本片段的语义信息。
-
嵌入向量作为输入传递给Transformer的Attention模块时,Attention模块会通过Q、K、V计算注意力权重,从而分析这些向量,使得Embedding向量间能够相互"交流"并根据彼此信息更新自身的值。
-
Attention模块的主要作用是确定在给定上下文中哪些嵌入向量与当前任务最相关,并据此更新或调整这些嵌入向量的表示。
-
这种“相关性”通常基于单词之间的语义关系,即它们如何相互关联以形成有意义的句子或段落。
Attention的目的
Attention(注意力机制)的工作流程:
-
生成Q、K、V向量:对于输入序列中的每个单词,都会生成对应的Query(查询)、Key(键)和Value(值)向量。这些向量通常是通过将单词的嵌入向量(Embedding Vector)输入到一个线性变换层得到的。
-
计算Q、K的点积(注意力分数):Attention机制会计算Query向量与序列中所有单词的Key向量之间的点积(或其他相似度度量),得到一个分数。这个分数反映了Query向量与每个Key向量之间的相似度,即每个单词与当前位置单词的关联程度。
-
Softmax函数归一化(注意力权重):这些分数会经过一个Softmax函数进行归一化,得到每个单词的注意力权重。这些权重表示了在理解当前单词时,应该给予序列中其他单词多大的关注。
-
注意力权重加权求和(加权和向量):这些注意力权重与对应的Value向量进行加权求和,得到一个加权和向量。这个加权和向量会被用作当前单词的新表示,包含了更丰富的上下文信息。
-
在处理每个单词时,模型都能够考虑到整个输入序列的信息,并根据单词之间的语义关系来更新单词的表示。这使得Transformer模型能够能够更准确地理解单词在当前上下文中的含义,进而解决上下文依赖问题。
Attention的工作流程
Attention(注意力机制)的实际案例:
-
以单词“model”为例,在“machine learning model”(机器学习模型)和“fashion model”(时尚模特)这两个不同的上下文中,它的含义是不同的。
-
当Attention模块处理包含“model”的句子时,它会查看句子中的其他单词(如“machine learning”或“fashion”),并确定这些单词与“model”之间的语义关系。
-
Attention模块会计算一个权重,该权重表示其他单词对理解“model”在当前上下文中的含义的重要性。这些权重被用来更新“model”的嵌入向量,以便更好地反映其在当前上下文中的意义。
-
Attention模块的作用就是确定上下文中哪些词之间有语义关系,以及如何准确地理解这些含义,更新相应的向量。
Attention的实际案例
参考资料
- https://www.3blue1brown.com/lessons/gpt
大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业
?”“谁的饭碗又将不保了?
”等问题热议不断。
不如成为「掌握AI工具的技术人
」,毕竟AI时代,谁先尝试,谁就能占得先机!
但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高
针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料
分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓
👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈