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 越大,学习率越小。
花粉社群VIP加油站
猜你喜欢