今天小編分享的互聯網經驗:關于GPT-4的參數數量、架構、基礎設施、訓練數據集、成本等信息洩露,歡迎閱讀。
品玩 7 月 11 日訊,據 Twitter 博主 Yam Peleg 的推文,發布了一個關于 GPT-4 的技術信息,包括 GPT-4 的架構、參數數量、訓練成本、訓練數據集等。
參數數量:GPT-4 比 GPT-3 大 10 倍,估計參數數量在 120 層、1.8 萬億左右。
MoE 架構:即 Mixture-of-Experts 架構,這部分信息已經确認,OpenAI 通過利用 MoE 架構保持一定的成本,包含 16 個 Experts,每一個都是一個 MLP.2,約 1110 億參數,每個前向傳播都被路由到這些專家中
MoE 路由:盡管公開的技術文檔中說了很多高級的路由功能,包括每個 token 如何選擇每個專家等。但是現有 GPT-4 其實非常簡單,大約就是為每個 attention 共享 550 億參數的方式。
推理:每一個前向傳播的推理(生成一個 token)需要 2800 億參數以及 560 TFLOPS,這與純 dense 模型每次正向傳遞所需的約 1.8 萬億參數和 3700 TFLOPS 形成了鮮明對比。
訓練數據集:GPT-4 在約 13 萬億 tokens 上訓練。這不是指不同的 token 數量,是根據 epochs 計算使用的 token 數量。基于文本的數據集做了 2 次 epoch 訓練,基于代碼的數據集做了 4 次 epoch 訓練。
GPT-4 32K:每一個預訓練階段都是 8K 的長度。32K 的版本是 8K 預訓練模型之後微調得到的。
Batch Size:batch size 是逐漸上升的,在集群中經過幾天的時間達到一個數值。最終,OpenAI 的 Batch Size 達到了 6000 萬!也就是每個專家大約有 750 萬的 token 數量,但是并不是每個專家都能看到所有的 tokens。
并行策略:由于 NVLink 的限制,OpenAI 訓練 GPT-4 做了 8 路 tensor 并行,15 路的 pipeline 并行。
訓練成本:OpenAI 訓練 GPT-4 的 FLOPS 約 2.15e25,在 2.5 萬個 A100 上訓練了 90-100 天左右時間(MFU 約 32% 到 36%),如果是一個 A100 約 1 美元,那麼訓練成本約 6300 萬美元(如果現在使用 H100 可能只要 2150 萬美元)。
MoE 的取舍:使用 MoE 之後做了很多取舍,包括推理的處理困難,因為每個模型都用來生成文本。這意味着生成的時候有的可以使用,有的空閒,對使用率來說非常浪費。研究顯示 64-128 個專家的損失比 16 個專家更好。
GPT-4 的推理成本:比 1750 億的 Davinchi(GPT-3/3.5 系列)高 3 倍,主要是 GPT-4 的集群太大,利用率低一點。估計約 1k tokens 要 0.0049 美元(128 個 A100)。
MOA:Multi Query Attention,和其他人一樣,都是正常使用 MOA。因為只需要 1 個 head,顯存大大下降,但是 32K 依然無法在 A100 40G 運行。
持續 batching:OpenAI 使用可變的 batch size 和持續 batching 方法。可以平衡推理成本和推理速度。
Vision Multi-Modal:GPT-4 的多模态部分是單獨一個 visiion encoder,帶有 cross attention。使得 1.8 萬億的 GPT-4 的參數擴展到 2 萬億左右。VisionModel 是從頭訓練的,還不夠成熟。Vision 部分的一個作用是讓代理可以月度網頁,然後轉換成圖片和視頻。部分數據是基于 Latex 與螢幕截屏訓練的。還有 YouTube 視頻,包括使用 whisper 翻譯的腳本與抽幀結果。
推理架構:推理是在 128 個 GPU 集群上運行的,在不同的區網域有不同的集群。每個節點有 8 個 GPU,包含 1300 億參數的模型。或者說每個 GPU 少于 30GB 的 FP16、少于 15GB 的 FP8/int8。