一,前言
在AI領(lǐng)域,訓(xùn)練一個(gè)大型語(yǔ)言模型(LLM)是一個(gè)耗時(shí)且復(fù)雜的過(guò)程。幾乎每個(gè)做大型語(yǔ)言模型(LLM)訓(xùn)練的人都會(huì)被問(wèn)到:“從零開始,訓(xùn)練大語(yǔ)言模型需要多久和花多少錢?”雖然網(wǎng)上有很多關(guān)于訓(xùn)練技巧和模型評(píng)估的文章,但很少有直接告訴你如何估算訓(xùn)練時(shí)間和成本的。前面分享了一些關(guān)于大模型/本地知識(shí)庫(kù)的安裝部署方法,無(wú)需編寫代碼,即可使用Ollama+AnythingLLM搭建企業(yè)私有知識(shí)庫(kù),或者,三步完成Llama3.2在算力魔方的INT4量化和部署...本篇文章就教你一個(gè)簡(jiǎn)單的方法,幫你快速估算基于大語(yǔ)言模型權(quán)重大小、數(shù)據(jù)量以及可用GPU算力訓(xùn)練大語(yǔ)言模型所需的時(shí)間和成本。
二,估算方法
訓(xùn)練模型時(shí),處理數(shù)據(jù)和更新模型參數(shù)需要大量的計(jì)算,我們用浮點(diǎn)運(yùn)算次數(shù)(FLOPs)來(lái)表示。首先,我們要估算處理一個(gè)token所需的FLOPs,包括前向傳遞和反向傳遞兩個(gè)部分。
- 前向傳遞:
每個(gè)token的前向傳遞涉及的加乘操作數(shù)大約為:
FLOPsforward= 2 x N2+2 x N x Dmodel
這里N表示模型的參數(shù)量,Dmodel是模型的維度。系數(shù)2來(lái)源于矩陣乘法中的累加操作。
- 反向傳遞:
大約需要前向傳遞的兩倍計(jì)算量,因?yàn)橐?jì)算權(quán)重和激活值的梯度。
FLOPsbackward=(2 x N2+2 x N x Dmodel)x 2
- 所以,一個(gè)token總的計(jì)算量大概是前向傳遞的三倍。因此,每個(gè)訓(xùn)練token的浮點(diǎn)運(yùn)算可以估算為:
FLOPstotal=(2 x N2+2 x N x Dmodel)x 3
三,GPU性能
現(xiàn)在大多數(shù)模型都是用GPU來(lái)訓(xùn)練的。不同的GPU有不同的性能,比如NVIDIA的H100、A100或V100。每個(gè)GPU的性能可以用每秒浮點(diǎn)運(yùn)算次數(shù)(FLOPS)來(lái)衡量。不過(guò),實(shí)際訓(xùn)練時(shí),由于多GPU之間的通信等因素,實(shí)際性能可能達(dá)不到理論上的最高值。
GPU Model | Peak FLOPS (FP32) |
---|---|
H100 | 67 TFLOPS |
A100 | 19.5 TFLOPS |
V100 | 14 TFLOPS |
一個(gè)重要的概念是模型FLOPS利用率(MFU),它反映了實(shí)際計(jì)算效率與理論最大值的比例。通常情況下,隨著GPU數(shù)量的增加,MFU會(huì)下降。LLaMA 3的研究者們用16,000個(gè)GPU訓(xùn)練模型時(shí),每個(gè)GPU的實(shí)際效率為380 teraflops,MFU為38%。
四,實(shí)際案例
1,l Llama 3 405B 參數(shù)模型
LLaMA 3.1(405B參數(shù))是在15.6萬(wàn)億token的數(shù)據(jù)集上訓(xùn)練的。訓(xùn)練這樣一個(gè)規(guī)模的模型所需的總FLOPs可以通過(guò)以下方式計(jì)算:
- 模型大小N = 405B
- 數(shù)據(jù)集大小P = 15.6T
模型使用了16,000個(gè)H100 GPU進(jìn)行訓(xùn)練。據(jù)了解,平均吞吐量為每個(gè)GPU 400 teraflops。這意味著訓(xùn)練基礎(chǔ)設(shè)施可以提供的總吞吐量為:
TotalThroughput
=400TFLOPs/GPU×16,000GPUs
=6.4ExaFLOPs
最后,通過(guò)將所需的總FLOPs除以可用吞吐量,并將結(jié)果轉(zhuǎn)換為天數(shù)(因?yàn)槲覀冋嬲P(guān)心的是訓(xùn)練天數(shù)),我們可以得到訓(xùn)練時(shí)間。
3.8 x 1025FLOPs ÷ 6.4 x1018FLOPs/秒 =61天
2,成本估算
訓(xùn)練模型不僅耗時(shí),還非常昂貴。以LLaMA 3.1為例,如果一個(gè)H100 GPU每小時(shí)的費(fèi)用是2美元,那么用16,000個(gè)H100訓(xùn)練這個(gè)模型的總成本大約為2 x 24 x 61 x 16,000 = 46,848,000美元。
五,總結(jié)
訓(xùn)練大型語(yǔ)言模型是一項(xiàng)技術(shù)復(fù)雜且資金密集的任務(wù)。從零開始,把一個(gè)LLaMA 3.1(405B參數(shù))的模型在15.6萬(wàn)億token數(shù)據(jù)集上訓(xùn)練出來(lái),大約需要花費(fèi)61天(假設(shè)沒(méi)有訓(xùn)練中斷)和46,848,000美元(僅估算GPU租金、數(shù)據(jù)集制作費(fèi)用和研發(fā)人力成本未計(jì)入),你算對(duì)了嗎?
更多精彩內(nèi)容請(qǐng)點(diǎn)擊下方名片,關(guān)注“算力魔方?”公眾號(hào)!
審核編輯 黃宇
-
AI
+關(guān)注
關(guān)注
87文章
30894瀏覽量
269085 -
語(yǔ)言模型
+關(guān)注
關(guān)注
0文章
524瀏覽量
10277 -
大模型
+關(guān)注
關(guān)注
2文章
2450瀏覽量
2706
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論