而就在本日上午,媒体semianalysis的Dylan Patel和Gerald Wong揭橥了一篇题为《GPT-4 Architecture, Infrastructure, Training Dataset, Costs, Vision, MoE》的文章,曝光了GPT-4从模型架构、模型演习到本钱的所有细节,GPT-4又被“开源”了?
文章中详细先容了GPT-4的架构、演习和推理的根本举动步伐、参数量、演习数据集、token数、本钱、稠浊专家模型(Mixture of Experts,MoE)等非常详细的参数和信息。
同时还“深扒了”在不同的路线选择上,OpenAI面临的各种权衡,并直言,对GPT-4而言,最有趣的是理解OpenAI为什么会做出某些架构决策。
值得把稳的是,Dylan Patel同样也是谷歌内部文件泄露事宜(《我们没有护城河,OpenAI也没有》)的作者。
而DeepMind CEO Hassabis近日在接管媒体采访时,确认了这份谷歌被泄露的文件的真实性。
鉴于爆料者是Dylan Patel,这次GPT-4“大揭秘”的真实性又提高了几分。
文章开头就指出,OpenAI之以是不open,不是为了保护人类不被AI毁灭,而是由于他们构建的大模型是可复制的,未来中国和美国的互联网大厂及AI头部初创企业,都会有能力构建出可以和GPT-4媲美乃至超越GPT-4的大模型。
而OpenAI最持久的护城河,就在于他们拥有真实用户的利用反馈,业内最顶尖的工程人才,以及先发上风带来的领先地位。
华尔街见闻整理了关于GPT-4爆料的紧张内容:
1.8万亿巨量参数和模型框架
文章指出,GPT-4在120层中统共包含了1.8万亿参数,而GPT-3只有约1750亿个参数。也便是说,GPT-4的规模是GPT-3的10倍以上。
OpenAI通过利用稠浊专家(Mixture of Experts,MoE)模型来掌握本钱。GPT-4拥有16个专家模型,每个MLP专家大约有1110亿个参数。个中,有两个专家模型被用于前向传播。
OpenAI用于GPT-4的算法,实在非常大略。模型中还有约550亿个参数,被用做把稳力机制的共享。
每次的前向传播推理(天生一个token)中,GPT-4只须要利用大约2800亿参数和560TFLOPs。比较之下,纯密集模型每次前向传播须要大约1.8 万亿个参数和约3700 TFLOP 的打算量。
数据集的构成
OpenAI用13万亿的token训出了GPT-4。由于没有高质量的token,这个数据集还包含了许多个epoch。
Epoch数量:针对基于文本的数据进行2个epoch的演习,而针对基于代码的数据进行了4个epoch 的演习。
在预演习阶段,GPT-4利用了8k 的高下文长度(seqlen),而32k的版本是基于预演习后的8K版本微调而来的。
在几天之内批大小在集群中逐渐增加。终极OpenAI利用的批大小达到了6000万,当然,由于并非每个专家模型都能看到所有 token,因此这仅为每个750万token的专家模型的大小
真实的批处理大小:将这个数字除以序列长度(seq len)即可得到。
OpenAI的并行策略
并行策略对付A100GPU是相称主要的。为了在所有 A100 GPU上进行并行打算,OpenAI采取了8路张量并行,由于这是NVLink的极限。除此之外,听说OpenAI采取15路并行管线。
理论上,考虑到数据通信和打算韶光,15个管线就有些多了。但是一旦加上了KV缓存和本钱,如果OpenAI利用的GPU大部分是40GB的A100,那这样的构架在理论上便是故意义的。
但作者表示,他并不是太明白OpenAI在如此高的管线并行度下,如何避免在每批中产生如下图这样的“泡泡”(huge bubbles),很有可能OpenAI便是生生地抗下了这些本钱。
演习本钱:一次的演习的本钱为6300万美元
OpenAI演习GPT-4的FLOPS约为2.15e25,在大约25000个A100上演习了90到100天,利用率在32%到36%之间。故障数量过多也是极低利用率的缘故原由,这会导致须要重新从之前的检讨点开始演习。
另一个缘故原由是这么多GPU之间的all-reduce非常昂贵。
如果OpenAI云打算的本钱是差不多1美元/每A100小时的话,那么在这样的条件下,仅这次演习的本钱大约是6300万美元。
这还不包括所有的实验、失落败的演习和其他本钱,比如数据网络、RLHF、人力本钱等。
如果考虑到刚刚说的这些成分,真实本钱要高得多的多。
但是放到本日,在2美元/每H100小时的条件下,预演习可以在大约8192个H100上进行,只须要55天,用度为2150万美元。
利用专家稠浊模型时的权衡
MoE(稠浊专家模型)是一种在推理过程中减少参数量的很好方法,但同时他会增加参数量。
如果OpenAI真的想追求最佳性能,他们须要演习两倍的token才能达到。
采取相比拟较少的专家模型的缘故原由很多,OpenAI选择16个专家的缘故原由之一在于,在实行许多任务上,更多的专家模型很难泛化,也更难实现收敛。
GPT-4推理本钱
与拥有1750亿参数的Davinchi模型比较,GPT-4的本钱是其3倍,只管其前馈参数只增加了1.6倍。这紧张是由于GPT-4须要更大的集群,并且实现的利用率更低。
作者认为,在用128 个A100 GPU进行推理的情形下,GPT-4的8k序列长度每1000个标记的本钱为0.0049美元,而在128个H100上推理GPT-4的8k序列长度每1000个标记的本钱为0.0021美元。
须要把稳的是,这是假设有相称高的利用率,并保持较高批大小的情形下。但很明显,OpenAI有时的利用率非常低。
多查询把稳力(Multi-Query Attention)
OpenAI和其他大厂一样,也在利用MQA。
大略来说只须要一个把稳力头,并且可以显著减少KV缓存的内存占用。即便如此,32k长度的GPT-4肯定无法在40GB的A100上运行,而8k的最大批大小也有上限。
连续批处理
OpenAI实现了可变批大小和连续批处理。
这样做是为了许可一定程度的最大延迟,并优化推理本钱。
推测解码(Speculative Decoding)
OpenAI在GPT-4的推理过程中利用了“推测解码”。
“推测解码”的基本事理是利用一个更小、更快的草案模型提前解码多个token,然后将它们作为一个批输入到预测模型中。如果OpenAI利用“推测解码”,他们可能只在大约4个token的序列中利用。
视觉多模态
它是一个独立于文本编码器的视觉编码器,二者之间存在交叉把稳力,该架构类似于 Flamingo。这在GPT-4的1.8 万亿个参数之上增加了更多参数。
GPT-4多模态能力是在文本预演习之后,又用大约2万亿token进⾏了微调。据称,在视觉模型上,OpenAI原来希望从头开始演习,但因其不足成熟,无奈从文本演习模型进行微调。
而下一代模型GPT-5,将从头开始进行视觉演习,并且也能自己天生图像,乃至天生音频。
以下为有新Newin通过GPT翻译的全文:
OpenAI保持GPT-4架构封闭,不是由于对人类的某种存在风险,而是由于他们所构建的内容是可复制的。实际上,我们估量Google、Meta、Anthropic、Inflection、Character、Tencent、ByteDance、Baidu等公司在短期内将拥有与GPT-4一样乃至更强大的模型能力。
请不要误解,OpenAI具有令人惊叹的工程能力,他们所构建的东西令人难以置信,但他们所找到的办理方案并非邪术。这是一个优雅的办理方案,个中包含许多繁芜的权衡。规模扩大只是战斗的一部分。OpenAI最持久的竞争上风在于他们拥有最多的实际运用、领先的工程人才,并且可以通过未来的模型连续超越其他公司。
我们从多个来源网络了关于GPT-4的大量信息,本日我们想分享一下。这包括模型架构、演习根本举动步伐、推理根本举动步伐、参数数量、演习数据集组成、令牌数量、层数量、并行策略、多模态视觉适应、不同工程权衡背后的思考过程、履行的独特技能以及他们如何减轻与弘大模型推理干系的一些最大瓶颈。
GPT-4最有趣的方面是理解他们为什么做出某些架构决策。
此外,我们将概述在A100上演习和推理GPT-4的本钱,以及不才一代模型架构中如何与H100进行扩展。
首先,让我们来看看问题陈述。从GPT-3到4,OpenAI希望扩大100倍,但问题是本钱。密集的Transformer模型将无法进一步扩展。密集的Transformer是OpenAI GPT-3、Google PaLM、Meta LLAMA、TII Falcon、MosaicML MPT等模型利用的模型架构。我们可以轻松地列举出利用这种相同架构演习LLM的50多家公司。这是一个不错的架构,但对付扩展来说有缺陷。
在GPT-4发布之前,我们曾谈论过演习本钱与即将到来的AI砖墙之间的关系。在那里,我们揭示了OpenAI在GPT-4架构和各种现有模型的演习本钱方面的高层次做法。
在过去的六个月中,我们意识到演习本钱是无关紧要的。
当然,表面上看起来很猖獗,要花费数千万乃至数亿美元的打算韶光来演习一个模型,但对付这些公司来说,这是微不足道的开支。这实际上是一项固定成本支出,在扩大规模方面始终能够取得更好的结果。唯一的限定成分是将打算规模扩展到人类可以得到反馈并修正架构的韶光尺度上。
在未来的几年里,像Google、Meta和OpenAI/Microsoft这样的多家公司将在代价超过一千亿美元的超级打算机上演习模型。Meta每年在\"大众Metaverse\公众上烧掉160亿美元,Google每年在各种项目上摧残浪费蹂躏100亿美元,Amazon在Alexa上丢失超过500亿美元,加密货币在毫无代价的事物上摧残浪费蹂躏了1000亿美元以上。
这些公司和全体社会可以并且将会在创建可以演习单个巨大模型的超级打算机上花费超过一千亿美元。然后,这些巨大的模型可以以多种办法成为产品。这项事情将在多个国家和公司中复制。这是一场新的太空竞赛。与以前的摧残浪费蹂躏不同,现在的人工智能具有实实在在的代价,短期内将从人类助手和自主代理中得到。
扩展人工智能更主要的问题是推理。
目标是将演习打算与推理打算分离。这便是为什么故意义的演习超出Chinchilla最佳的范围,无论将要支配的模型如何。这便是为什么要利用稀疏模型架构;在推理过程中,并不须要激活每个参数。
真正的寻衅是将这些模型扩展到用户和代理的本钱太高。推理的本钱比演习的本钱赶过多倍。这是OpenAI在模型架构和根本举动步伐方面的创新目标。
大型模型的推理是一个多变量问题,对付密集模型来说,模型大小是致命的。我们在这里详细谈论了与边缘打算干系的问题,但数据中央的问题陈述非常相似。大略来说,设备永久无法拥有足够的内存带宽来实现大措辞模型的特定吞吐量水平。纵然带宽足够,边缘打算设备上硬件打算资源的利用率也将非常低。
在数据中央、云端,利用率是至关主要的。Nvidia之以是因其卓越的软件而受到讴歌,个中一半的缘故原由是由于在GPU的全体生命周期中,Nvidia不断更新低级别软件,通过更智能地在芯片内部、芯片之间和内存之间移动数据,将FLOPS的利用率提高。
在大多数当前利用案例中,LLM推理的目标是作为实时助手运行,这意味着它必须达到足够高的吞吐量,利用户能够真正利用它。人类均匀阅读速率约为每分钟250个词,但有些人乃至高达每分钟1000个词。这意味着您须要至少每秒输出8.33个令牌,但更靠近每秒输出33.33个令牌以应对所有情形。
根据内存带宽的哀求,一个兆参数的密集模型在最新的Nvidia H100 GPU做事器上数学上无法实现这种吞吐量。
每个天生的令牌都须要将每个参数从内存加载到芯片上。天生的令牌然后输入到提示中,并天生下一个令牌。此外,为把稳力机制流式传输KV缓存还须要额外的带宽。
这个图表假设由于无法领悟每个操作、把稳机制所需的内存带宽以及硬件开销等缘故原由,效率等同于参数读取。实际上,纵然利用了像Nvidia的FasterTransformer库这样的\"大众优化\公众库,总开销也更大。
上面的图表展示了推理一个LLM所需的内存带宽,以实现足够高的吞吐量为单个用户供应做事。它显示,纵然利用8个H100,也无法以每秒33.33个令牌的速率为1兆参数的密集模型供应做事。
此外,以每秒20个令牌的速率利用8个H100的FLOPS利用率仍旧不到5%,导致推理本钱非常高。事实上,目前基于8路张量并行的H100系统对付约3000亿前向参数存在推理限定。
然而,OpenAI正在利用A100实现人类阅读速率,利用的模型参数超过1兆,并以每1,000个令牌仅售0.06美元的低价广泛供应。这是由于它是稀疏的,即并非每个参数都被利用。
关于GPT-4的模型架构、演习根本举动步伐、推理根本举动步伐、参数数量、演习数据集组成、令牌数量、层数量、并行策略、多模态视觉编码器、不同工程权衡背后的思考过程、履行的独特技能以及他们如何减轻与弘大模型推理干系的一些最大瓶颈。
1 GPT-4模型架构GPT-4的规模是GPT-3的10倍以上。据我们理解,它具有大约1.8兆参数,分布在120个层,而GPT-3具有大约1750亿参数。
OpenAI通过利用稠浊专家(MoE)模型,成功地掌握了本钱。如果您对MoE不熟习,请阅读我们六个月前关于广义GPT-4架构和演习本钱的文章。
此外,OpenAI在其模型中利用了16个专家,每个专家的MLP参数约为1110亿。个中有2个专家路由到每个前向通报。
虽然文献中评论辩论了选择将每个令牌路由到哪个专家的高等路由算法,但据称OpenAI目前的GPT-4模型的路由算法相称大略。
此外,把稳力机制共享大约550亿参数。
每次前向通报推理(天生1个令牌)只利用约2800亿参数和560 TFLOPS。这与纯密集模型每次前向通报所需的约1.8兆参数和3700 TFLOPS形成了比拟。
2 数据集成OpenAI在大约13兆令牌上对GPT-4进行了演习。考虑到RefinedWeb的CommonCrawl包含大约5兆高质量令牌,这是有道理的。供参考,Deepmind的Chinchilla模型和Google的PaLM模型分别利用了大约1.4兆令牌和0.78兆令牌进行演习。乃至据称PaLM 2是在大约5兆令牌上进行演习的。
该数据集不包含13兆个独特令牌。相反,由于缺少高质量令牌,该数据集包含多个期间。文本数据有2个期间,代码数据有4个期间。有趣的是,这远远不及Chinchilla的最佳选择,表明须要以双倍的令牌数量对模型进行演习。这表明在网络上缺少易于获取的令牌。高质量文本令牌的数量是个中的1000倍,而音频和视觉令牌的数量更多,但是获取它们并不像网页抓取那么大略。
他们拥有来自Scale Al和内部的数百万行指令微调数据,但可惜的是,我们找不到太多关于他们的强化学习数据。
预演习阶段的高下文长度为8k。32k的令牌长度版本是在预演习后的8k根本上进行微调的。
批量大小逐渐在几天内逐步增加,但到末了,OpenAI利用的批量大小为6000万!
当然,由于不是每个专家都看到所有令牌,这实际上只是每个专家每批次处理750万个令牌。
在所有A100 GPU上进行并行化的策略非常主要。他们采取了8路张量并行,由于这是NVLink的极限。此外,我们听说他们正在利用15路管线并行。从打算韶光和数据通信的角度来看,理论上管线并行的数量太多了,但如果他们受到内存容量限定,那么这是有道理的。
纯粹的管线+张量并行时,每个GPU仅参数就须要约30GB(FP16)。一旦加上KV缓存和开销,理论上如果OpenAI的大部分GPU都是40GB的A100,则这是有道理的。他们可能利用了ZeRo阶段1。可能他们利用了块级FSDP或稠浊共享数据并行。
至于为什么他们没有利用完全模型FSDP,可能是由于通信开销较高。只管OpenAI的大多数节点之间有高速网络连接,但并非所有节点之间都是如此。我们相信至少有一些集群之间的带宽比其他集群低得多。
我们不理解他们如何在具有如此高的管线并行度时避免每批次涌现巨大的气泡。很可能他们只是承担了这个开销。
4 演习本钱OpenAI在GPT-4的演习中,利用了大约25,000个A100芯片,在90至100天的韶光内进行了约32%至36%的MFU(均匀功能利用率)。这种极低的利用率部分是由于大量的故障导致须要从检讨点重新启动的缘故原由,上述提到的气泡代价非常高。
另一个缘故原由是在这么多GPU之间进行全局归约的代价非常高。如果我们的预测是精确的,那么该集群实际上是由许多较小的集群组成的,它们之间的网络连接非常薄弱,即集群的不同部分之间的非壅塞连接为800G/1.6T,但这些部分只能以200G/400G的速率连接起来。
如果他们在云中的本钱约为每小时1美元的A100芯片,仅这次演习的本钱就约为6300万美元。这还没有考虑到所有的实验、失落败的演习运行和其他本钱,比如数据网络、强化学习和职员本钱等。由于这些成分,实际本钱要高得多。此外,这意味着您须要有人购买芯片/网络/数据中央、承担成本支出并将其租给您。
目前,利用约8,192个H100芯片,以每小时2美元的价格,在约55天内可以完成预演习,本钱约为2150万美元。须要把稳的是,我们相信到今年年底将有9家公司将拥有更多的H100芯片。并非所有这些公司都会将它们全部用于单次演习运行,但那些这样做的公司将会拥有更大规模的模型。Meta将在今年年底拥有超过10万个H100芯片,但个中相称多的芯片将分布在他们的数据中央用于推理。他们最大的单个集群仍旧将超过25,000个H100芯片。
到今年年底,很多公司将拥有足够的打算资源来演习与GPT-4规模相称的模型。
5 MoE 的权衡在推理过程中,MoE是一种很好的办法,可以在推理时减少参数数量,同时增加参数数量,这对付编码更多的信息每个演习令牌是必需的,由于获取足够的高质量令牌非常困难。如果OpenAI真的试图实现Chinchilla最佳化,他们将不得不在演习中利用两倍于目前的令牌数量。
只管如此,OpenAI做出了多个权衡。例如,在推理过程中,MoE非常难处理,由于模型的每个部分在每个令牌天生时都不会被利用。这意味着在为用户供应做事时,某些部分可能处于闲置状态,而其他部分则正在利用。这对利用率产生了很大的负面影响。
研究职员已经表明,利用64到128个专家比利用16个专家的丢失更小,但那只是纯粹的研究结果。减少专家的数量有多个缘故原由。OpenAI选择16个专家的缘故原由之一是由于更多的专家在许多任务上很难进行泛化。利用更多的专家也可能更难实现收敛。在如此大规模的演习运行中,OpenAI选择在专家数量上更守旧一些。
此外,减少专家的数量还有助于他们的推理根本举动步伐。在采取专家稠浊推理架构时,存在各种困难的权衡。在磋商OpenAI面临的权衡和他们所做的选择之前,我们先从LLM的推理基本权衡开始。
6 推理的权衡顺便说一下,在开始之前,我们想指出,我们与所有LLM公司交谈过的人都认为Nvidia的FasterTransformer推理库相称糟糕,TensorRT则更糟。无法利用Nvidia的模板并进行修正的缺陷意味着人们须要从零开始创建自己的办理方案。如果你是Nvidia的事情职员,阅读这篇文章后,你须要尽快办理这个问题,否则默认的选择将变为开放工具,这样第三方硬件支持可以更随意马虎地添加进来。一波巨大的模型即将到来。如果在推理方面没有软件上风,并且仍旧须要手工编写内核,那么AMD的MI300和其他硬件将有更大的市场。
在大型措辞模型的推理中,有3个紧张的权衡,它们发生在批量大小(做事的并发用户数)和利用的芯片数量之间。
延迟 - 模型必须以合理的延迟做出相应。人们不想在等待输出开始流入谈天运用程序之前等待几秒钟。预加载(输入令牌)和解码(输出令牌)须要不同的韶光来处理。吞吐量 - 模型必须以每秒输出一定数量的令牌。大约每秒30个令牌是人类利用所需的。对付其他各种用场,较低和较高的吞吐量都可以接管。利用率 - 运行模型的硬件必须实现高利用率,否则本钱将过高。虽然可以利用更高的延迟和较低的吞吐量将更多用户要求进行分组,从而实现更高的利用率,但这会增加难度。LLM的推理完备是关于平衡两个紧张成分:内存带宽和打算。在最过度简化的术语中,每个参数都必须读取,并且与之干系联的是2个FLOP。因此,大多数芯片的比例(例如H100 SXM芯片只有3TB/s的内存带宽,但有2,000 TFLOP/s的FP8)在批量大小为1的推理中完备不平衡。如果只为一个用户供应做事,批量大小为1,那么为了每个令牌天生,所需的内存带宽主导推理韶光。打算韶光险些为零。为了有效地将大型措辞模型扩展到多个用户,批量大小必须超过4。多个用户会分摊参数读取的本钱。例如,对付批量大小为256或512,每个字节的内存读取有512个FLOP/s或1024个FLOP/s。
这个比例更靠近于H100的内存带宽与FLOPS之间的比例。这有助于实现更高的利用率,但代价是更高的延迟。
许多人将内存容量视为LLM推理的一个紧张瓶颈,缘故原由是大型模型须要多个芯片进行推理,而较大的内存容量会使其适应的芯片数量减少,但实际上,最好利用超过所需容量的芯片,以便将延迟降落,提高吞吐量,并且可以利用更大的批量大小来实现越来越高的利用率。
谷歌在他们的PaLM推理论文中展示了这些权衡。然而,值得把稳的是,这是针对像PaLM这样的稠密模型,而不是像GPT-4这样的稀疏模型。
如果一个运用程序哀求最低的延迟,我们须要运用更多的芯片,并将模型划分为尽可能多的部分。较小的批量大小常日可以实现较低的延迟,但较小的批量大小也会导致更差的利用率,从而导致每个令牌的总本钱(以芯片秒或美元计)更高。如果一个运用程序须要离线推理,并且延迟不是问题,紧张目标是最大化每个芯片的吞吐量(即只管即便减少每个令牌的总本钱)。
增加批量大小是最高效的,由于较大的批量常日可以实现更好的利用率,但某些对付小批量大小来说不高效的划分策略在批量大小增大时变得高效起来。更多的芯片和更高的批量大小是最便宜的,由于它们可以增加利用率,但这也引入了一个第三个变量,即网络韶光。某些将模型分割到不同芯片上的方法对付延迟更高效,但与利用率相互制衡。
内存韶光和非把稳打算韶光都与模型大小成正比,与芯片数量成反比。然而,对付给定的分区布局,芯片间通信所需的韶光低落得较慢(或根本不低落),因此随着芯片数量的增加,它变得越来越主要,成为一个越来越主要的瓶颈。虽然我们本日只是大略地谈论一下,但该当把稳到,随着批量大小和序列长度的增长,KV缓存的内存需求会急剧增加。如果一个运用程序须要天生具有较长把稳力高下文的文本,则推理韶光会显著增加。
对付一个具有多头把稳力的500B+模型,把稳力KV缓存会变得很大:对付批量大小为512和高下文长度为2048,KV缓存统共达到3TB,这是模型参数大小的3倍。芯片上的内存须要将此KV缓存从芯片外存加载到内存中,而此期间芯片的打算核心基本上处于闲置状态。较长的序列长度对内存带宽和内存容量特殊不利。OpenAI的16k序列长度GPT 3.5 turbo和32k序列长度GPT 4的本钱要高得多,由于由于内存限定,它们无法利用更大的批量大小。
较低的批量大小导致较低的硬件利用率。此外,随着序列长度的增加,KV缓存也会变得更大。KV缓存无法在用户之间共享,因此须要单独的内存读取,进一步成为内存带宽的瓶颈。
7 GPT-4的推理权衡和根本举动步伐以上所有内容在GPT-4推理中都很困难,但是模型架构采取了专家稠浊模型(MoE),这引入了一整套新的困难。每个令牌天生的前向通报可以路由到不同的专家凑集中。这对付在批量大小较大时在吞吐量、延迟和利用率之间实现的权衡造成了困扰。
OpenAI的GPT-4有16个专家,每个前向通报中有2个专家。这意味着如果批量大小为8,每个专家的参数读取可能只是批量大小为1。更糟糕的是,可能一个专家的批量大小为8,而其他的专家可能是4、1或0。每次令牌天生,路由算法都会将前向通报发送到不同的方向,导致令牌到令牌的延迟以及专家批量大小的显著变革。推理根本举动步伐是OpenAI选择较少的专家数量的紧张缘故原由之一。如果他们选择了更多的专家,内存带宽将更加成为推理的瓶颈。
OpenAI在推理集群上常常达到4k+的批量大小,这意味着纵然在专家之间进行了最佳的负载均衡,专家的批量大小也只有约500个。这须要非常大量的利用才能实现。我们理解到,OpenAI在一个由128个GPU组成的集群上运行推理。他们在多个数据中央和地理位置上都有多个这样的集群。推理是在8路张量并行和16路流水线并行上进行的。每个由8个GPU组成的节点只有大约130B的参数,即每个GPU在FP16模式下不到30GB,在FP8/int8模式下不到15GB。这使得推理可以在40GB的A100芯片上运行,条件是所有批次的KV缓存大小不会过大。
包含各种专家的单个层不会分割到不同的节点上,由于这会使网络流量过于不规则,并且在每个令牌天生之间重新打算KV缓存的代价太高。对付任何未来的MoE模型扩展和条件路由,如何处理KV缓存的路由是一个最大的困难。
模型有120个层,以是将其均匀分配到15个不同的节点上是很大略的,但由于第一个节点须要进行数据加载和嵌入,以是在推理集群的主节点上放置较少的层是故意义的。此外,我们听到了一些关于推理的预测解码的传言,我们稍后会谈论,但我们不愿定是否相信这些传言。这也可以阐明为什么主节点须要包含较少的层。
8 GPT-4的推理本钱与175B参数的Davinchi模型比较,GPT-4的本钱是其3倍,只管其前馈参数只增加了1.6倍。这紧张是由于GPT-4须要更大的集群并实现了更低的利用率。
我们认为,对付128个A100来推理GPT-4 8k序列长度,每1k令牌的本钱是0.0049美分,而对付128个H100来推理GPT-4 8k序列长度,每1k令牌的本钱是0.0021美分。
值得把稳的是,我们假设有较高的利用率,并保持较高的批量大小。这可能是一个缺点的假设,由于很明显OpenAI有时的利用率非常低。我们假设OpenAI在低谷时段关闭集群,并重新调度这些节点以从检讨点规复对较小测试模型的演习,考试测验各种新技能。这有助于降落推理本钱。如果OpenAI不这样做,他们的利用率将更低,我们的本钱估计将增加一倍以上。
9 多查询把稳力MQA是其他公司正在利用的技能,但我们想指出OpenAI也在利用。长话短说,只须要一个头部,KV缓存的内存容量可以大大减少。纵然如此,32k序列长度的GPT-4肯定无法在40GB的A100芯片上运行,而8k序列长度的GPT-4在最大批量大小上受到限定。如果没有MQA,8k序列长度的GPT-4的最大批量大小将受到极大的限定,以至于经济上不可行。
10 连续批处理OpenAI实现了可变的批量大小和连续批处理。这样可以在一定程度上许可最大延迟,并优化推理本钱。如果您对这个观点不熟习,那么这篇由AnyScale撰写的文章值得一读。
11 关于预测解我们从一些可靠的人士那里听说OpenAI在GPT-4推理中利用了预测解码。我们不愿定是否完备相信这一点。令牌到令牌的延迟的普遍变革以及在进行大略的检索任务与更繁芜的任务时的差异彷佛表明这是可能的,但是变量太多,无法确定。以防万一,我们将在这里利用一些“利用分段预测解码加速LLM推理”的文本并稍作修正/添加一些解释。
利用LLM常日分为两个阶段。首先是预添补阶段,将提示文本通过模型天生KV缓存和第一个输出的logits(可能的令牌输出概率分布)。常日,这个阶段很快,由于全体提示文本可以并行处理。
第二阶段是解码。从输出的logits中选择一个令牌,并将其反馈到模型中,天生下一个令牌的logits。重复这个过程,直到天生所需数量的令牌。由于解码必须按顺序进行,每次都要将权重流利过打算单元以天生单个令牌,以是当以小批量运行时,第二阶段的算术强度(即打算的FLOP / 内存带宽的字节数)非常低。
因此,解码常日是自回归天生中最昂贵的部分。这便是为什么在OpenAI的API调用中,输入令牌比输出令牌便宜得多的缘故原由。
预测解码的基本思想是利用一个更小、更快的草稿模型预先解码多个令牌,然后将它们作为一个批次馈送给神谕模型。如果草稿模型对其预测的令牌是精确的,即较大模型也赞许,那么可以通过一个批次解码多个令牌,这样可以节省相称多的内存带宽和韶光,每个令牌都能节省。
然而,如果较大模型谢绝了草稿模型预测的令牌,那么剩下的批次将被丢弃,算法自然会规复到标准的逐令牌解码。预测解码可能还伴随着谢绝采样方案,以从原始分布中进行采样。请把稳,这仅在带宽是瓶颈的小批量设置中有用。
预测解码通过交流打算和带宽来进行权衡。预测解码作为性能优化目标具有两个关键缘故原由。首先,它完备不会降落模型质量。其次,它供应的上风常日与其他方法无关,由于其性能来自将顺序实行转换为并行实行。
目前的预测方法为批次预测一个单独的序列。然而,这在大批量大小或低草稿模型对齐度的情形下无法很好地扩展。直不雅观地说,两个模型在连续的长序列中达成同等的概率指数级地降落,这意味着随着算术强度的扩大,预测解码的回报迅速减少。
我们认为如果OpenAI利用预测解码,他们可能只在大约4个令牌的序列上利用它。顺便提一下,GPT-4降落质量的全体阴谋可能只是由于他们让神谕模型接管来自预测解码模型的较低概率序列。另一个把稳的是,有人预测Bard利用了预测解码,由于谷歌在将全体序列发送给用户之前等待序列的天生完成,但我们不相信这种预测是真实的。
12 关于视觉多模态视觉多模态能力是GPT-4中最不令人印象深刻的部分,至少与领先的研究比较。当然,还没有任何公司将多模态LLM的研究商业化。
它是一个独立的视觉编码器,与文本编码器分开,但存在交叉把稳力。我们听说它的架构类似于Flamingo。这在GPT-4的1.8T参数之上增加了更多的参数。在仅文本预演习之后,它还进行了其余约2万亿个令牌的微调。
对付视觉模型,OpenAI原来希望从头开始演习,但这种方法还不足成熟,因此他们决定先从文本开始以减微风险。
据称,下一个模型GPT-5将从头开始进行视觉演习,并且能够自己天生图像。此外,它还将能够处理音频。
这种视觉能力的紧张目的之一是让自主代理能够阅读网页并转录图像和视频中的内容。他们演习的数据中有一部分是联合数据(渲染的LaTeX/文本)、网页的屏幕截图、YouTube视频:采样帧,并运行Whisper来获取转录。
关于所有这些针对LLM的过度优化的有趣之处在于,视觉模型的本钱与文本模型的本钱不同。正如我们在“亚马逊云危急”文章中所描述的那样,在文本模型中,本钱非常低。而在视觉模型中,数据加载的IO要赶过约150倍。每个令牌的字节数为600,而不是文本的4。有很多关于图像压缩的研究正在进行中。
这对付那些正在根据未来2-3年内LLM的用例和比率来优化硬件的硬件供应商来说非常主要。他们可能会创造自己处于一个每个模型都具有强大的视觉和音频能力的天下中。他们可能会创造他们的架构适应不良。总的来说,架构肯定会发展到超越当前简化的基于文本的密集和/或MoE模型的阶段。
本文来自华尔街见闻,欢迎下载APP查看更多