GPT-4核心数据解密.docx
GPT4核心数据解密7月11日,半导体咨询研究公司SemiAnaIysis发布文章,对OPenA1的GPT-4模型的架构、训练数据集、参数、成本等重要信息进行了深度揭秘文章指出,GPT-4的模型参数在1.8万亿左右、13万亿训练数据、一次训练成本6300万美元等。SemiAna1ySiS曾曝光过谷歌的内部文件我们、OPenAI都没有护城河",其真实性得到了验证。所以,此次爆料的GPT-4大模型数据,不少人认为比较靠谱。例如,此次爆料的GPT-4的参数在1.8万亿左右。前几天著名黑客GeorgeHotz在接受采访时表示,GPT-4由8个混合模型组成每个模型参数为2200亿,数据上基本一致。GPT-4Architecture,Infrastructure,TrainingDatasetfCosts,Vision,MoEDemystifyingGPT-4:Theengineeringtradeoffsthat1edOpenAItotheirarchitecture.MDY1ANPA1ANDGERA1DWONG2023年7月11日PAIDQ57010ShareIfyouwi11btinHawaiiforICM1.1etu$know,1et'shangout!OpenAIiskeepingthearchitectureofGPT-4c1osednotbecauseofsomeexistentia1risktohumanitybutbecausewhatthey,vebui1tisrep1icab1e.Infact,weexpectGoog1e,Meta,Anthropic,Inf1ection,Character,Tencent,ByteDance,Baidu,andmoretoa11havemode1sascapab1easGPT-4ifnotmorecapab1einthenearterm.SemiAnaIysis认为,OPenA1一直不对外公布GPT-4的核心数据,并不是因为风险问题,而是GPT-4大模型是可以复制的。事实上,像谷歌、Meta.Anthropicx百度、字节跳动、腾讯等科技公司,都有实力开发出这样的产品。FAIGC开放社区根据SemiAnaIysis的文章,对GPT-4大模型的核心数据进行了整理,以下内容仅供参考。模型架构GPT-4的模型参数大约是GPT-3(公布参数为1750亿)的10倍以上。SemiAnaIySiS认为,其在120层网络中总共有1.8万亿参数。Mode1ArchitectureGPT-4ismorethanIOxthesizeofGPT-3.Webe1ieveithasatota1of1.8tri11ionparametersacross1201ayersversusthe175bi11ionparametersofGPT-3.OpenAIwasab1etokeepcostsreasonab1ebyuti1izingamixtureofexperts(MoE)mode1.Ifyouareunfami1iarwithMoE,readourpostaboutthebroadGPT-4architectureandtrainingcostfrom6monthsOpenAI通过使用混合专家(MoE)模型能够将成本保持在合理水平。在GPT-4模型中使用了16个专家模型,每个M1P专家大约有Ino亿个参数。每个前向传递都会路由其中2个专家。虽然OPenA1在文献中大量论述了用于选择将每个token路由到哪些专家的高级路由算法,但对于当前的GPT-4模型来说,OpenAI的算法相当简单。模型中大约有550亿个参数,被用做注意力机制的共享。每次的前向传播推理(生成一个token)中,GPT-4只需要使用大约2800亿参数和560TF1OPso相比之下,纯密集模型每次前向传播需要大约1.8万亿个参数和约3700TF1OP的计算量。关于混合专家模型:混合专家是一种机器学习模型,通过将多个子模型(称为“专家")的预测结果进行组合,以获得更好的总体预测效果。MoE模型的基本思想是,不同的子模型可能会在处理不同类型的输入数据时表现出优势。例如,在处理图像数据时,某些模型可能擅长识别形状,而其他模型可能擅长识别颜色。通过将这些子模型的预测结果混合在一起,MoE模型可以在各种任务中实现更好的性能。训练数据OpenAI大约在13万亿token数据上训练了GPT-4o这些训练数据是重复计算之后的结果多个Epoch中的token都计算在内。据悉,谷歌的大模型Pa1M2也使用了大约5万亿token的训练数据。DatasetCompositionOpenAItrainedGPT-4on13tri11iontokens.Thismakessense,givenCommonCraw1forRefinedWebcontains5tri11iontokenshigh-qua1ittokens.Forreference,DeepmindsChinchi11aandGoog1esPa1Mmode1weretrainedwith1.4tri11iontokensand0.78triDiontokens,respective1y.EvenPa1M2isa11eged1ytrainedon5tri11iontokens.EPoCh数量针对基于文本的数据进行了2个Epoch的训练,而针对基于代码的数据进行了4个Epoch的训练。此外,还有来自ScaIeAI和内部的数百万行的指令微调数据。在预训练阶段,GPT-4使用了8k的上下文长度,而32k的版本是基于预训练后的8K版本微调而来的。并行策略并行策略对于在A100GPU进行优化相当重要。为了在所有A1OOGPU上进行并行计算,OPenA1采用了8路张量并行,因为这是NV1ink的极限。除此之外,据说OpenAI采用15路并行管线。Para11e1ismStrategiesTheStrategyforpara11e1izingacrossa11theirAiooGPUsiscritica11yimportant.Theyuti1ized8-waytensorpara11e1ismasthatisthe1imitforNV1ink.Beyondthat,weheartheyareusing15-waypipe1inepara11e1ism.Theoretica11y,thisistoomanypipe1ineswhenconsideringdata-commvscomputetime,butiftheyarememocapacit'bound,thenitmakessense.理论上,考虑到数据通信和计算时间,15个管线就有些多了。但是一旦加上了KV缓存和成本,如果OPenAI使用的GPU大部分是40GB的A1OO,那这样的构架在理论上就是有意义的。至于为什么不使用完整模型的FSDP,可能是因为通信开销较高。虽然OPenA1在大多数节点之间具有高速网络,但可能并非在所有节点之间都具有高速网络。训练成本OpenAI训练GPT-4的F1OPS约为2.15e25,在大约25000个A1OO上训练了90至!J100天,利用率在32%至I36%之间。故障数量过多也是极低利用率的原因,这会导致需要重新从之前的检查点开始训练。TrainingCostOpenAstrainingF1OPSforGPT-4is2.15e25,on-25,000Aioosfor90to100daysatabout32%to36%MFU.Partofthisextreme1y1owuti1izationisduetoanabsurdnumberoffai1uresrequiringcheckpointsthatneededtoberestartedfrom.Theabovementionedbubb1esareextreme1ycost1y.Anotherreasonisthata11-reducebetweenthatmanyGPUsisextreme1ycost1y.Theisespecia11ytrueif,aswesuspect,thec1usterisrea1h,abunchofsma11erc1usterswithmuchweakernetworkingbehveenthemIE800G1.6Tnon-b1ockingbehveensegmentsofthec1uster,butthosesegmentsareon1yconnectedat200G400G.如果OPenA1云计算的成本是差不多1美元/每A1oO小时的话,那么在这样的条件下,仅一次训练的成本大约是6300万美元。不包括所有的实验、失败的训练和其他成本,例如,数据收集、R1HF.人力成本等。如果使用约8192个H1OOGPU(每小时2美元)进行预训练,时间降至55天左右,成本为2150万美元。SemiAna1ySiS认为,到今年年底,将有9家公司拥有更多H1OOo其中,Meta将拥有超过10万个H1OO,但其中很大一部分将分布在其数据中心用于推理。专家模型的权衡MoE是一种在推理过程中减少参数量的很好方法,但同时他会增加参数量。如果OPenA1真的想追求最佳性能,他们需要训练2倍的token数据才能达到。采用相对比较少的专家模型的原因很多,OPenA1选择16个专家的原因之一在于,在执行许多任务上,更多的专家模型很难泛化,也更难实现收敛。MixtureofExpertTradeoffsMoEisagreatwaytoreduceparametercountduringinferencewhi1esti11pumpingupparametercount,whichisrequiredtoencodemoreinformationpertrainingtoken.Thisisnecessanasacquiringenoughhigh-qua1itjtokensisextreme1ydifficu1t.OpenAIwou1dhavehadtotrainon2xthetokensiftheywereactua11ytningtogoChinchi11aoptima1.Withthatsaid,therearemu1tip1etradeoffsthatOpenAIhasmade.Forexamp1e,MoEisincredib1ydifficu1ttodea1Withoninferencebecausenoteverypartofthemode1isuti1izedoneve,tokengeneration.Thismeanspartsmaysitdormantwhenotherpartsarebeingused,rhenseingusers,thisrea11yhurtsuti1izationrates.OpenAI也做出了多种权衡。例如,在推理过程中处理MoE非常困难,因为并非模型的每个部分都在每个token生成时被利用。这意味着在某些部分被使用时,其他部分可能处于闲置状态。在为用户提供服务时,这会严重影响资源利用率。研究人员已经证明使用64到128个专家比使用16个专家能够实现更好的损失,但这仅仅是研究的结果。选择较少的专家模型有多个原因。OPenA1选择16个专家模型的一大原因是:在许多任务中,更多的专家模型很难泛化,也可能更难收敛。推理权衡大型语言模型的推理存在3个主要权衡,这些权衡沿着批量大小(服务的并发用户数量)维度和所使用的芯片数量进行。