马格南摄影网站,怎样建个自己的网站,it培训班大概需要多少钱,移动互联网的主要特点1. 前言
最近#xff0c;OpenAI推出的ChatGPT展现出了卓越的性能#xff0c;引发了大规模语言模型(Large Language Model, LLM)的研究热潮。大规模语言模型的“大”体现在两个方面#xff1a;模型参数规模大#xff0c;训练数据规模大。以GPT3为例#xff0c;GPT3的参数量…1. 前言
最近OpenAI推出的ChatGPT展现出了卓越的性能引发了大规模语言模型(Large Language Model, LLM)的研究热潮。大规模语言模型的“大”体现在两个方面模型参数规模大训练数据规模大。以GPT3为例GPT3的参数量为1750亿训练数据量达到了570GB。进而训练大规模语言模型面临两个主要挑战显存效率和计算效率。
现在业界的大语言模型都是基于transformer模型的模型结构主要有两大类encoder-decoder代表模型是T5和decoder-only具体的decoder-only结构又可以分为Causal LM代表模型是GPT系列和Prefix LM代表模型是GLM。归因于GPT系列取得的巨大成功大多数的主流大语言模型都采用Causal LM结构。因此针对decoder-only框架为了更好地理解训练训练大语言模型的显存效率和计算效率.
完整的Transformer模型包括encoder和decoder而GPT只使用了decoder部分且因为少了encoder所以和原始的Transformer decoder相比不再需要encoder-decoder attention层对比图如下 本文分析采用decoder-only框架transformer模型的模型参数量、计算量、中间激活值、KV cache。 为了方便分析先定义好一些数学符号。记transformer模型的层数为 L 隐藏层维度为 h 注意力头数为 a。词表大小为 V训练数据的批次大小为 b 序列长度为 s。
2. 模型参数量
可以参考[NLP] BERT模型参数量_奇思闻影的舒克与贝克的博客-CSDN博客
基本方法一样
transformer模型由 L个相同的层组成每个层分为两部分self-attention块和MLP块。
Self-attention模块参数包含Q, K V 的权重矩阵Wq, Wk, Wv 输出及偏置Bias4个权重矩阵形状为[h, h],4个偏置形状为[h], Self-attention参数量为4 4h
MLP块由2个线性层组成一般地第一个线性层是先将维度从 h 映射到 4h 第二个线性层再将维度从4h映射到h。第一个线性层的权重矩阵 W1 的形状为 [h,4h] 偏置的形状为 [4h] 。第二个线性层权重矩阵 W2 的形状为 [4h,h] 偏置形状为 [h] 。MLP块的参数量为 8 5h
self-attention块和MLP块各有一个layer normalization包含了2个可训练模型参数缩放参数 gaama和平移参数 beta 形状都是 [h] 。2个layer normalization的参数量为 4h 。 总的每个transformer层的参数量为12 13h
除此之外词嵌入矩阵的参数量也较多词向量维度通常等于隐藏层维度 h 词嵌入矩阵的参数量为 Vh 。最后的输出层的权重矩阵通常与词嵌入矩阵是参数共享的。
关于位置编码如果采用可训练式的位置编码会有一些可训练模型参数数量比较少。如果采用相对位置编码例如RoPE和ALiBi则不包含可训练的模型参数。我们忽略这部分参数。 综上 L层transformer模型的可训练模型参数量为 L(12 13h)Vh 。当隐藏维度 h 较大时可以忽略一次项模型参数量近似为 12L
接下来我们估计不同版本LLaMA模型的参数量。
实际参数量隐藏维度h层数l12L6.7B4096326,442,450,94413.0B51204012,582,912,00032.5B66566031,897,681,92065.2B81928064,424,509,440 特此声明此文主体参考知乎文章https://zhuanlan.zhihu.com/p/624740065在此感该作者“回旋托马斯x”的辛苦付出 参考
[1] https://arxiv.org/pdf/1706.03762.pdf [2] https://arxiv.org/pdf/2302.13971.pdf [3] https://arxiv.org/pdf/2104.04473.pdf [4] https://zhuanlan.zhihu.com/p/624740065