今天小编分享的互联网经验:关于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。