今天小編分享的科技經驗:GPT-4被破解,訓練成本,模型架構的秘密都被挖出來了?,歡迎閲讀。
幾個小時前 SemiAnalysis 的 DYLAN PATEL 和 DYLAN PATEL 發布了一個關于 GPT-4 的技術信息,包括 GPT-4 的架構、參數數量、訓練成本、訓練數據集等。本篇涉及的 GPT-4 數據是由他們收集,并未公開數據源。僅供參考。
原文翻譯如下:
揭秘 GPT-4:導致 OpenAI 架構的工程權衡
OpenAI 保持 GPT-4 架構的封閉性并不是因為對人類存在一些生存風險,而是因為他們構建的東西是可復制的。事實上,我們預計 Google、Meta、Anthropic、Inflection、Character、騰訊、字節跳動、百度等在短期内都将擁有與 GPT-4 一樣強大的模型。
不要誤解我們的意思,OpenAI 擁有令人驚嘆的工程技術,他們構建的東西令人難以置信,但他們得出的解決方案并不神奇。這是一個優雅的解決方案,具有許多復雜的權衡。做大只是戰鬥的一部分。 OpenAI 最持久的護城河是他們擁有最真實的使用情況、領先的工程人才,并且可以通過未來的模型繼續領先于其他人。
我們從許多來源收集了大量有關 GPT-4 的信息,今天我們想分享一下。這包括模型架構、訓練基礎設施、推理基礎設施、參數計數、訓練數據集組成、令牌計數、層數、并行策略、多模态視覺适應、不同工程權衡背後的思維過程、獨特的實施技術以及它們如何減輕一些問題他們最大的瓶頸與巨型模型的推理有關。
GPT-4 最有趣的方面是理解他們為什麼做出某些架構決策。
此外,我們将概述 A100 上 GPT-4 的訓練和推理成本,以及如何在下一代模型架構中與 H100 進行擴展。
首先,問題陳述。從 GPT-3 到 4,OpenAI 希望擴展 100 倍,但問題是成本。 密集變壓器模型将無法進一步擴展。密集變壓器是 OpenAI GPT-3、Google PaLM、Meta LLAMA、TII Falcon、MosaicML MPT 等使用的模型架構。我們可以輕松説出 50 家使用相同架構培訓法學碩士的公司。這是一個很好的方法,但它在擴展方面存在缺陷。
從訓練成本的角度來看,請參閲我們在 GPT-4 公告之前關于即将推出的密集模型 AI 磚牆的訓練成本讨論。在那裏,我們揭示了 OpenAI 在 GPT-4 架構方面所做的高層工作以及各種現有模型的訓練成本。
在過去的 6 個月裏,我們意識到培訓成本無關緊要。
當然,從表面上看,花費數千萬甚至數億美元的計算時間來訓練模型似乎很瘋狂,但這對于這些公司來説是微不足道的。它實際上是一個資本支出項目,規模擴大可以持續帶來更好的結果。唯一的限制因素是将計算擴展到人類可以獲得反饋并修改架構的時間尺度。
未來幾年,谷歌、Meta、OpenAI/ 微軟等多家公司将在價值超過千億元的超級計算機上訓練模型。Meta 每年在 "Metaverse" 上燃燒超過 160 億美元,Google 每年在各種永遠不會實現成果的項目上浪費 100 億美元。亞馬遜在 Alexa 上損失了超過 50 億美元。加密貨币在毫無價值的事情上浪費了超過 1000 億美元。
這些公司和整個社會可以而且将會花費超過一千億美元來創建可以訓練單個大規模模型的超級計算機。然後可以通過多種方式将這些大型模型產品化。這項工作将在多個縣和公司重復進行。這是新的太空競賽。以前的浪費與現在的區别在于,人工智能可以在短期内從人類助手和自主代理身上帶來有形的價值。
擴展人工智能(真正的人工智能磚牆)的更重要問題目标是将訓練計算與推理計算分離。這就是為什麼訓練 Chinchilla 對于任何将要部署的模型來説都是最佳的。這就是為什麼要進行稀疏模型架構;每個參數在推理過程中都不會被激活。
真正的戰鬥是将這些模型擴展到用户和代理的成本太高。推理成本是訓練成本的數倍。這就是 OpenAI 在模型架構和基礎設施方面的創新目标。
大型模型的推理是一個多變量問題,其中模型大小會導致密集模型的死亡。
我們已經在這裏詳細讨論了有關邊緣的問題,但數據中心的問題陳述非常相似。簡而言之,設備永遠不可能有足夠的内存帶寬來容納大型語言模型來實現一定水平的吞吐量。即使它們有足夠的帶寬,邊緣硬體計算資源的利用率也會很糟糕。
在數據中心、雲中,利用率就是一切。 Nvidia 因其卓越的軟體而受到贊譽的一半原因是,在 GPU 的幾代生命周期中,Nvidia 不斷更新低級軟體,通過在芯片周圍、芯片和内存之間更智能地移動數據來提高 FLOPS 利用率。
目前大多數用例中的 LLM 推理都是作為實時助手運行,這意味着它必須實現足夠高的吞吐量,以便用户可以實際使用它。人類平均每分鍾閲讀約 250 個單詞,但有些人的閲讀速度高達每分鍾約 1,000 個單詞。這意味着您需要每秒至少輸出 8.33 個令牌,但每秒需要輸出 33.33 個令牌才能覆蓋所有極端情況。
由于内存帶寬要求,即使在最新的 Nvidia H100 GPU 伺服器上,萬億參數密集模型在數學上也無法實現此吞吐量。每個生成的令牌都需要将每個參數從内存加載到芯片上。然後,将生成的令牌輸入到提示中,并生成下一個令牌。此外,注意力機制的 KV 緩存中的流傳輸需要額外的帶寬。
上圖展示了以足夠高的吞吐量推理 LLM 以便為單個用户提供服務所需的内存帶寬。它表明,即使 8x H100 也無法以每秒 33.33 個令牌的速度提供 1 萬億參數密集模型。此外,每秒 20 個令牌的 8xH100 的 FLOPS 利用率仍低于 5%,導致推理成本非常高。實際上,目前的 8 路張量并行 H100 系統存在約 3000 億個前饋參數的推理約束。
然而,OpenAI 正在通過 A100 實現人類的閲讀速度,其模型超過 1 萬億個參數,并且以每 1,000 個代币僅 0.06 美元的低價廣泛提供。那是因為它是稀疏的,IE 并不是每個參數都被使用。
廢話夠多了,我們來談談 GPT-4 模型架構、訓練基礎設施、推理基礎設施、參數計數、訓練數據集組成、标記計數、層數、并行策略、多模态視覺編碼器、不同工程權衡背後的思維過程、獨特的實施的技術,以及它們如何緩解與大型模型推理相關的一些最大瓶頸。
總結主要的關于 GPT-4 的信息(總結來自 Yam Peleg 的推文):
參數數量: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。
原文鏈接:點擊前往