终极「揭秘」:GPT-4模型架构、训练成本、数据集信息都被扒出来了

简介: 终极「揭秘」:GPT-4模型架构、训练成本、数据集信息都被扒出来了

一直以来,大家都对 GPT-4 的模型架构、基础设施、训练数据集、成本等信息非常好奇。

奈何 OpenAI 嘴太严,很长时间以来,大家也都只是猜测这些数据。

不久之前,「天才黑客」乔治・霍兹(George Hotz)在接受一家名为 Latent Space 的 AI 技术播客采访时透露出一个小道消息,称 GPT-4 是由 8 个混合专家模型组成的集成系统,每个专家模型都有 2200 亿个参数(比 GPT-3 的 1750 亿参数量略多一些),并且这些模型经过了针对不同数据和任务分布的训练。

虽然此消息无法验证,但其流传度非常高,也被部分业内人士认为非常合理。

最近,更多的消息似乎被泄露了出来。

今日,SemiAnalysis 发布了一篇付费订阅的内容,「揭秘」了有关 GPT-4 的更多信息。

文章称,他们从许多来源收集了大量有关 GPT-4 的信息,包括模型架构、训练基础设施、推理基础设施、参数量、训练数据集组成、token 量、层数、并行策略、多模态视觉适应、不同工程权衡背后的思维过程、独特的实现技术以及如何减轻与巨型模型推理有关的瓶颈等。

作者表示,GPT-4 最有趣的方面是理解 OpenAI 为什么做出某些架构决策。

此外,文章还介绍了 A100 上 GPT-4 的训练和推理成本,以及如何拓展到下一代模型架构 H100 。

我们根据 Deep Trading(一家算法交易公司)创始人 Yam Peleg 的推文(目前已删除),整理了以下关于 GPT-4 的数据信息。感兴趣的读者可以细致研究下。

不过请注意,这并非官方确认的数据,大家自行判断其准确性。

1、参数量GPT-4 的大小是 GPT-3 的 10 倍以上。文章认为它 120 层网络中总共有 1.8 万亿个参数。

2、确实是混合专家模型。OpenAI 能够通过使用混合专家(MoE)模型来保持合理成本。他们在模型中使用了 16 个专家模型,每个专家模型大约有 111B 个参数。这些专家模型中的 2 个被路由到每个前向传递。

3、MoE 路由:尽管文献中对于选择将每个 token 路由到哪个专家模型的高级路由算法进行了大量讨论,但据称 OpenAI 在当前的 GPT-4 模型中采用了相当简单的路由方式。该模型大约使用了 550 亿个共享参数来进行注意力计算。

4、推理:每次前向传递的推理(生成 1 个 token)仅利用约 2800 亿个参数和约 560 TFLOP 的计算量。相比之下,纯密集模型每次前向传递需要大约 1.8 万亿个参数和约 3700 TFLOP 的计算量。

5、数据集:GPT-4 的训练数据集包含约 13 万亿个 token。这些 token 是重复计算之后的结果,多个 epoch 中的 token 都计算在内。

Epoch 数量:针对基于文本的数据进行了 2 个 epoch 的训练,而针对基于代码的数据进行了 4 个 epoch 的训练。此外,还有来自 ScaleAI 和内部的数百万行的指令微调数据。

6、GPT-4 32K:在预训练阶段,GPT-4 使用了 8k 的上下文长度(seqlen)。而 32k 序列长度版本的 GPT-4 是在预训练后对 8k 版本进行微调而得到的。

7、Batch Size:在计算集群上,几天时间里,batch size 逐渐增加,最后,OpenAI 使用 batch size 达到了 6000 万!当然,由于不是每个专家模型都能看到所有 token,因此这仅仅是每个专家模型处理 750 万个 token 的 batch size。

真实的 batch size:将这个数字除以序列长度(seq len)即可得到真实的 batch size。请不要再使用这种误导性的数字了。

8、并行策略:为了在所有 A100 GPU 上进行并行计算,他们采用了 8 路张量并行,因为这是 NVLink 的极限。除此之外,他们还采用了 15 路流水线并行。(很可能使用了 ZeRo Stage 1,也可能使用了块级的 FSDP)。

9、训练成本:OpenAI 在 GPT-4 的训练中使用了大约 2.15e25 的 FLOPS,使用了约 25,000 个 A100 GPU,训练了 90 到 100 天,利用率(MFU)约为 32% 至 36%。这种极低的利用率部分是由于大量的故障导致需要重新启动检查点。

如果他们在云端的每个 A100 GPU 的成本大约为每小时 1 美元,那么仅此次训练的成本将达到约 6300 万美元。(而如今,如果使用约 8192 个 H100 GPU 进行预训练,用时将降到 55 天左右,成本为 2150 万美元,每个 H100 GPU 的计费标准为每小时 2 美元。)

10、使用专家混合模型时的 tradeoff:在使用专家混合模型时存在多方面 tradeoff。

例如,在推理过程中处理 MoE 非常困难,因为并非模型的每个部分都在每个 token 生成时被利用。这意味着在某些部分被使用时,其他部分可能处于闲置状态。在为用户提供服务时,这会严重影响资源利用率。研究人员已经证明使用 64 到 128 个专家比使用 16 个专家能够实现更好的损失(loss),但这仅仅是研究的结果。

选择较少的专家模型有多个原因。OpenAI 选择 16 个专家模型的一大原因是:在许多任务中,更多的专家模型很难泛化,也可能更难收敛。

由于进行了如此大规模的训练,OpenAI 选择在专家模型数量上更加保守。

11、推理成本:GPT-4 的推理成本是 1750 亿参数的 Davinci 模型的 3 倍。这主要是因为 GPT-4 需要更大规模的集群,并且达到的利用率要低得多。

据估计,在用 128 个 A100 GPU 进行推理的情况下,8k 版本 GPT-4 推理的成本为每 1,000 个 token 0.0049 美分。如果使用 128 个 H100 GPU 进行推理,同样的 8k 版本 GPT-4 推理成本为每 1,000 个 token 0.0021 美分。值得注意的是,这些估计假设了高利用率和保持较高的 batch size。

12、Multi-Query Attention:OpenAI 和其他机构一样,也在使用 Multi-Query Attention(MQA)。由于使用 MQA 只需要一个注意力头(head),并且可以显著减少用于 KV 缓存的内存容量。即便如此,32k 序列长度的 GPT-4 也绝对无法在 40GB 的 A100 GPU 上运行,而 8k 序列长度的模型则受到了最大 batch size 的限制。

13、连续 batching:OpenAI 实现了可变 batch size 和连续 batching。这样做是为了允许一定程度的最大延迟,并优化推理成本。

14、视觉多模态:它是一个独立于文本编码器的视觉编码器,二者之间存在交叉注意力。该架构类似于 Flamingo。这在 GPT-4 的 1.8 万亿个参数之上增加了更多参数。在纯文本的预训练之后,它又经过了另外约 2 万亿个 token 的微调。

对于视觉模型,OpenAI 本来希望从零开始训练,但由于其尚未成熟,所以他们决定先从文本开始训练来降低风险。

这种视觉能力的主要目的之一是使自主智能体能够阅读网页并转录图像和视频中的内容。

他们训练的一部分数据是联合数据(包括渲染的 LaTeX / 文本)、网页的截屏、YouTube 视频(采样帧),并使用 Whisper 对其进行运行以获取转录文本。

15、推测式解码(Speculative Decoding):OpenAI 可能在 GPT-4 的推理过程中使用了推测式解码技术(不确定是否 100%)。这种方法是使用一个更小更快的模型提前解码多个 token,并将它们作为单个 batch 输入到一个大型的预测模型(oracle model)中。

如果小型模型对其预测是正确的,大型模型将会同意,我们可以在单个 batch 中解码多个 token。

但是,如果大型模型拒绝了草稿模型预测的 token,那么 batch 中剩余的部分将被丢弃,然后我们将继续使用大型模型进行解码。

有些阴谋论指出,新的 GPT-4 质量已经下降,这可能只是因为他们让推测式解码模型(speculative decoding model)将概率较低的序列传递给预测模型,从而导致了这种误解。

16、推理架构:推理运行在由 128 个 GPU 组成的集群上。在不同地点的多个数据中心存在多个这样的集群。推理过程采用 8 路张量并行(tensor parallelism)和 16 路流水线并行(pipeline parallelism)。每个由 8 个 GPU 组成的节点仅具有约 1300 亿个参数。

该模型有 120 层,因此适合于 15 个不同的节点。可能第一个节点的层数较少,因为它还需要计算嵌入。

根据这些数字,如果 OpenAI 试图按照 chinchilla 的最佳指标进行训练,他们应该使用的 token 数量是现在的两倍。这表明他们在获取高质量数据方面遇到了困难。

最后想说的是,这应该是迄今为止关于 GPT-4 最为详细的数据揭秘。目前还不能求证是否真实,但也值得大家研究下。正如原文作者所说,「有趣的方面是理解 OpenAI 为什么做出某些架构决策。

关于 GPT-4 的这些架构信息,你怎么看?

更多信息请参考原文:https://www.semianalysis.com/p/gpt-4-architecture-infrastructure

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
27天前
|
机器学习/深度学习 数据采集 人工智能
揭秘!47页文档拆解苹果智能,从架构、数据到训练和优化
【8月更文挑战第23天】苹果公司发布了一份47页的研究文档,深入解析了其在智能基础语言模型领域的探索与突破。文档揭示了苹果在此领域的雄厚实力,并分享了其独特的混合架构设计,该设计融合了Transformer与RNN的优势,显著提高了模型处理序列数据的效能与表现力。然而,这种架构也带来了诸如权重平衡与资源消耗等挑战。苹果利用海量、多样的高质量数据集训练模型,但确保数据质量及处理噪声仍需克服。此外,苹果采取了自监督与无监督学习相结合的高效训练策略,以增强模型的泛化与稳健性,但仍需解决预训练任务选择及超参数调优等问题。
128 66
|
24天前
|
存储 NoSQL 关系型数据库
MPP架构数据仓库使用问题之Visibility bitmap表被删除的文件信息是如何记录的
MPP架构数据仓库使用问题之Visibility bitmap表被删除的文件信息是如何记录的
|
29天前
|
知识图谱
ARTIST的中文文图生成模型问题之通过GPT生成图像序列的问题如何解决
ARTIST的中文文图生成模型问题之通过GPT生成图像序列的问题如何解决
|
6天前
|
机器学习/深度学习 测试技术 数据处理
KAN专家混合模型在高性能时间序列预测中的应用:RMoK模型架构探析与Python代码实验
Kolmogorov-Arnold网络(KAN)作为一种多层感知器(MLP)的替代方案,为深度学习领域带来新可能。尽管初期测试显示KAN在时间序列预测中的表现不佳,近期提出的可逆KAN混合模型(RMoK)显著提升了其性能。RMoK结合了Wav-KAN、JacobiKAN和TaylorKAN等多种专家层,通过门控网络动态选择最适合的专家层,从而灵活应对各种时间序列模式。实验结果显示,RMoK在多个数据集上表现出色,尤其是在长期预测任务中。未来研究将进一步探索RMoK在不同领域的应用潜力及其与其他先进技术的结合。
29 4
|
12天前
|
人工智能 自然语言处理 数据挖掘
【通义】AI视界|性能超越GPT-4o?最强大的开源AI模型来了……
本文介绍了五项最新AI技术动态,包括性能超越GPT-4o的开源AI模型Reflection70B、智谱清言App限时免费的视频通话功能、哈佛医学院研发的癌症诊断AI模型CHIEF、Replit推出的AI编程助手,以及英特尔与日本AIST合作设立的芯片制造研发中心。这些进展展示了AI领域的快速创新与广泛应用。更多详情,请访问通义官网体验。
|
18天前
|
分布式计算 负载均衡 监控
p2p网络架构模型
P2P(Peer-to-Peer)模式是一种网络架构模型,在这种模型中,每个节点(peer)既是服务的提供者也是服务的消费者。这意味着每个参与的节点都可以直接与其他节点通信,并且可以相互提供资源和服务,例如文件共享、流媒体传输等。
21 6
|
20天前
|
机器学习/深度学习 人工智能
清华研究登Nature,首创全前向智能光计算训练架构,戴琼海、方璐领衔
【8月更文挑战第30天】清华大学研究人员在《自然》杂志上发表了一项开创性成果,提出了一种全前向智能光计算训练架构,解决了传统光学AI方法依赖电子计算机模拟和优化的问题,实现了光学系统的自学习和自设计。该架构通过将光学系统映射到参数化神经网络中,消除了反向传播需求,展示了在多个领域的广泛应用前景,如深度光学神经网络和高分辨率散射成像等。这一成果为光学AI的发展开辟了新道路,但实际应用中仍需克服一些挑战。论文详情见:https://www.nature.com/articles/s41586-024-07687-4
27 2
|
28天前
|
监控 持续交付 开发者
资源紧张下的创新之道:揭秘高效可扩展架构的设计秘诀,让技术与成本达到完美平衡!
【8月更文挑战第22天】在科技行业的快节奏发展中,设计出经济高效且可扩展的架构是每位工程师面临的挑战。本文提出五大策略:精准需求分析确保目标清晰;模块化设计如微服务架构促进独立开发与扩展;选择成熟技术栈及利用云服务提升系统效能;实施自动化流程如CI/CD加速开发周期;建立全面监控体系保障系统健康。遵循设计原则如SOLID,结合这些策略,即便资源有限也能构建出高质量、灵活应变的系统。
34 0
|
29天前
|
机器学习/深度学习 自然语言处理 测试技术
87.8%准确率赶超GPT-4o登顶!谷歌DeepMind发布自动评估模型FLAMe
【8月更文挑战第21天】谷歌DeepMind推出的FLAMe(Foundational Large Autorater Models)是一种基于深度学习的自动评估模型,旨在通过分析输入文本与参考答案的差异来评估大型语言模型(LLMs)的输出质量。FLAMe采用多任务学习方法,在涵盖500万个手工评分的100多种质量评估任务上训练,展现出强大的泛化能力。在RewardBench基准测试中,FLAMe以87.8%的准确率超越GPT-4等先进模型。这一突破不仅降低了人工评估成本,还提高了评估效率,为自然语言处理等领域带来革新。
30 1
|
1月前
|
机器学习/深度学习 分布式计算 Cloud Native
云原生架构下的高性能计算解决方案:利用分布式计算资源加速机器学习训练
【8月更文第19天】随着大数据和人工智能技术的发展,机器学习模型的训练数据量和复杂度都在迅速增长。传统的单机训练方式已经无法满足日益增长的计算需求。云原生架构为高性能计算提供了新的可能性,通过利用分布式计算资源,可以在短时间内完成大规模数据集的训练任务。本文将探讨如何在云原生环境下搭建高性能计算平台,并展示如何使用 PyTorch 和 TensorFlow 这样的流行框架进行分布式训练。
46 2