一直以來(lái),大家都對(duì) GPT-4 的模型架構(gòu)、基礎(chǔ)設(shè)施、訓(xùn)練數(shù)據(jù)集、成本等信息非常好奇。
奈何 OpenAI 嘴太嚴(yán),很長(zhǎng)時(shí)間以來(lái),大家也都只是猜測(cè)這些數(shù)據(jù)。
不久之前,「天才黑客」喬治?霍茲(George Hotz)在接受一家名為 Latent Space 的 AI 技術(shù)播客采訪時(shí)透露出一個(gè)小道消息,稱 GPT-4 是由 8 個(gè)混合專家模型組成的集成系統(tǒng),每個(gè)專家模型都有 2200 億個(gè)參數(shù)(比 GPT-3 的 1750 億參數(shù)量略多一些),并且這些模型經(jīng)過(guò)了針對(duì)不同數(shù)據(jù)和任務(wù)分布的訓(xùn)練。
雖然此消息無(wú)法驗(yàn)證,但其流傳度非常高,也被部分業(yè)內(nèi)人士認(rèn)為非常合理。
最近,更多的消息似乎被泄露了出來(lái)。
今日,SemiAnalysis 發(fā)布了一篇付費(fèi)訂閱的內(nèi)容,「揭秘」了有關(guān) GPT-4 的更多信息。
文章稱,他們從許多來(lái)源收集了大量有關(guān) GPT-4 的信息,包括模型架構(gòu)、訓(xùn)練基礎(chǔ)設(shè)施、推理基礎(chǔ)設(shè)施、參數(shù)量、訓(xùn)練數(shù)據(jù)集組成、token 量、層數(shù)、并行策略、多模態(tài)視覺適應(yīng)、不同工程權(quán)衡背后的思維過(guò)程、獨(dú)特的實(shí)現(xiàn)技術(shù)以及如何減輕與巨型模型推理有關(guān)的瓶頸等。
作者表示,GPT-4 最有趣的方面是理解 OpenAI 為什么做出某些架構(gòu)決策。
此外,文章還介紹了 A100 上 GPT-4 的訓(xùn)練和推理成本,以及如何拓展到下一代模型架構(gòu) H100 。
我們根據(jù) Deep Trading(一家算法交易公司)創(chuàng)始人 Yam Peleg 的推文(目前已刪除),整理了以下關(guān)于 GPT-4 的數(shù)據(jù)信息。感興趣的讀者可以細(xì)致研究下。
不過(guò)請(qǐng)注意,這并非官方確認(rèn)的數(shù)據(jù),大家自行判斷其準(zhǔn)確性。
1、參數(shù)量:GPT-4 的大小是 GPT-3 的 10 倍以上。文章認(rèn)為它 120 層網(wǎng)絡(luò)中總共有 1.8 萬(wàn)億個(gè)參數(shù)。
2、確實(shí)是混合專家模型。OpenAI 能夠通過(guò)使用混合專家(MoE)模型來(lái)保持合理成本。他們?cè)谀P椭惺褂昧?16 個(gè)專家模型,每個(gè)專家模型大約有 111B 個(gè)參數(shù)。這些專家模型中的 2 個(gè)被路由到每個(gè)前向傳遞。
3、MoE 路由:盡管文獻(xiàn)中對(duì)于選擇將每個(gè) token 路由到哪個(gè)專家模型的高級(jí)路由算法進(jìn)行了大量討論,但據(jù)稱 OpenAI 在當(dāng)前的 GPT-4 模型中采用了相當(dāng)簡(jiǎn)單的路由方式。該模型大約使用了 550 億個(gè)共享參數(shù)來(lái)進(jìn)行注意力計(jì)算。
4、推理:每次前向傳遞的推理(生成 1 個(gè) token)僅利用約 2800 億個(gè)參數(shù)和約 560 TFLOP 的計(jì)算量。相比之下,純密集模型每次前向傳遞需要大約 1.8 萬(wàn)億個(gè)參數(shù)和約 3700 TFLOP 的計(jì)算量。
5、數(shù)據(jù)集:GPT-4 的訓(xùn)練數(shù)據(jù)集包含約 13 萬(wàn)億個(gè) token。這些 token 是重復(fù)計(jì)算之后的結(jié)果,多個(gè) epoch 中的 token 都計(jì)算在內(nèi)。
Epoch 數(shù)量:針對(duì)基于文本的數(shù)據(jù)進(jìn)行了 2 個(gè) epoch 的訓(xùn)練,而針對(duì)基于代碼的數(shù)據(jù)進(jìn)行了 4 個(gè) epoch 的訓(xùn)練。此外,還有來(lái)自 ScaleAI 和內(nèi)部的數(shù)百萬(wàn)行的指令微調(diào)數(shù)據(jù)。
6、GPT-4 32K:在預(yù)訓(xùn)練階段,GPT-4 使用了 8k 的上下文長(zhǎng)度(seqlen)。而 32k 序列長(zhǎng)度版本的 GPT-4 是在預(yù)訓(xùn)練后對(duì) 8k 版本進(jìn)行微調(diào)而得到的。
7、Batch Size:在計(jì)算集群上,幾天時(shí)間里,batch size 逐漸增加,最后,OpenAI 使用 batch size 達(dá)到了 6000 萬(wàn)!當(dāng)然,由于不是每個(gè)專家模型都能看到所有 token,因此這僅僅是每個(gè)專家模型處理 750 萬(wàn)個(gè) token 的 batch size。
真實(shí)的 batch size:將這個(gè)數(shù)字除以序列長(zhǎng)度(seq len)即可得到真實(shí)的 batch size。請(qǐng)不要再使用這種誤導(dǎo)性的數(shù)字了。
8、并行策略:為了在所有 A100 GPU 上進(jìn)行并行計(jì)算,他們采用了 8 路張量并行,因?yàn)檫@是 NVLink 的極限。除此之外,他們還采用了 15 路流水線并行。(很可能使用了 ZeRo Stage 1,也可能使用了塊級(jí)的 FSDP)。
9、訓(xùn)練成本:OpenAI 在 GPT-4 的訓(xùn)練中使用了大約 2.15e25 的 FLOPS,使用了約 25,000 個(gè) A100 GPU,訓(xùn)練了 90 到 100 天,利用率(MFU)約為 32% 至 36%。這種極低的利用率部分是由于大量的故障導(dǎo)致需要重新啟動(dòng)檢查點(diǎn)。
如果他們?cè)谠贫说拿總€(gè) A100 GPU 的成本大約為每小時(shí) 1 美元,那么僅此次訓(xùn)練的成本將達(dá)到約 6300 萬(wàn)美元。(而如今,如果使用約 8192 個(gè) H100 GPU 進(jìn)行預(yù)訓(xùn)練,用時(shí)將降到 55 天左右,成本為 2150 萬(wàn)美元,每個(gè) H100 GPU 的計(jì)費(fèi)標(biāo)準(zhǔn)為每小時(shí) 2 美元。)
10、使用專家混合模型時(shí)的 tradeoff:在使用專家混合模型時(shí)存在多方面 tradeoff。
例如,在推理過(guò)程中處理 MoE 非常困難,因?yàn)椴⒎悄P偷拿總€(gè)部分都在每個(gè) token 生成時(shí)被利用。這意味著在某些部分被使用時(shí),其他部分可能處于閑置狀態(tài)。在為用戶提供服務(wù)時(shí),這會(huì)嚴(yán)重影響資源利用率。研究人員已經(jīng)證明使用 64 到 128 個(gè)專家比使用 16 個(gè)專家能夠?qū)崿F(xiàn)更好的損失(loss),但這僅僅是研究的結(jié)果。
選擇較少的專家模型有多個(gè)原因。OpenAI 選擇 16 個(gè)專家模型的一大原因是:在許多任務(wù)中,更多的專家模型很難泛化,也可能更難收斂。
由于進(jìn)行了如此大規(guī)模的訓(xùn)練,OpenAI 選擇在專家模型數(shù)量上更加保守。
11、推理成本:GPT-4 的推理成本是 1750 億參數(shù)的 Davinci 模型的 3 倍。這主要是因?yàn)?GPT-4 需要更大規(guī)模的集群,并且達(dá)到的利用率要低得多。
據(jù)估計(jì),在用 128 個(gè) A100 GPU 進(jìn)行推理的情況下,8k 版本 GPT-4 推理的成本為每 1,000 個(gè) token 0.0049 美分。如果使用 128 個(gè) H100 GPU 進(jìn)行推理,同樣的 8k 版本 GPT-4 推理成本為每 1,000 個(gè) token 0.0021 美分。值得注意的是,這些估計(jì)假設(shè)了高利用率和保持較高的 batch size。
12、Multi-Query Attention:OpenAI 和其他機(jī)構(gòu)一樣,也在使用 Multi-Query Attention(MQA)。由于使用 MQA 只需要一個(gè)注意力頭(head),并且可以顯著減少用于 KV 緩存的內(nèi)存容量。即便如此,32k 序列長(zhǎng)度的 GPT-4 也絕對(duì)無(wú)法在 40GB 的 A100 GPU 上運(yùn)行,而 8k 序列長(zhǎng)度的模型則受到了最大 batch size 的限制。
13、連續(xù) batching:OpenAI 實(shí)現(xiàn)了可變 batch size 和連續(xù) batching。這樣做是為了允許一定程度的最大延遲,并優(yōu)化推理成本。
14、視覺多模態(tài):它是一個(gè)獨(dú)立于文本編碼器的視覺編碼器,二者之間存在交叉注意力。該架構(gòu)類似于 Flamingo。這在 GPT-4 的 1.8 萬(wàn)億個(gè)參數(shù)之上增加了更多參數(shù)。在純文本的預(yù)訓(xùn)練之后,它又經(jīng)過(guò)了另外約 2 萬(wàn)億個(gè) token 的微調(diào)。
對(duì)于視覺模型,OpenAI 本來(lái)希望從零開始訓(xùn)練,但由于其尚未成熟,所以他們決定先從文本開始訓(xùn)練來(lái)降低風(fēng)險(xiǎn)。
這種視覺能力的主要目的之一是使自主智能體能夠閱讀網(wǎng)頁(yè)并轉(zhuǎn)錄圖像和視頻中的內(nèi)容。
他們訓(xùn)練的一部分?jǐn)?shù)據(jù)是聯(lián)合數(shù)據(jù)(包括渲染的 LaTeX / 文本)、網(wǎng)頁(yè)的截屏、YouTube 視頻(采樣幀),并使用 Whisper 對(duì)其進(jìn)行運(yùn)行以獲取轉(zhuǎn)錄文本。
15、推測(cè)式解碼(Speculative Decoding):OpenAI 可能在 GPT-4 的推理過(guò)程中使用了推測(cè)式解碼技術(shù)(不確定是否 100%)。這種方法是使用一個(gè)更小更快的模型提前解碼多個(gè) token,并將它們作為單個(gè) batch 輸入到一個(gè)大型的預(yù)測(cè)模型(oracle model)中。
如果小型模型對(duì)其預(yù)測(cè)是正確的,大型模型將會(huì)同意,我們可以在單個(gè) batch 中解碼多個(gè) token。
但是,如果大型模型拒絕了草稿模型預(yù)測(cè)的 token,那么 batch 中剩余的部分將被丟棄,然后我們將繼續(xù)使用大型模型進(jìn)行解碼。
有些陰謀論指出,新的 GPT-4 質(zhì)量已經(jīng)下降,這可能只是因?yàn)樗麄冏屚茰y(cè)式解碼模型(speculative decoding model)將概率較低的序列傳遞給預(yù)測(cè)模型,從而導(dǎo)致了這種誤解。
16、推理架構(gòu):推理運(yùn)行在由 128 個(gè) GPU 組成的集群上。在不同地點(diǎn)的多個(gè)數(shù)據(jù)中心存在多個(gè)這樣的集群。推理過(guò)程采用 8 路張量并行(tensor parallelism)和 16 路流水線并行(pipeline parallelism)。每個(gè)由 8 個(gè) GPU 組成的節(jié)點(diǎn)僅具有約 1300 億個(gè)參數(shù)。
該模型有 120 層,因此適合于 15 個(gè)不同的節(jié)點(diǎn)??赡艿谝粋€(gè)節(jié)點(diǎn)的層數(shù)較少,因?yàn)樗€需要計(jì)算嵌入。
根據(jù)這些數(shù)字,如果 OpenAI 試圖按照 chinchilla 的最佳指標(biāo)進(jìn)行訓(xùn)練,他們應(yīng)該使用的 token 數(shù)量是現(xiàn)在的兩倍。這表明他們?cè)讷@取高質(zhì)量數(shù)據(jù)方面遇到了困難。
最后想說(shuō)的是,這應(yīng)該是迄今為止關(guān)于 GPT-4 最為詳細(xì)的數(shù)據(jù)揭秘。目前還不能求證是否真實(shí),但也值得大家研究下。正如原文作者所說(shuō),「有趣的方面是理解 OpenAI 為什么做出某些架構(gòu)決策。」
關(guān)于 GPT-4 的這些架構(gòu)信息,你怎么看?
-
模型
+關(guān)注
關(guān)注
1文章
3254瀏覽量
48881 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1208瀏覽量
24725 -
OpenAI
+關(guān)注
關(guān)注
9文章
1096瀏覽量
6557
原文標(biāo)題:爆了!GPT-4模型架構(gòu)、訓(xùn)練成本、數(shù)據(jù)集信息都被扒出來(lái)了...
文章出處:【微信號(hào):CVer,微信公眾號(hào):CVer】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論