Datawhale大语言模型-Transformer以及模型详细配置

Datawhale大语言模型-Transformer以及模型详细配置

Transformer模型

当前主流的大语言模型都基于 Transformer 模型进行设计的。Transformer 是由多层的多头自注意力(Multi-head Self-attention 模块堆叠而成的神经网络模型。原始的 Transformer 模型由编码器和解码器两个部分构成,而这两个部分实际上可以独立使用,例如基于编码器架构的 BERT 模型 [13] 和解码器架构的 GPT 模型 [14]。

与 BERT 等早期的预训练语言模型相比,大语言模型的特点是使用了更长的向量维度、更深的层数,进而包含了更大规模的模型参数,并主要使用解码器架构,对于 Transformer 本身的结构与配置改变并不大。

下面对Transformer的每一个模块进行介绍

位置编码

  • 可以通过训练学校得到,也可以事先指定
  • 在输入词嵌入当中引入位置编码,将绝对或者相对位置信息注入

前馈层网络

  • 用于学习复杂的函数关系和特征
    F F N ( X ) = σ ( X W U + b 1 ) W D + b 2 FFN(X)=\sigma(XW^U+b_1)W^D+b_2 FFN(X)=σ(XWU+b1)WD+b2

注意力机制

一种基于相似度的查表

  • 计算query与key的相似度
    e i j = q i T k j e_{ij}=q_i^Tk_j eij=qiTkj
  • 相似度规范化
    α i j = e x p ( e i j ) ∑ j ′ e x p ( e i j ′ ) \alpha_{ij}=\frac{exp(e_{ij})}{\sum_{j'}exp(e_{ij'})} αij=∑j′exp(eij′)exp(eij)
  • 对value进行加权求和
    o i = ∑ j α i j v i o_i=\sum_{j}\alpha_{ij}v_i oi=j∑αijvi

多头自注意力

该部分属于是Transformer当中的核心创新技术

  • 多头自注意力机制能够直接建模任意距离的词元之间的交互关


    多头自注意力机制通常由多个自注意力模块组成。在每个自注意力模块中,对于输入的词元序列,将其映射为相应的查询(Query, 𝑸)、键(Key, 𝑲)和值(Value,𝑽)三个矩阵。然后,对于每个查询,将和所有没有被掩盖的键之间计算点积。这些点积值进一步除以 D \sqrt D D 进行缩放(𝐷 是键对应的向量维度),被传入到 softmax函数中用于权重的计算 。进一步,这些权重将作用于与键相关联的值,通过加权和的形式计算得到最终的输出。在数学上,上述过程可以表示为:
    Q = X W Q K = X W K V = X W V A t t e n s t i o n ( Q , K , V ) = s o f t m a x ( Q K T D ) V Q=XW^Q\\ K=XW^K\\ V=XW^V\\ Attenstion(Q,K,V)=softmax(\frac{QK^T}{\sqrt D})V Q=XWQK=XWKV=XWVAttenstion(Q,K,V)=softmax(D QKT)V
    与单头注意力相比,多头注意力机制的主要区别在于它使用了 𝐻 组结构相同但映射参数不同的自注意力模块。输入序列首先通过不同的权重矩阵被映射为一组查询、键和值。每组查询、键和值的映射构成一个"头",并独立地计算自注意力的输出。这使得自注意力的计算可以更好的基于硬件去进行优化,这也是其成为主流的大语言模型的方法之一

编码器

将输入变换为隐藏层的特征

  • 将每个输入词元都编码成一个上下文语义相关的表示向量
  • 编码器结构由多个相同的层堆叠 而成,其中每一层都包含多头自注意力模块前馈网络模块
    X l ′ = LayerNorm ⁡ ( MHA ⁡ ( X l − 1 ) + X l − 1 ) , X l = LayerNorm ⁡ ( FFN ⁡ ( X l ′ ) + X l ′ ) , \begin{array}{l} \boldsymbol{X}{l}^{\prime}=\operatorname{LayerNorm}\left(\operatorname{MHA}\left(\boldsymbol{X}{l-1}\right)+\boldsymbol{X}{l-1}\right), \\ \boldsymbol{X}{l}=\operatorname{LayerNorm}\left(\operatorname{FFN}\left(\boldsymbol{X}{l}^{\prime}\right)+\boldsymbol{X}{l}^{\prime}\right), \end{array} Xl′=LayerNorm(MHA(Xl−1)+Xl−1),Xl=LayerNorm(FFN(Xl′)+Xl′),

解码器

将隐藏层的特征变换为自然语言序列

与编码器不同,解码器需要引入掩码自注意力(Masked Self-attention)模块 ,用来在计算注意力分数的时候掩盖当前位置之后的词,以保证生成目标序列时不依赖于未来的信息

在训练过程中,解码器可以通过一次前向传播,让每个词元的输出用于预测下一个词元

Y l ′ = LayerNorm ⁡ ( MaskedMHA ⁡ ( Y l − 1 ) + Y l − 1 ) , Y l ′ ′ = LayerNorm ⁡ ( CrossMHA ⁡ ( Y l ′ , X L ) + Y l ′ ) , Y l = LayerNorm ⁡ ( FFN ⁡ ( Y l ′ ′ ) + Y l ′ ′ ) , \begin{aligned} \boldsymbol{Y}{l}^{\prime} & =\operatorname{LayerNorm}\left(\operatorname{MaskedMHA}\left(\boldsymbol{Y}{l-1}\right)+\boldsymbol{Y}{l-1}\right), \\ \boldsymbol{Y}{l}^{\prime \prime} & =\operatorname{LayerNorm}\left(\operatorname{CrossMHA}\left(\boldsymbol{Y}{l}^{\prime}, \boldsymbol{X}{L}\right)+\boldsymbol{Y}{l}^{\prime}\right), \\ \boldsymbol{Y}{l} & =\operatorname{LayerNorm}\left(\operatorname{FFN}\left(\boldsymbol{Y}{l}^{\prime \prime}\right)+\boldsymbol{Y}{l}^{\prime \prime}\right), \end{aligned} Yl′Yl′′Yl=LayerNorm(MaskedMHA(Yl−1)+Yl−1),=LayerNorm(CrossMHA(Yl′,XL)+Yl′),=LayerNorm(FFN(Yl′′)+Yl′′),

大语言模型的参数配置

考虑因素如下

  • 归一化方法
  • 位置编码
  • 激活函数
  • 注意力计算

归一化

为了应对训练过程当中不稳定这一问题,深度学习方法通常会采用特定的归一化策略来加强神经网络训练过程的稳定性。

激活函数

前馈网络中激活函数的选择对于大语言模型的表现至关重要。通常来说,激活函数主要是为神经网络中引入非线性变化,从而提升神经网络的模型能力

位置编码

由于 Transformer 模型中自注意力模块具有置换不变性,因此仅使用注意力机制无法捕捉序列中的顺序关系 ,从而退化为"词袋模型"。为了解决这一问题,需要引入位置编码(Position Embedding, PE)对于序列信息进行精确建模,从而将绝对或相对位置信息整合到模型中。

旋转位置编码

使用了基于绝对位置信息的旋转矩阵来表示注意力中的相对位置信息

为序列中每个绝对位置设置了特定的旋转矩阵 R θ , t R_{\theta,t} Rθ,t(位置索引为t)

代码内容实现

注意力机制

参考资料

DataWhale组队学习资料:https://www.datawhale.cn/learn/content/107/3295

Transformer动画演示:https://www.bilibili.com/video/BV1vN9gYZEj8/?spm_id_from=333.1387.favlist.content.click&vd_source=5a776c1236491cc434fff497ee1d79a5

相关推荐
CODECOLLECT5 分钟前
技术解析|MDM移动设备管理系统无终身买断制度的底层逻辑
人工智能
北京迅为9 分钟前
《【北京迅为】itop-3568开发板NPU使用手册》- 第 7章 使用RKNN-Toolkit-lite2
linux·人工智能·嵌入式·npu
我是一只puppy15 分钟前
使用AI进行代码审查
javascript·人工智能·git·安全·源代码管理
阿杰学AI16 分钟前
AI核心知识91——大语言模型之 Transformer 架构(简洁且通俗易懂版)
人工智能·深度学习·ai·语言模型·自然语言处理·aigc·transformer
esmap18 分钟前
ESMAP 智慧消防解决方案:以数字孪生技术构建全域感知消防体系,赋能消防安全管理智能化升级
人工智能·物联网·3d·编辑器·智慧城市
LaughingZhu23 分钟前
Product Hunt 每日热榜 | 2026-02-08
大数据·人工智能·经验分享·搜索引擎·产品运营
芷栀夏32 分钟前
CANN ops-math:筑牢 AI 神经网络底层的高性能数学运算算子库核心实现
人工智能·深度学习·神经网络
用户51914958484533 分钟前
CVE-2025-47812:Wing FTP Server 高危RCE漏洞分析与利用
人工智能·aigc
阿里云大数据AI技术38 分钟前
【AAAI2026】阿里云人工智能平台PAI视频编辑算法论文入选
人工智能
玄同76540 分钟前
我的 Trae Skill 实践|使用 UV 工具一键搭建 Python 项目开发环境
开发语言·人工智能·python·langchain·uv·trae·vibe coding