天天看點

想複現谷歌5400億參數的PaLM模型?測算租卡最少花1000萬美元!

想複現谷歌5400億參數的PaLM模型?測算租卡最少花1000萬美元!

新智元報道

編輯:LRS

【新智元導讀】最近有研究人員測算,租卡訓練一次谷歌PaLM模型的話,光計算成本就達上千萬美元了,還不包括資料、測試的開銷等,并且租GPU還比TPU劃算一些。

最近谷歌的PaLM語言模型橫空出世,接連打破多項自然語言處理任務的sota,這個擁有5400億參數的Transformer語言模型再次證明了「大力出奇迹」。

想複現谷歌5400億參數的PaLM模型?測算租卡最少花1000萬美元!

論文位址:https://storage.googleapis.com/pathways-language-model/PaLM-paper.pdf

除了用到強大的Pathways系統外,論文中介紹PaLM的訓練用到了6144個TPU v4,使用了7800億token的高品質資料集,并且其中有一定比例的非英文多語種語料。

一個字,就是「貴」

如果真的想複現一遍訓練過程的話,到底需要花多少錢?

有研究人員最近估算了一下成本,一個簡短的答案是:大概需要900萬-1700萬美元。

如果其他模型用作對比的話:BERT 訓練成本 1.2 萬美元、GPT-2 訓練成本 4.3 萬美元、XLNet 訓練成本 6.1 萬美元,110 億參數的谷歌T5模型單次訓練成本預估130萬美元。

想複現谷歌5400億參數的PaLM模型?測算租卡最少花1000萬美元!

需要注意的是,訓練成本并非一成不變,硬體改進、更先進的參數優化措施都可以降低訓練成本。不過,即使訓練成本大幅降低,但收集、清洗如此大規模的資料,也遠遠不是「窮博士」和「小公司」能夠負擔得起的。

訓練成本的摩爾定律

訓練機器學習模型的計算量一直在不斷飙升,需要采購的計算資源也大幅提升。

計算、資料和算法的進步是指導現代機器學習取得進展的三個基本因素,其中計算是最容易量化的,是以計算訓練成本通常就是看模型訓練所需的計算量。

有研究人員曾做過調研,在2010年之前,訓練裡程碑式的機器學習模型大體符合「摩爾定律」,大約20個月計算量翻一番。

但2010年初深度學習出現以後,訓練所需的計算量大幅提升,大約6個月就要翻一番。

到了2015年末,一個新的趨勢是預訓練大模型,由公司主導開發的大規模機器學習模型,對訓練計算的要求提高了10-100倍。

這三個時間段也被劃分為前深度學習時代、深度學習時代和大規模時代。

想複現谷歌5400億參數的PaLM模型?測算租卡最少花1000萬美元!

論文位址:https://arxiv.org/pdf/2202.05924.pdf

回到PaLM模型,可以看到5400億的參數量,讓PaLM攀到了計算山峰之巅。

想複現谷歌5400億參數的PaLM模型?測算租卡最少花1000萬美元!

根據論文中提供的訓練計算資料,可以看到PaLM最終訓練所需的計算數為2.56e24個FLOPs

想複現谷歌5400億參數的PaLM模型?測算租卡最少花1000萬美元!

如果以1750億參數的GPT-3所需的計算FLOPs作為基本機關,那PaLM所需成本就是GPT-3的十倍。

想複現谷歌5400億參數的PaLM模型?測算租卡最少花1000萬美元!

論文中還提到,PaLM在6144個TPU v4晶片上訓練了1200小時,在3072個TPU v4晶片上訓練了336小時,其中包括一些停機時間和重複步驟。

每個TPU v4有兩個核心,是以總共需要16809984個TPU v4核心小時數,也就是1917.7年。

此外,論文的附錄B中提到了TPU的使用率問題。540B的模型訓練使用了rematerialization技術,在相同batch size情況下取得更高的吞吐量。如果不考慮rematerialization成本,在沒有自注意力情況下,FLOPs的使用率為45.7%,而PaLM分析計算硬體FLOPs用上rematerialization的使用率為57.8%

是以現在有兩種方式來估算訓練成本:

1. 以2.56×10 FLOPs來計算訓練成本,我們可以估算出租用TPU執行個體的每FLOP成本,也可以通過提取其他雲供應商(例如使用NVIDIA A100的雲供應商)的每FLOP成本來估計成本。

2. 按照使用8404992 個TPU 小時數來計算,然後查詢TPU晶片的每小時租金。

不過目前TPUv4還沒有公開的價格,是以隻能用方法一來計算。

租用32個核心的TPUv3的話是每小時32美元,是以一個TPU核心小時就是1美元。

想複現谷歌5400億參數的PaLM模型?測算租卡最少花1000萬美元!

如果按照16889984 TPUv4個核心時間來算,那成本大約是1700萬美元,對于這種大客戶,谷歌可以給你1年37%的折扣。

想複現谷歌5400億參數的PaLM模型?測算租卡最少花1000萬美元!

不過實際上肯定會比1700萬美元還貴,因為TPUv3的性能肯定比不上TPUv4,是以需要更多的TPU核心時間。

但話說回來,科技的進步就是更少的錢買更多的服務,是以TPUv4的定價應當也是每核心1美元,是以1700萬算是一個相對準确的估算數字。

按照FLOPs來計算的話,可以看到TPUv3晶片能夠為bfloat16提供大約123TFLOPS的性能,不過這是峰值性能,實際情況要取決于使用率,PaLM的FLOPs使用率達到了57.8%,已經算是破紀錄了。

想複現谷歌5400億參數的PaLM模型?測算租卡最少花1000萬美元!

假設PaLM在TPUv3上訓練時硬體使用率達到50%的話,那1美元我們可以買到221 PFLOPs,再結合所需的算力,最終花費為1160萬美元。

如果用顯示卡訓練得花多少錢?

LambdaLabs兩年前給GPT-3算了一下,如果租用英偉達V100顯示卡雲服務的話,最低需要花費460萬美元。

而PaLM的訓練計算量是GPT-3的十倍,那最終的計算成本則需要4600萬美元。

時至今日,英偉達A100的Tensor性能又相較A100提升了10倍,如果按照使用率50%來計算,那最終需要920萬美元,算下來比TPU還便宜。

雖然三種方法算下來,得出了三個訓練成本,分别為 1700 萬美元、1160 萬美元和 920 萬美元。

但實際上谷歌并不需要花那麼多錢,因為他們不用租硬體,而成本的計算都是假設使用者租用TPU向Google Cloud支付的錢。

并且這隻是一次訓練的成本,不包括其他工作的開銷,比如工程、研究、測試等。

參考資料:

https://blog.heim.xyz/palm-training-cost/

繼續閱讀