自学内容网 自学内容网

动手学LLM(ch3)——编码注意力机制

前言

在ch2中,你学习了如何准备用于训练 LLM 的输入文本。这涉及将文本拆分为单独的单词和子单词标记,这些标记可以编码为LLM的向量表示,即所谓的嵌入。在本文中,我们现在将研究 LLM 架构本身的一个组成部分,即注意力机制。如下图所示

注意力机制是一个综合性的话题,这就是为什么我们用一整篇文章来讨论它。我们将在很大程度上孤立地看待这些注意力机制,并在机制层面上关注它们。在后面的内容中,我们将围绕自注意力机制对 LLM 的其余部分进行编码,以查看它的实际效果并创建一个模型来生成文本。在本文中,我们将实现四种不同的注意力机制变体 ,如下图所示,描述了我们将在本文中编写的不同注意力机制,从简化版本的自我注意力开始,然后添加可训练的权重。因果注意机制为自我注意力添加了一个掩码,允许 LLM 一次生成一个单词。最后,多头注意力将注意力机制组织成多个头,使模型能够并行捕获输入数据的各个方面。这些不同的注意力变体是相互构建的,目标是在本文末尾实现一个紧凑而高效的多头注意力实现,然后我们可以将其插入到我们后面中编写的 LLM 架构中。

本文内容从以下几个方面展开

- 探索在神经网络中使用注意力机制的原因

- 引入基本的自我注意力框架并逐步发展到增强的自我注意力机制

- 实现因果注意力模块,允许 LLM 一次生成一个令牌

- 用丢弃来掩盖随机选择的注意力权重,以减少过度拟合

- 将多个因果注意力模块堆叠到一个多头注意力模块中

3.1 长序列建模的问题 

待续......


原文地址:https://blog.csdn.net/m0_56569131/article/details/142831857

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!