datawhale组队学习--大语言模子—task4:Transformer架构及详细设置 ...

打印 上一主题 下一主题

主题 934|帖子 934|积分 2802

第五章  模子架构

  
  在前述章节中已经对预训练数据的预备流程(第 4 章)举行了介绍。本章主 要讨论大语言模子的模子架构选择,主要围绕 Transformer 模子(第 5.1 节)、详细 设置(第 5.2 节)、主流架构(第 5.3 节)、长上下文模子(第 5.4 节)以及创新型 模子 5.5 节)等五个主要方面展开讨论。表 5.1 列举了一些典范的大语言模子的详细设置。
  5.1 大语言模子架构设置表(L 表现层数,N 表现注意力头数,H 表现隐蔽状态的巨细)
  
模子
类别
巨细
归一化
位置编码
激活函数
L
N
H
GPT-3
因果
175B
Pre Layer
Learned
GELU
96
96
12288
PanGU-

因果
207B
Pre Layer
Learned
GELU
64
128
16384
OPT
因果
175B
Pre Layer
Learned
ReLU
96
96
12288
PaLM
因果
540B
Pre Layer
RoPE
SwiGLU
118
48
18432
BLOOM
因果
176B
Pre Layer
ALiBi
GELU
70
112
14336
MT-NLG
因果
530B
-

-

-

105
128
20480
Gopher
因果
280B
Pre RMS
Relative
-

80
128
16384
Chinchilla
因果
70B
Pre RMS
Relative
-

80
64
8192
Galactica
因果
120B
Pre Layer
Learned
GELU
96
80
10240
LaMDA
因果
137B
-

Relative
GeGLU
64
128
8192
Jurassic-1
因果
178B
Pre Layer
Learned
GELU
76
96
13824
LLaMA-2
因果
70B
Pre RMS
RoPE
SwiGLU
80
64
8192
Pythia
因果
12B
Pre Layer
RoPE
GELU
36
40
5120
Baichuan-2
因果
13B
Pre RMS
ALiBi
SwiGLU
40
40
5120
Qwen-1.5
因果
72B
Pre RMS
RoPE
SwiGLU
80
64
8192
InternLM-2
因果
20B
Pre RMS
RoPE
SwiGLU
48
48
6144
Falcon
因果
180B
Pre Layer
RoPE
GELU
80
232
14848
MPT
因果
30B
Pre Layer
ALiBi
GELU
48
64
7168
Mistral
因果
7B
Pre RMS
RoPE
SwiGLU
32
32
4096
Gemma
因果
7B
Pre RMS
RoPE
GELU
28
16
3072
DeepSeek
因果
67B
Pre RMS
RoPE
SwiGLU
95
64
8192
Yi
因果
34B
Pre RMS
RoPE
SwiGLU
60
56
7168
YuLan
因果
12B
Pre RMS
RoPE
SwiGLU
40
38
4864
GLM-130B
前缀
130B
Post Deep
RoPE
GeGLU
70
96
12288
T5
编-解
11B
Pre RMS
Relative
ReLU
24
128
1024
  5.1.Transformer 模子

           当前主流的大语言模子都基于 Transformer 模子举行设计的。Transformer 是由 多层的多头自注意力(Multi-head Self-attention)模块堆叠而成的神经网络模子。原 始的 Transformer 模子由编码器和解码器两个部分构成,而这两个部分现实上可以 独立使用,例如基于编码器架构的 BERT 模子和解码器架构的 GPT 模子。 与 BERT 等早期的预训练语言模子相比,大语言模子的特点是使用了更长的向量 维度、更深的层数,进而包含了更大规模的模子参数,并主要使用解码器架构,对 于 Transformer 本身的结构与设置改变并不大。本部分内容将起首介绍 Transformer 模子的基本组成,包括底子的输入、多头自注意力模块和前置网络层;接着分别 介绍 Transformer 模子中的编码器和解码器模块。
  5.1.1  输入编码

          在 Transformer 模子中,输入的词元序列 (
= [
,
,. . . ,
 ]) 起首经过一个 输入嵌入模块(Input Embedding Module)转化成词向量序列。详细来说,为了捕捉 词汇本身的语义信息,每个词元在输入嵌入模块中被映射成为一个可学习的、具有固定维度的词向量
 。由于 Transformer 的编码器结构本身无法辨认序列中元素的顺序,位置编码(Position Embedding, PE)被引入来表现序列中的位置信 息。给定一个词元
 ,位置编码根据其在输入中的绝对位置分配一个固定长度的 嵌入向量
 。然后,每个词元对应的词向量和位置向量将直接相加,生成了 最终的输入嵌入序列 X = [
,. . . ,
 ],而且被传入到后续层中:
                                                                               
 =
 +
                                                 (5.1)
          通过这种建模方法的表现,Transformer 模子可以使用位置编码
 建模差别词元 的位置信息。由于差别词元的位置编码仅由其位置唯一决定,因此这种位置建模方式被称为绝对位置编码。尽管绝对位置编码能够肯定程度上建模位置信息,然而它只能局限于建模训练样本中出现的位置,无法建模训练数据中未出现过的位 置,因此极大地限定了它们处理长文本的能力。
  5.1.2  多头自注意力机制

           多头自注意力是 Transformer 模子的核心创新技能。相比于循环神经网络(Re- current Neural Network, RNN)和卷积神经网络(Convolutional Neural Network, CNN) 等传统神经网络,多头自注意力机制能够直接建模任意间隔的词元之间的交互关系。在卷积神经网络中,只有位于同一个卷积核的窗口中的词元可以直接举行交互,通过堆叠层数来实现远间隔词元间信息的交换。
          多头自注意力机制通常由多个自注意力模块组成。在每个自注意力模块中,对 于输入的词元序列,将其映射为相应的查询(Query, Q)、键(Key, K)和值(Value,V) 三个矩阵。然后,对于每个查询,将和全部没有被掩盖的键之间计算点积。这 些点积值进一步除以
举行缩放(D是键对应的向量维度),被传入到 softmax函数中用于权重的计算。进一步,这些权重将作用于与键相干联的值,通过加权和的情势计算得到最终的输出。在数学上,上述过程可以表现为:
                                                                                     Q=
,                                           (5.2)
                                                                                      K=
,                                          (5.3)
                                                                                      V=
,                                          (5.4)
  
                                                Attention(Q, K, V) = softmax( Q
/
 )V.                  (5.5)

          与单头注意力相比,多头注意力机制的主要区别在于它使用了H组结构相同 但映射参数差别的自注意力模块。输入序列起首通过差别的权重矩阵被映射为一 组查询、键和值。每组查询、键和值的映射构成一个“头”,并独立地计算自注意 力的输出。末了,差别头的输出被拼接在一起,并通过一个权重矩阵
 举行映射,产生最终的输出。如下面的公式所示:
                                               MHA = Concat(
,. . . ,
) 
                                  (5.6)
                                               
= Attention(
,
,  
).                                 (5.7)
          由上述内容可见,自注意力机制能够直接建模序列中任意两个位置之间的关 系,进而有用捕捉长程依赖关系,具有更强的序列建模能力。另一个主要的优势 是,自注意力的计算过程对于基于硬件的并行优化(如 GPU、TPU 等)非常友爱, 因此能够支持大规模参数的高效优化。
  5.1.3  前馈网络层

   为了学习复杂的函数关系和特性,Transformer 模子引入了一个前馈网络层
  (Feed Forward Netwok, FFN),对于每个位置的隐蔽状态举行非线性变动和特性 提取。详细来说,给定输入 x,Transformer 中的前馈神经网络由两个线性变动和 一个非线性激活函数组成:
                                          FFN(X) =

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

灌篮少年

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表