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