一、说明
- 当前主流大模型架构为因果解码器架构
- 以下参数量计算以LLaMA为例
- 假设解码器有L层、词表大小为V
二、参数量组成部分及计算
1、输入嵌入层【VH】
词表大小为V,每个单次映射到一个H维的向量,且输入嵌入层只有一层,因此有VH个参数
2、多头自注意力层【4LH²】
解码器的每一层都包含一个多头自注意力层,查询、键、值三个组成变换矩阵,1个包含H²个参数,共3H²个参数,同事还需要1个额外的线性变换来将多头自注意力机制的输出拼接成最终的输出,有需要H²个参数,总共需要4LH²个参数
3、前馈网络层【3LHH´】
由三个线性变换组成,中间有一个非线性激活函数,前两个线性变换将输入从H维映射到H´维度,需要2HH´个参数,最后一个线性变换将输出从H´维映射回H维,需要HH´个参数,总共需要3HH´个参数
4、归一化层【2HL+H】
每层解码器包含两个RMSNorm操作,分别用于多头注意力层和前馈网络层的输入进行归一化处理,共有2LH个参数,最后一层也有一个归一化层,需要H个参数
5、输出层【VH】
输出层包含一个线性变换,将解码器的输出映射到词表大小V的维度,使用Softmax归一化后预测下一个单词的概率分布,需要VH个参数
三、计算过程
输入嵌入层VH+多头自注意力层4LH² +前馈网络层3LHH´+归一化层2LH+H +输出层VH
= 2VH + H + L(4H² + 3HH´ + 2H)