GPT-3 1750 亿模型参数分布解析

GPT-3 1750 亿参数,已经不是一般机构玩转的动,要分析GPT-3 参数构成,我们先分析 Transformer 中核心结构由encoder-decoder 构成,当前的LLMs模型基本是encoder 结构或者decoder 结构,而一个encoder 块,由Mutil-Head-Attention 和FFN 构成,然后在这中间,LayerNorm 穿插其中,下面主要从这三部分进行解析: 是模型的输入/输出维度(单词的嵌入embedding 维度)

表示模型的前馈神经网络FFN隐藏层维度;

表示注意力头的个数

表示注意的层数

1.Mutil-Head-Attention

Mutil-Head-Attention

注意力部分包含Q,K,V 三个矩阵,以及一个线性输出层:

Q、K、V 矩阵大小均为 , 总的大小为

再加上concat 之后的linear 层,参数大小为

即Mutil-Head-Attention 部分总的参数大小为

2.FFN

FFN 层是一个两层的线性层,中间使用激活函数衔接:

FFN 层计算表达式

输入-隐藏层矩阵w1 维度:

隐藏层-输出矩阵​w2 维度:

因此,每个前馈神经网络子层矩阵有​个参数, 偏置项b 有 , 在原版的transformer 论文中

那么FFN 层总的参数:

3.LayerNorm 层参数

根据layerNorm 的计算特点知道,每个layerNorm 层需要 学习一个线性参数u, 以及一个偏置b,两者维度为,所以总参数为, 在一个encoder模块中有两层layerNorm,所以

总结: 一个transformer encoder 或者decoder 模块中参数量为:

其中模型参数,主要集中在FFN 层,FFN 参数和self-attention 部分注意参数占比约为

2:1

下面具体回到GPT-3 结构,原版论文GPT-3 训练了几个规模大小的模型,作者通过标准的Transformer 结构就能分析到GPT-3 模型相关参数分布了,唯一细微差别是,GPT-3 中,使用了spars-transformer 结构,但是这个不影响我们对GPT-3 参数进行一个单子分析。

GPT-3 相关结构参数

从这个表中可以看出,在训练GPT-3规模上,参数规模越大,barch 越大,学习率越小。