基于Transformer架构训练LLM大语言模型:Transformer架构工作原理

视频讲解:Transformer架构的工作原理讲解_哔哩哔哩_bilibili

一 Transformer架构总体架构

1 总体架构图

总体架构说明:

输入层

  • 词嵌入(Word Embeddings): 输入文本中的每个词都被映射到一个高维空间中的向量,这些向量捕捉到了词义信息。
  • 位置编码(Positional Encoding): 为了使模型能够区分输入序列中词的位置信息,位置编码被加到词嵌入之上。位置编码确保模型知道每个词在其所在序列中的相对或绝对位置。

编码器(Encoder)

  • 多头注意力(Multi-head Attention): Transformer使用自注意力机制让每个位置的词与序列中的所有其他位置进行交互。多头注意力意味着将注意力机制分解成多个并行的注意力函数,每个函数有不同的参数,从而模型可以从不同的表示子空间中聚合信息。
  • 前馈神经网络(Feed Forward Neural Networks): 每个编码器层后面都有一个完全连接的前馈网络,用于对信息进行进一步处理。
  • 残差连接与层归一化(Residual Connections and Layer Normalization): 在每个多头注意力层和前馈网络层之后,都添加了残差连接,并跟随一个层归一化步骤,以帮助缓解梯度消失问题,并加速训练过程。

解码器(Decoder)

  • 掩码多头自注意力(Masked Multi-head Self-Attention): 在解码器中,除了多头注意力外,还会在序列生成过程中使用掩码技术来防止解码器访问未来的目标词。
  • 编码器-解码器多头注意力(Encoder-Decoder Multi-head Attention): 解码器层还包含一个额外的多头注意力层,它允许解码器中的位置直接关注编码器中的所有位置。

输出层

  • 线性层与Softmax层: 解码器的最后一层通常是一个线性层,用于将每个位置的输出投影到目标词汇表大小的维度上。紧接着是一个Softmax层,将这些值转换为概率分布,用于生成下一个词的概率。

2 Transformer架构工作原理

2.1 目的

输入英语你好:hao are you,输出德语你好:hao bist du

【步骤分解】

步骤说明:

  1. 输入:hao are you - 这个阶段将原始文本序列(如句子或单词)转换为向量表示。每个词被映射到一个固定长度的向量,这个过程通常通过词汇表和词嵌入层完成。

  2. Positional Encoding - 在词嵌入之后,位置编码会被添加到这些向量中。位置编码是一种方法,它使模型能够理解输入序列中不同元素的位置关系,因为神经网络本身无法捕获顺序信息。

  3. Multi-Head Attention - Transformer使用多头注意力机制来计算输入序列中各个位置之间的相关性。这包括自注意力(self-attention)和交叉注意力(cross-attention),具体取决于是在编码器还是解码器中进行操作。

  4. Add & Norm - 在注意力层之后,有一个残差连接(residual connection)和层归一化(layer normalization),以帮助梯度流过深层网络并保持稳定训练。

  5. Feed Forward Network (FFN) - 接下来是一个全连接的前馈神经网络,通常由两个线性层组成,中间夹着一个激活函数(例如ReLU)。FFN对来自上一层的输出进行非线性变换。

  6. Output Probabilities - 最后,经过一系列编码器和解码器层后的输出会通过一个softmax层,生成一个概率分布,表示模型对于给定输入最可能的输出预测。

二 Transformer架构解码器解剖图

四 多头掩码注意力机制工作原理

【说明】

自注意力机制详解

自注意力机制是Transformer的核心。它允许模型在给定一个序列的情况下,计算出序列中每个元素(如单词)与其他元素之间的关系。这种关系通过一个权重矩阵来表示,这个权重矩阵决定了在生成某个位置的输出时,应该更多地考虑哪些输入位置。

具体步骤如下:

  1. 线性变换:将输入向量(如单词嵌入)通过不同的线性变换(即矩阵乘法)得到查询向量(Query)、键向量(Key)和值向量(Value)。
  2. 注意力得分:计算查询向量与所有键向量之间的点积得分,并除以键向量的平方根维度以缩放得分,避免梯度消失。
  3. 应用softmax:对每个位置的得分应用softmax函数,将得分转化为概率分布,这些概率表示了查询向量应该从其他位置获取多少信息。
  4. 加权求和:根据这些概率分布,对所有值向量进行加权求和,得到最终的注意力输出。

多头注意力

多头注意力通过将上述过程重复多次来增强模型的能力,每次使用不同的线性变换(不同的权重矩阵)。这意味着每个“头”实际上是在不同的表示空间中进行自注意力计算。最终,所有头的输出被拼接在一起,并通过一个额外的线性变换得到最终的输出。

这样做有几个好处:

  • 捕捉不同粒度的信息:每个头可以专注于不同的特征或模式。
  • 增加模型容量:多头注意力增加了模型的参数数量,提高了模型的表达能力。
  • 提高稳定性:通过在多个子空间中进行注意力计算,可以减少单一注意力头过拟合的风险。

五 多头掩码注意力机制公式

  • 24
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值