GPT-4 被破解,训练成本,模型架构的秘密都被挖出来了?

时间:2023-07-11 23:28:54 来源: 品玩


几个小时前 SemiAnalysis 的 DYLAN PATEL 和 DYLAN PATEL 发布了一个关于 GPT-4 的技术信息,包括 GPT-4 的架构、参数数量、训练成本、训练数据集等。本篇涉及的 GPT-4 数据是由他们收集,并未公开数据源。仅供参考。


(相关资料图)

原文翻译如下:

揭秘 GPT-4:导致 OpenAI 架构的工程权衡

OpenAI 保持 GPT-4 架构的封闭性并不是因为对人类存在一些生存风险,而是因为他们构建的东西是可复制的。事实上,我们预计 Google、Meta、Anthropic、Inflection、Character、腾讯、字节跳动、百度等在短期内都将拥有与 GPT-4 一样强大的模型。

不要误解我们的意思,OpenAI 拥有令人惊叹的工程技术,他们构建的东西令人难以置信,但他们得出的解决方案并不神奇。这是一个优雅的解决方案,具有许多复杂的权衡。做大只是战斗的一部分。 OpenAI 最持久的护城河是他们拥有最真实的使用情况、领先的工程人才,并且可以通过未来的模型继续领先于其他人。

我们从许多来源收集了大量有关 GPT-4 的信息,今天我们想分享一下。这包括模型架构、训练基础设施、推理基础设施、参数计数、训练数据集组成、令牌计数、层数、并行策略、多模态视觉适应、不同工程权衡背后的思维过程、独特的实施技术以及它们如何减轻一些问题他们最大的瓶颈与巨型模型的推理有关。

GPT-4 最有趣的方面是理解他们为什么做出某些架构决策。

此外,我们将概述 A100 上 GPT-4 的训练和推理成本,以及如何在下一代模型架构中与 H100 进行扩展。

首先,问题陈述。从 GPT-3 到 4,OpenAI 希望扩展 100 倍,但问题是成本。 密集变压器模型将无法进一步扩展。密集变压器是 OpenAI GPT-3、Google PaLM、Meta LLAMA、TII Falcon、MosaicML MPT 等使用的模型架构。我们可以轻松说出 50 家使用相同架构培训法学硕士的公司。这是一个很好的方法,但它在扩展方面存在缺陷。

从训练成本的角度来看,请参阅我们在 GPT-4 公告之前关于即将推出的密集模型 AI 砖墙的训练成本讨论。在那里,我们揭示了 OpenAI 在 GPT-4 架构方面所做的高层工作以及各种现有模型的训练成本。

在过去的 6 个月里,我们意识到培训成本无关紧要。

当然,从表面上看,花费数千万甚至数亿美元的计算时间来训练模型似乎很疯狂,但这对于这些公司来说是微不足道的。它实际上是一个资本支出项目,规模扩大可以持续带来更好的结果。唯一的限制因素是将计算扩展到人类可以获得反馈并修改架构的时间尺度。

未来几年,谷歌、Meta、OpenAI/ 微软等多家公司将在价值超过千亿元的超级计算机上训练模型。Meta 每年在 "Metaverse" 上燃烧超过 160 亿美元,Google 每年在各种永远不会实现成果的项目上浪费 100 亿美元。亚马逊在 Alexa 上损失了超过 50 亿美元。加密货币在毫无价值的事情上浪费了超过 1000 亿美元。

这些公司和整个社会可以而且将会花费超过一千亿美元来创建可以训练单个大规模模型的超级计算机。然后可以通过多种方式将这些大型模型产品化。这项工作将在多个县和公司重复进行。这是新的太空竞赛。以前的浪费与现在的区别在于,人工智能可以在短期内从人类助手和自主代理身上带来有形的价值。

扩展人工智能(真正的人工智能砖墙)的更重要问题目标是将训练计算与推理计算分离。这就是为什么训练 Chinchilla 对于任何将要部署的模型来说都是最佳的。这就是为什么要进行稀疏模型架构;每个参数在推理过程中都不会被激活。

真正的战斗是将这些模型扩展到用户和代理的成本太高。推理成本是训练成本的数倍。这就是 OpenAI 在模型架构和基础设施方面的创新目标。

大型模型的推理是一个多变量问题,其中模型大小会导致密集模型的死亡。

我们已经在这里详细讨论了有关边缘的问题,但数据中心的问题陈述非常相似。简而言之,设备永远不可能有足够的内存带宽来容纳大型语言模型来实现一定水平的吞吐量。即使它们有足够的带宽,边缘硬件计算资源的利用率也会很糟糕。

在数据中心、云中,利用率就是一切。 Nvidia 因其卓越的软件而受到赞誉的一半原因是,在 GPU 的几代生命周期中,Nvidia 不断更新低级软件,通过在芯片周围、芯片和内存之间更智能地移动数据来提高 FLOPS 利用率。

目前大多数用例中的 LLM 推理都是作为实时助手运行,这意味着它必须实现足够高的吞吐量,以便用户可以实际使用它。人类平均每分钟阅读约 250 个单词,但有些人的阅读速度高达每分钟约 1,000 个单词。这意味着您需要每秒至少输出 8.33 个令牌,但每秒需要输出 33.33 个令牌才能覆盖所有极端情况。

由于内存带宽要求,即使在最新的 Nvidia H100 GPU 服务器上,万亿参数密集模型在数学上也无法实现此吞吐量。每个生成的令牌都需要将每个参数从内存加载到芯片上。然后,将生成的令牌输入到提示中,并生成下一个令牌。此外,注意力机制的 KV 缓存中的流传输需要额外的带宽。

上图展示了以足够高的吞吐量推理 LLM 以便为单个用户提供服务所需的内存带宽。它表明,即使 8x H100 也无法以每秒 33.33 个令牌的速度提供 1 万亿参数密集模型。此外,每秒 20 个令牌的 8xH100 的 FLOPS 利用率仍低于 5%,导致推理成本非常高。实际上,目前的 8 路张量并行 H100 系统存在约 3000 亿个前馈参数的推理约束。

然而,OpenAI 正在通过 A100 实现人类的阅读速度,其模型超过 1 万亿个参数,并且以每 1,000 个代币仅 0.06 美元的低价广泛提供。那是因为它是稀疏的,IE 并不是每个参数都被使用。

废话够多了,我们来谈谈 GPT-4 模型架构、训练基础设施、推理基础设施、参数计数、训练数据集组成、标记计数、层数、并行策略、多模态视觉编码器、不同工程权衡背后的思维过程、独特的实施的技术,以及它们如何缓解与大型模型推理相关的一些最大瓶颈。

总结主要的关于 GPT-4 的信息(总结来自 Yam Peleg 的推文):

参数数量: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。

原文链接:点击前往

关键词:

网站简介 网站团队 本网动态 友情链接 版权声明 我要投稿

Copyright© 2014-2020 中原网视台(www.hnmdtv.com) All rights reserved.