关于GPT-4的参数数量、架构、基础设施、训练数据集、成本等信息泄露
品玩7月11日讯,据Twitter博主Yam Peleg的推文,发布了一个关于GPT-4的技术信息,包括GPT-4的架构、参数数量、训练成本、训练数据集等。
- 参数数量:GPT-4比GPT-3大10倍,估计参数数量在120层、1.8万亿左右。
- MoE架构:即Mixture-of-Experts架构,这部分信息已经确认,OpenAI通过利用MoE架构保持一定的成本,包含16个Experts,每一个都是一个MLP.2,约1110亿参数,每个前向传播都被路由到这些专家中
- MoE路由:尽管公开的技术文档中说了很多高级的路由功能,包括每个token如何选择每个专家等。但是现有GPT-4其实非常简单,大约就是为每个attention共享550亿参数的方式。
- 推理:每一个前向传播的推理(生成一个token)需要2800亿参数以及560 TFLOPS,这与纯dense模型每次正向传递所需的约1.8万亿参数和3700 TFLOPS形成了鲜明对比。
- 训练数据集:GPT-4在约13万亿tokens上训练。这不是指不同的token数量,是根据epochs计算使用的token数量。基于文本的数据集做了2次epoch训练,基于代码的数据集做了4次epoch训练。
- GPT-4 32K:每一个预训练阶段都是8K的长度。32K的版本是8K预训练模型之后微调得到的。
- Batch Size:batch size是逐渐上升的,在集群中经过几天的时间达到一个数值。最终,OpenAI的Batch Size达到了6000万!也就是每个专家大约有750万的token数量,但是并不是每个专家都能看到所有的tokens。
- 并行策略:由于NVLink的限制,OpenAI训练GPT-4做了8路tensor并行,15路的pipeline并行。
- 训练成本:OpenAI训练GPT-4的FLOPS约2.15e25,在2.5万个A100上训练了90-100天左右时间(MFU约32%到36%),如果是一个A100约1美元,那么训练成本约6300万美元(如果现在使用H100可能只要2150万美元)。
- MoE的取舍:使用MoE之后做了很多取舍,包括推理的处理困难,因为每个模型都用来生成文本。这意味着生成的时候有的可以使用,有的空闲,对使用率来说非常浪费。研究显示64-128个专家的损失比16个专家更好。
- GPT-4的推理成本:比1750亿的Davinchi(GPT-3/3.5系列)高3倍,主要是GPT-4的集群太大,利用率低一点。估计约1k tokens要0.0049美元(128个A100)。
- MOA:Multi Query Attention,和其他人一样,都是正常使用MOA。因为只需要1个head,显存大大下降,但是32K依然无法在A100 40G运行。
- 持续batching:OpenAI使用可变的batch size和持续batching方法。可以平衡推理成本和推理速度。
- Vision Multi-Modal:GPT-4的多模态部分是单独一个visiion encoder,带有cross attention。使得1.8万亿的GPT-4的参数扩展到2万亿左右。VisionModel是从头训练的,还不够成熟。Vision部分的一个作用是让代理可以月度网页,然后转换成图片和视频。部分数据是基于Latex与屏幕截屏训练的。还有YouTube视频,包括使用whisper翻译的脚本与抽帧结果。
- 推理架构:推理是在128个GPU集群上运行的,在不同的区域有不同的集群。每个节点有8个GPU,包含1300亿参数的模型。或者说每个GPU少于30GB的FP16、少于15GB的FP8/int8。