【新智元导读】GPT-4又出业界爆料了!参数、架构、练习数据集、token、练习和推理本钱……一次爆了个全。而鉴于作者此前的战绩,这份爆料的确具有一定的参考价值。

就在刚刚,OpenAI的GPT-4又被业界人士「开源」了!

其间包括GPT-4的架构、练习和推理的根底设施、参数量、练习数据集、token数、本钱、混合专家模型(Mixture of Experts,MoE)等十分详细的参数和信息。

GPT-4内幕大泄露!1.8万亿巨量参数,13万亿token训练,斥资6300万美元

尤其是,在不同工程背后,OpenAI究竟是怎样权衡的。以及在巨型模型推理时,如何跨越其间最大的瓶颈。

如此重磅的爆料,出自何许人也?

GPT-4内幕大泄露!1.8万亿巨量参数,13万亿token训练,斥资6300万美元

文章作者,是SemiAnalysis的两位名叫Dylan Patel和Gerald Wong的撰稿人。

值得一提的是,此前曾在业界引起轩然大波的谷歌内部文件走漏事情(「咱们没有护城河,OpenAI也没有」),作者之一同样是Dylan Patel。

GPT-4内幕大泄露!1.8万亿巨量参数,13万亿token训练,斥资6300万美元

而DeepMind CEO Hassabis近来在外媒The Verge的采访中,确认了这份谷歌工程师走漏文件的真实性。

可见,Dylan Patel的确有一些特别渠道,这就让今日这份爆料的真实性又提高了几分。

GPT-4内幕大泄露!1.8万亿巨量参数,13万亿token训练,斥资6300万美元

出门问问CEO李志飞对此也发表了感言

许多企业都能做出GPT-4

在爆料文章作者看来,OpenAI之所以不open,不是为了确保人类不被AI毁灭,而是由于他们构建的东西是可复制的。

他乃至预计,未来一切我国和美国的互联网大厂或许AI头部草创企业,都会有才能构建出和GPT-4一样,乃至是超越GPT-4的模型。

但他一起也承认,GPT-4是OpenAI的伟大创作。它凝结了工程师的匠心设计,杂乱的构架和各种巧妙的工程上的取舍。

GPT-4内幕大泄露!1.8万亿巨量参数,13万亿token训练,斥资6300万美元

而OpenAI最持久的护城河,是他们具有真实用户的运用反应,业界最顶尖的工程人才,以及先发优势带来的持续抢先地位。

模型框架

首要爆料作者以为,GPT-4在120层中一共包括了1.8万亿参数,而GPT-3只要约1750亿个参数。

也便是说,GPT-4的规划是GPT-3的10倍以上。

GPT-4内幕大泄露!1.8万亿巨量参数,13万亿token训练,斥资6300万美元

此前网上撒播的说法是,GPT-4的参数是100万亿,但已被驳斥谣言

为了坚持合理的本钱,OpenAI选用了MoE模型来进行构建。

详细而言,GPT-4具有16个专家模型,每个MLP专家大约有1110亿个参数。其间,有两个专家模型被用于前向传达。

虽然文献中许多评论了挑选每个token指向哪些专家的高档算法,可是听说,OpenAI用于GPT-4的算法,其实十分简略。

此外,模型中还有大约550亿个参数,被用做留意力机制的同享。

在每次的前向传达推理(生成一个token)中,GPT-4只需求运用大约2800亿参数和560TFLOPs。

这与许多纯密布模型每次前向传达需求大约1.8万亿参数和3700TFLOPs形成了鲜明的对比。

数据集的构成

OpenAI用13万亿的token训出了GPT-4。

这个数据集不单单是包括了13万亿的token,而且由于没有高质量的token,这个数据集还包括了许多个epoch。

在Scale AI和数据集内部,还包括了数百万行的指令微调数据。

不过爆料作者说,在这些RLHF数据上,他们并没有找到太多信息。

在预练习阶段的上下文长度到达了8K(seqlen),而32k的版本是根据预练习后的8K版本微调而来的。

批巨细在集群中是几天之内逐步添加的,终究OpenAI运用的批巨细为6000万。

当然,这「只是」每个750万token的专家模型的巨细,由于不是每个专家模型都会看到悉数的token。

并行战略

并行战略对于A100GPU是相当重要的。

OpenAI选用了8路张量并行,由于NVLink最高只支撑这么多。

但除此之外,爆料作者听说OpenAI选用15路并行管线。

理论上,考虑到数据通信和核算时刻,15个管线就有些多了。

可是由于遭到内存容量的约束,这么多的管线便是有意义的了。

当纯管线和张量并行时,每个GPU的FP16参数大约是30GB。

可是一旦加上了KV缓存和本钱,假如OpenAI运用的GPU大部分是40GB的A100,那这样的构架在理论上便是有意义的。

或许OpenAI运用的是ZeRo Stage 1,而且或许运用的是块级FSDP或许是混合同享数据并行。

为什么他们没有运用FSDP的全模型呢?或许是由于过高的通信本钱。

虽然OpenAI大多数节点之间都有高速网络,可是没有掩盖一切的节点。

其间,至少有一些集群的连接带宽会比其他的集群低许多。

可是作者表示,他并不是太明白OpenAI在如此高的管线并行度下,如何防止在每批中产生如下图这样的「泡泡」(huge bubbles),很有或许OpenAI便是生生地抗下了这些本钱。

GPT-4内幕大泄露!1.8万亿巨量参数,13万亿token训练,斥资6300万美元

练习本钱

OpenAI练习GPT-4的FLOPS约为2.15e25,在大约25000个A100上练习了90到100天,利用率在32%到36%之间。

这种极低的利用率,部分原因是故障数量过多,这就会导致需求重新从之前的检查点开端练习。比方上面说到的气泡本钱。

这种情况浪费的练习本钱极高。

另一个原因是这么多GPU之间的all-reduce十分贵重。

GPT-4内幕大泄露!1.8万亿巨量参数,13万亿token训练,斥资6300万美元

此图表假定,无法融合每个操作、留意力机制所需的内存带宽、硬件开销相当于参数读取,都会导致功率低下。实际上,即使运用优化的库,比方英伟达的FasterTransformrmer库,总开销乃至还会更大

爆料作者怀疑,假如这种集群实际上是一群具有较弱网络连接的较小集群构成的,那么集群不同部分之间的非阻断(non-block)连接速度为800G/1.6T,但这些部分之间的连接速度仅为200G/400G。

假如OpenAI云核算的本钱是差不多1美元/每A100小时的话,那么在这样的条件下,练习本钱大约是6300万美元。

这还不包括一切的试验、失利的练习和其他本钱,比方数据搜集、RLHF、人力本钱等。

假如考虑到刚刚说的这些要素,真实本钱要高得多的多。

此外,这还得是在能他人买得到芯片/网络/数据中心,承当本钱支出组建了这些体系,并将它们租给OpenAI的前提下。

可是放到今日,在2美元/每H100小时的条件下,预练习可以在大约8,192个H100上进行,只需求55天,费用为2150万美元。

GPT-4内幕大泄露!1.8万亿巨量参数,13万亿token训练,斥资6300万美元

上图显现了一些已揭露的先进模型各自的参数数量和token。图中的线是谷歌DeepMind的Chinchilla缩放观测值(平滑了较大的误差条),线上的每一点都显现了运用该参数和token数练习模型所需的理论FLOPS

不过,爆料作者称到今年年底,至少将会有9个公司具有超越上述巨细的H100集群。

虽然并非一切这些公司都会将它们悉数用于单个模型练习,但假如有公司这样做的话,他们将具有比GPT-4更大的模型。

比方Meta到今年年底将具有超越100,000个H100,但其间相当一部分将散布在自己的数据中心进行推理。

可是它最大的单个集群仍将超越25,000个H100。

总之,到今年年底,许多公司都会具有满足的算力资源,来练习GPT-4巨细的模型。

GPT-4内幕大泄露!1.8万亿巨量参数,13万亿token训练,斥资6300万美元

本表是在英伟达A100上练习模型的理论最佳本钱,没有考虑所需的人力、ML Ops东西、数据搜集/预处理、故障康复、one-shot/few-shot学习示例、推理等,许多部分的本钱高得惊人

混合专家模型方面的权衡

MoE(混合专家模型)是一种在推理进程中削减参数量的很好办法,虽然一起会添加参数量。

可是这对于每个练习符号来编码更多信息是必要的,由于获取满足高质量的符号十分困难。

假如OpenAI真的想追求最佳功用,他们需求练习两倍的token才干到达。

话虽如此,OpenAI仍是做出了不少的取舍。

例如,在推理进程中处理MoE十分困难,由于模型的每个部分并不在每个token生成时都被运用。

这意味着有些部分或许处于休眠状况,而其他部分在作业。

当为用户供给服务时,这种情况会大大下降利用率。

研讨人员已经证明,运用64-128个专家模型比运用16个专家模型可以取得更好的损失情况,但这仅仅是研讨结果。

选用相对比较少的专家模型的原因许多,OpenAI挑选16个专家的原因之一是由于在许多使命上更多的专家模型很难泛化。

运用更多的专家模型也更难完成收敛。

在如此巨大的练习进程中,OpenAI挑选在专家模型数量上反而更为保存。

此外,运用较少的专家模型还有助于他们的推理根底架构。在切换到混合专家模型推理架构时,存在各种困难的取舍和权衡。

爆料作者从对LLM推理的基本取舍开端评论,然后再评论OpenAI面临的问题和他们所做的挑选。

推理权衡

在介绍推理权衡之前,顺带提一下,爆料者与一切的LLM公司攀谈往后,发现英伟达的FasterTransformer推理库十分糟糕,TensorRT更是如此。

这意味着,假如英伟达不修改,人们还需求从头开端创立自己的解决方案。

推理大型言语模型有三个主要的权衡,即批巨细(一起处理用户数)维度和运用的芯片数量,详细如下:

1. 推迟

模型有必要在合理的推迟时刻内做出呼应。谁也不想在聊天APP中等候几秒钟才开端收到输出。预填(输入token)和解码(输出token)的处理时刻各不相同。

2. 吞吐量

模型有必要以每秒输出一定数量的token。人类大约需求每秒30个token。对于其他各种用例,较低和较高的吞吐量都可以接受。

3. 利用率

运转模型的硬件有必要完成高利用率,否则本钱过高。虽然更高的推迟和较低的吞吐量,可以用来将更多用户恳求组合在一起,然后完成更高的利用率,但也会添加难度。

LLM推理的关键是平衡内存带宽和核算这两个要点。

GPT-4内幕大泄露!1.8万亿巨量参数,13万亿token训练,斥资6300万美元

LLM理论带宽要求:经假定可得出,在iPhone 14上可跑的最大模型巨细为10亿个FP16参数,或40亿个int4参数,这是根据智能手机的LLM的基本约束,任何更大的模型会无法被选用

简略来讲,每个参数都有必要被读取,而且与之相关的有2个FLOP。

因而,大多数芯片的比率(H100 SXM仅有3TB/s内存带宽,但FP8有2,000 TFLOP/s)在批巨细为1的推理中彻底是不平衡的。

假如只要一个用户(批巨细为1),那么在每次生成token时,为了读取每个参数所需的内存带宽,会主要占据推理时刻,而核算时刻简直可以忽略不计。

为了将大型言语模型高效地扩展到多个用户,批处理巨细有必要超越1。多个用户将参数读取本钱分摊。例如,在批巨细为256/512时,每个字节的内存读取可以取得512 FLOP/s或1024 FLOP/s。

这个比率更接近H100的内存带宽与FLOPS之间的平衡。这有助于完成更高的利用率,但代价是更高的推迟。

许多人以为内存容量是LLM推理的一个主要瓶颈,由于大型模型需求多个芯片进行推理,而较高的内存容量意味着它们可以习惯较少的芯片。

然而,实际上更好的办法是运用更多的芯片,以便将推迟下降,添加吞吐量,而且可以运用更大的批巨细以完成更高的利用率。

GPT-4内幕大泄露!1.8万亿巨量参数,13万亿token训练,斥资6300万美元

GPT-4推理权衡和根底设施

以上所说到的,对GPT-4推理来说十分困难。可是作为一个MoE模型,再次引入了一系列全新的困难。

每个生成token的前向传递可以路由到不同的专家组。这对在较大的批巨细下的吞吐量、推迟和利用率之间的权衡造成了困扰。

OpenAI的GPT-4有16个专家,每个前向传递路由到其间2个专家。

这意味着假如批巨细为8,每个专家的参数读取或许只要批巨细为1。

更糟糕的是,这或许意味着一个专家的批巨细为8,而其他专家的批巨细为4、1或0。

每个生成token,路由算法都会将前向传递发送到不同的方向,导致token之间的推迟和专家批巨细明显变化。

推理根底设施是OpenAI挑选较少数量的专家的主要原因之一。假如他们挑选更多的专家,内存带宽会成为推理的瓶颈。

OpenAI的推理集群一般可以到达4k+的批巨细,这意味着即使在专家之间完成最佳的load平衡,专家的批巨细也只要大约500左右。这需求十分许多的运用才干完成。

爆料者称,咱们了解到OpenAI在一个由128个GPU组成的集群上进行推理。他们在多个数据中心和地理位置上都有多个这样的集群。

推理选用8路张量并行和16路管线并行。每个由8个GPU组成的节点只要约130B的参数,或许在FP16下每个GPU不到30GB,在FP8/int8下不到15GB。

这样可以在40GB的A100上运转推理,只要一切批的KV缓存巨细不会过大。

不同节点上的包括不同专家的层不会被切割,由于那样会导致网络流量过于不规则,而在每个生成token之间重新核算KV缓存的代价太高。

对于未来的MoE模型扩展和条件路由,最大的困难是如何处理KV缓存的路由。

模型的层数为120,所以可以简略地将它们分配给15个不同的节点,可是由于第一个节点需求进行数据加载和嵌入,所以在推理集群的主节点上放置较少的层是有意义的。

此外,有一些关于「估测解码」(后续)的风闻,这也解说了为什么主节点需求包括较少的层。

推理本钱

与具有1750亿参数的Davinchi模型比较,GPT-4的本钱是其3倍,虽然其前馈参数只添加了1.6倍。

这主要是由于GPT-4需求更大的集群,而且完成的利用率更低。

作者以为,在128个A100上推理GPT-4的8k序列长度每1,000个符号的本钱为0.0049美元,而在128个H100上推理GPT-4的8k序列长度每1,000个符号的本钱为0.0021美元。

需求留意的是,这是假定有相当高的利用率,并坚持较高批巨细的情况下。

但很明显,OpenAI有时的利用率十分低。

GPT-4内幕大泄露!1.8万亿巨量参数,13万亿token训练,斥资6300万美元

对此作者假定,OpenAI会在低峰时段关闭集群,重新配置节点,康复练习较小的测试模型,并尝试各种新技术,然后下降推理本钱。

假如OpenAI不这样做,他们的利用率会更低,而本钱也将添加一倍以上。

多查询留意力

除此之外,OpenAI也在运用多查询留意力(Multi-Query Attention,MQA)。

GPT-4内幕大泄露!1.8万亿巨量参数,13万亿token训练,斥资6300万美元

论文地址:arxiv.org/pdf/1911.02…

简而言之,只需求一个留意力头,而且可以明显削减KV缓存的内存占用。

即便如此,32k长度的GPT-4必定无法在40GB的A100上运转,而8k的最大批巨细也有上限。

接连批处理

OpenAI完成了可变批巨细和接连批处理。

这样做可以答应一定程度的最大推迟,并优化推理本钱。

GPT-4内幕大泄露!1.8万亿巨量参数,13万亿token训练,斥资6300万美元
GPT-4内幕大泄露!1.8万亿巨量参数,13万亿token训练,斥资6300万美元

估测解码(Speculative Decoding)

爆料称,OpenAI在GPT-4的推理进程中运用了「估测解码」,这其间还有100%的不确认性。

token到token的推迟变化,以及在进行简略的检索使命和更杂乱的使命时差异,似乎标明这一点是或许的,不过仍是有太多的变量无法确认。

在此,爆料者经过DeepMind的一项研讨「Accelerating LLM Inference with Staged Speculative Decoding」中的文本,进行了恰当修改/添加一些细节,进行了解说。

GPT-4内幕大泄露!1.8万亿巨量参数,13万亿token训练,斥资6300万美元

运用LLM一般分为两个阶段。

首要是预填充(prefill),将提示文本输入模型中以生成KV缓存和第一个输出的对数几率(或许的token输出的概率散布)。这个进程一般很快,由于整个提示文本可以并行处理。

第二个阶段是解码(decoding)。从输出的对数几率中挑选一个token,并将其反应到模型中,模型将生成下一个token的对数几率。重复这个进程,直到生成所需数量的token。

由于解码有必要按次序进行,每次都需求将权重流经过核算单元以生成单个token。因而当以小量批运转时,这个第二阶段的核算密布度(即核算FLOP/内存带宽的字节数)十分低。因而,解码一般是自回归生成中最贵重的部分。

这便是为什么OpenAI的API调用中,输入token比输出token廉价得多的原因。

「估测解码」的基本思想是运用一个更小、更快的草案模型提早解码多个token,然后将它们作为一个批输入到猜测模型中。

假如草案模型的猜测是正确的,即更大的模型也赞同这些猜测,那么可以运用单个批解码多个token,这样可以节约许多的内存带宽和时刻。

然而,假如更大的模型拒绝了草案模型猜测的token,则剩余的批将被丢掉,算法自然会康复到标准的逐个token解码。

「估测解码」或许还伴随着拒绝抽样的方案,以从原始散布中进行采样。值得留意的是,这仅在带宽是瓶颈的小批设置中有用。

「估测解码」以核算交换带宽,而成为一个有吸引力的功用工程方针有两个关键原因:

首要,它不会下降模型质量。其次,它供给的功用改进一般与其他办法正交,由于其功用来自于将「次序履行」转换为「并行履行」。

当时的估测办法为批猜测的单独序列。然而,这种办法不能很好地拓宽到许多的批,或低草案模型对齐上。

直观地说,两个模型在接连长序列的token上达到共同的概率呈指数级低,这意味着随着算术密度的添加,估测解码的收益会敏捷削减。

爆料者以为,假如OpenAI运用「估测解码」,他们或许只在大约4个token的序列中运用。

顺便提一句,有关OpenAI阉割,而导致GPT-4质量下降的整个阴谋,或许只是由于他们让猜测模型接受了「估测解码」模型的低概率序列。

另外有人估测,Bard也运用了「估测解码」,由于谷歌在将整个序列发送给用户之前会等候其彻底生成,但在爆料者以为,这种猜测是彻底不正确的。

视觉多模态

视觉多模态才能是GPT-4中最不令人形象深刻的部分,至少与抢先的研讨比较是如此。

当然,现在还没有人将多模态LLM的研讨成果商业化。

爆料者称,它是一个独于文本编码器的视觉编码器,还有穿插留意力,架构类似于Flamingo,并在GPT-4 1.8T上添加了更多参数。

GPT-4多模态才能是在文本预练习之后,又用大约2万亿token进⾏了微调。

据称,在视觉模型上,OpenAI本来希望从头开端练习,但因其不够老练,无法从文本练习模型进行微调。

而下一代模型GPT-5,其练习应该从零开端练习视觉模型,而且可以生成图画,乃至生成音频。

这样的视觉才能主要目的之一,让自主智能体可以阅读网页,并转录图画,视频中的内容。

值得一提的是,OpenAI用来练习多模态模型的数据包括:「联合数据」(LaTeX/文本)、网页屏幕截图、YouTube视频(采样帧,以及运转Whisper获取字幕)。

关于LLM的过度优化,一个风趣的事实是视觉模型的IO本钱不同于文本模型。在视觉模型中,数据加载IO大约是文本模型的150倍。

GPT-4内幕大泄露!1.8万亿巨量参数,13万亿token训练,斥资6300万美元

视觉模型的IO本钱很低

视觉模型中的每个token 600字节,文本是4字节/token。

因而这需求在图画压缩方面做许多作业。这对于硬件供货商来说极为重要,由于他们正在环绕LLM的用例和比率优化2-3年后的硬件。

他们或许会发现自己身处的国际中,每个模型都具有强大的视觉和音频功用。

他们或许会发现自己的架构习惯性会很差。

总的来说,架构必定会超越咱们今日看到的根据文本简化的密布模型,和MoE模型。

参考资料:

www.semianalysis.com/p/gpt-4-arc…