1
引言
先給大家先算個(gè)賬:假設(shè)我要 GPT4 Turbo 幫我總結(jié)一篇 5000 字的文章,生成的總結(jié)是 500 個(gè)漢字,總共需要多少錢(qián)?這是一道數(shù)學(xué)題。
已知條件是:
一個(gè)漢字約等于 2 個(gè) token
OpenAI GPT 4 Turbo 的價(jià)格是:輸入$0.01/K token,輸出$0.03/K token
解答:
總結(jié) 5000 字的文章總金額 = 0.01 輸入 token 數(shù)/1000 + 0.03 輸入 token 數(shù)/1000 = $0.13,也就是 9 毛錢(qián)。
如果按照我每天 10 篇文章的閱讀量,每年要 9365 = 3285 元,這個(gè)數(shù)字對(duì)我來(lái)說(shuō)還是太貴了(也許某些媒體機(jī)構(gòu)可能會(huì)使用)。
看來(lái)要大規(guī)模應(yīng)用 LLM,降低算力成本也是首要任務(wù),這個(gè)話題非常廣泛,比如:
做模型的人可以思考怎么在模型側(cè)降低預(yù)訓(xùn)練成本
以上兩者讓科學(xué)家們?nèi)ジ悖敲醋?AI 應(yīng)用的是不是沒(méi)有辦法呢,也不全是,所以就構(gòu)成了這篇文章的副標(biāo)題:
作為 AI 應(yīng)用開(kāi)發(fā)者,目前以及未來(lái)有什么方法降低算力成本?
目前這方面的探討不多,大家多多指正。按照之前一篇講大模型 AI 應(yīng)用架構(gòu)中提到的四層結(jié)構(gòu),我認(rèn)為AI 應(yīng)用開(kāi)發(fā)人員的降本方式集中在模型的選擇和應(yīng)用層的使用上。
這一篇我們來(lái)講模型層的成本計(jì)算,應(yīng)用層的下一篇來(lái)講。
2
AI 應(yīng)用降本之“大模型選擇”
先說(shuō)結(jié)論:
1.大概率來(lái)說(shuō),模型的定價(jià)和模型參數(shù)量、訓(xùn)練數(shù)據(jù)的 token 量成正比。所以模型參數(shù)量越小,訓(xùn)練數(shù)據(jù)的 token 量越小,成本越低。
2.參數(shù)量小,并不意味著模型能力也會(huì)低。評(píng)估小模型是否適用于你的場(chǎng)景,一看機(jī)構(gòu)評(píng)測(cè),二看垂直度,三親手實(shí)驗(yàn)。
3.訓(xùn)練數(shù)據(jù)的 token 量越小,也并不意味著模型能力低。訓(xùn)練數(shù)據(jù)的質(zhì)量比數(shù)量更重要,使用時(shí)要考察數(shù)據(jù)質(zhì)量和數(shù)據(jù)垂直度。
4.可以嘗試采用“聯(lián)邦小模型”的方式,在應(yīng)用側(cè)做好分發(fā),從而達(dá)到”花小模型的錢(qián),享大模型的福”。
我們一個(gè)個(gè)來(lái)看。
3
模型消耗的重要因素:算力成本計(jì)算公式
注:這一部分的計(jì)算量有點(diǎn)大,不過(guò)都是加減乘除,大家輕松看待。
首先對(duì)于模型廠商來(lái)說(shuō):模型算力成本 = 預(yù)訓(xùn)練成本 + 推理成本 。
3.1
預(yù)訓(xùn)練成本
即訓(xùn)練一個(gè)模型所需成本,按照過(guò)去 openAI 的節(jié)奏是每半年訓(xùn)練一次。預(yù)訓(xùn)練成本計(jì)算如下:
預(yù)訓(xùn)練成本 = ( 模型參數(shù)量 6 /A100 卡每秒的計(jì)算次數(shù)) 顯卡的租用成本 訓(xùn)練數(shù)據(jù)的 token 量
在這里有兩個(gè)兩個(gè)常量:
A100 卡每秒的計(jì)算次數(shù) = 312 TFLOPS/Watt (官方公布,每秒可以進(jìn)行 312T 次浮點(diǎn)數(shù)計(jì)算)
顯卡租用成本:暫時(shí)以微軟 Azure 云上公布的 Nvdia A100 的三年期租用價(jià)格$2.2659/小時(shí)計(jì)算,本文按秒來(lái)計(jì)算,就是每秒租用價(jià)格為$(2.2659/3600) (參考 https://azure.microsoft.com/en-us/pricing/details/virtual-machines/linux/#pricing)
常量之外,還有兩個(gè)變量,他們與預(yù)訓(xùn)練成本成正比:
模型參數(shù)量
訓(xùn)練數(shù)據(jù)的 token 量
拿 openAI 的模型舉個(gè)例子大家感受一下(考慮到這里的顯卡成本是按照租用成本來(lái)計(jì)算的,openAI 作為顯卡消耗大戶,咱們可以直接打個(gè)五折):
GPT3 的參數(shù)量是 175B,訓(xùn)練數(shù)據(jù)的 token 量 500B,約 105 萬(wàn)美元*5 折,約 372.75 萬(wàn)元。
GPT4 的參數(shù)量是 1800B,訓(xùn)練數(shù)據(jù)的 token 量 13T, 費(fèi)用是 GPT3 的 280 倍,約 1.45 億美元,人民幣 10 億元。
GPT4 Turbo 的參數(shù)量是 8*222B ,訓(xùn)練數(shù)據(jù)的 token 量 13T,費(fèi)用與 GPT4 差不多。
注:GPT4 和 GPT4 Turbo 的參數(shù)量和訓(xùn)練數(shù)據(jù) token 量均為坊間普遍傳聞,并未得到 openAI 證實(shí)。
預(yù)訓(xùn)練成本算出來(lái)之后,我們看看算力成本的另外一項(xiàng):推理成本。
3.2
推理成本
即每次用戶問(wèn)答時(shí)消耗的算力成本,是按用量來(lái)消耗的,我們就按照 open AI 的定價(jià)單位:每千個(gè) token 來(lái)算。
每千個(gè) token 推理成本 = 1000( 模型參數(shù)量2 /A100 卡每秒的計(jì)算次數(shù))顯卡的租用成本
推理成本僅與模型參數(shù)量成正比,拿 OpenAI 最新的 GPT4 Turbo 模型舉例:
GPT4 Turbo 的參數(shù)量是 8222B,按照上述公式計(jì)算,每千個(gè) token 推理成本 = $0.0071656。
到這里大家可能會(huì)好奇:openAI 到底要有多少使用量、多少用戶才能收回成本?這個(gè)問(wèn)題我放在文末。我們先來(lái)總結(jié)一下這一部分的核心:
模型的算力成本與模型參數(shù)量和所使用訓(xùn)練數(shù)據(jù)使用的 token 量成正比,大概率來(lái)說(shuō)(因?yàn)槎▋r(jià)不一定總是以成本為標(biāo)準(zhǔn)):
模型參數(shù)量越少,成本越低
訓(xùn)練數(shù)據(jù)的 token 數(shù)量越少,成本越低
但是模型參數(shù)量變小了,訓(xùn)練數(shù)據(jù)的 token 數(shù)量越少,是不是意味著效果也會(huì)變差?當(dāng)然不是,比如 9 月份發(fā)布的 Mistral 7B,只有 70 億參數(shù),就能匹敵 Llama 1 34B(擁有 340 億參數(shù))。當(dāng)然,目前來(lái)說(shuō),GPT4 Turbo 是公認(rèn)的一騎絕塵,但在 GPT4 之下:
沒(méi)有最大的模型,只有最合適的模型。
因?yàn)閺?a target="_blank">產(chǎn)品角度,我們有時(shí)并不需要模型有那么多的參數(shù)量,也不需要模型訓(xùn)練那么多數(shù)據(jù),這時(shí)候我們就需要評(píng)估:
參數(shù)量小的模型能不能滿足我們的使用場(chǎng)景?
預(yù)訓(xùn)練數(shù)據(jù)量低的模型能不能滿足我們的使用場(chǎng)景?
引出接下來(lái)的話題。
4
如何評(píng)估小模型能不能滿足我們的使用場(chǎng)景
首先個(gè)人認(rèn)為當(dāng)前情況下這個(gè)評(píng)測(cè)僅在你無(wú)法使用 GPT4 的時(shí)候有意義。同等能力下,優(yōu)先使用參數(shù)小的模型。評(píng)測(cè)大體可以做以下幾步操作:
先看評(píng)測(cè)機(jī)構(gòu)的結(jié)果,各自都有不同的方法。早些時(shí)候我在知乎上有一篇《大模型技術(shù)哪家強(qiáng),找對(duì)機(jī)構(gòu)看排行》,里面提到一些機(jī)構(gòu),當(dāng)然現(xiàn)在也誕生了很多新的評(píng)測(cè)機(jī)構(gòu),大家可以參考。
結(jié)合你自己的使用場(chǎng)景,比如注重推理,還是注重表達(dá)來(lái)選擇。
最后親手去根據(jù)自己的場(chǎng)景做實(shí)驗(yàn),說(shuō)白了,就是同樣的提示詞,你需要測(cè)哪個(gè)模型的效果最符合你的訴求,這一塊也有方法,我們留在以后討論。
值得借鑒的是,周末在聽(tīng)知乎張俊林老師的訪談中提到:“ 在學(xué)術(shù)研究上,目前小模型的語(yǔ)言表達(dá)能力和知識(shí)獲取的能力上已經(jīng)可以和大模型匹敵,在推理能力上會(huì)弱,但目前也有途徑來(lái)解決,我們有望在今年解決。”
Mixrel 7B 就是一個(gè)很好的例子。再看看另外一個(gè)話題:預(yù)訓(xùn)練數(shù)據(jù)量對(duì)模型的影響。
5
預(yù)訓(xùn)練數(shù)據(jù)量低會(huì)對(duì)模型有哪些影響
目前看起來(lái),訓(xùn)練數(shù)據(jù)的質(zhì)量比數(shù)量更重要。對(duì)于大模型廠商來(lái)說(shuō),如何從繁多的數(shù)據(jù)中拿到高質(zhì)量的訓(xùn)練數(shù)據(jù)是他們降低成本的重要工作。
另外一方面,以垂直領(lǐng)域數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),也會(huì)誕生出很多垂直領(lǐng)域的模型。這些模型從預(yù)訓(xùn)練(而不是 SFT 微調(diào))數(shù)據(jù)上就開(kāi)始垂直化。比如 Bloomberg 訓(xùn)練出來(lái)的金融大語(yǔ)言模型(LLM for Finance,參數(shù)量為 500 億),使用了包含 3630 億 token 的金融領(lǐng)域數(shù)據(jù)集以及 3450 億 token 的通用數(shù)據(jù)集。
對(duì)于 AI 應(yīng)用開(kāi)發(fā)者來(lái)說(shuō),可以從垂直度和數(shù)據(jù)量大小兩方面考慮。
除此之外,張俊林老師也腦暴了另外一種省錢(qián)的方式:”聯(lián)邦小模型“(不用去百度,這是我起的名字),不妨也放在這里也來(lái)討論一下。
6
未來(lái)會(huì)有聯(lián)邦小模型嗎?
我所指的”聯(lián)邦小模型“是在應(yīng)用層,未來(lái)如果有不同能力的模型,比如有的模型擅長(zhǎng)表達(dá),有的擅長(zhǎng)推理,那么在應(yīng)用層可以按照?qǐng)鼍皩?wèn)題分發(fā)給不同的模型,從而達(dá)到”花小模型的錢(qián),享大模型的福”的效果。
以上就是我理解中的在模型層可以做的降低成本的方法,但目前在這方面的實(shí)踐行業(yè)內(nèi)都比較少,畢竟沒(méi)有那么多卡和經(jīng)歷去評(píng)測(cè)所有的模型,也歡迎大家一起討論。
最后解答一下大家可能好奇的問(wèn)題:OpenAI 現(xiàn)在能收回算力成本嗎?
7
附加題:OpenAI 能收回算力成本嗎
7.1
openAI 的算力成本
我們以 openAI 每半年進(jìn)行一次訓(xùn)練為假設(shè)條件,看看 OpenAI 每個(gè)月的算力成本。
openAI 每月的算力成本= 預(yù)訓(xùn)練成本/6 個(gè)月 + 每月 token 消耗量(千)*每千個(gè) token 推理成本
也就是:
openAI 每月的算力成本= 1.45 億/6 + 每月 token 消耗量(千)0.007
7.2
方法一:假設(shè) openAI 只有 Token 用量收費(fèi)項(xiàng)目,每月賣(mài)出多少 Token 能收回成本
目前 openAI GPT4 Turbo 的官方報(bào)價(jià)如下圖:
拍腦袋假設(shè)用戶的 Input 和 Output 比例為 1:1,那么平均價(jià)格就是$0.02/千 Token,推理成本(0.00716567)僅占其中的 36%,要想收回“訓(xùn)練”成本 1.45 億美元,就靠?jī)r(jià)格中的另外 64%了。
按照目前的定價(jià),我們可以得出:
openAI 每月的收入 = (每月 token 消耗量(萬(wàn)億)2)千萬(wàn)
結(jié)合 “openAI 每月的算力成本 = 2.4 千萬(wàn) + (每月 token 消耗量(萬(wàn)億)0.7)千萬(wàn)”,放在坐標(biāo)系里:OpenAI 按量使用每月賣(mài)出 1.85 萬(wàn)億 token 方可回本。
假設(shè)有一千萬(wàn)個(gè)用戶,每個(gè)用戶每天要消耗:6154 個(gè) Token,相當(dāng)于問(wèn)答產(chǎn)生 6154/1.3 = 4733 個(gè)單詞,這個(gè)要求應(yīng)該不算高。
7.3
方法二:假設(shè) openAI 只有 chatPLUS 會(huì)員訂閱收費(fèi),賣(mài)出多少用戶能收回成本。
OpenAI 的收入 = 用戶數(shù)$ 20 = (2用戶數(shù)(千萬(wàn)))億美元
如果每個(gè)用戶都物盡其用,按照 openAI 官方回復(fù):ChatPlus 會(huì)員每三個(gè)小時(shí)最多問(wèn) 40 個(gè)問(wèn)題,我參照我自己的使用情況:
平均每個(gè)英文問(wèn)題約消耗 500 個(gè)單詞(約等于 500 個(gè) token)。
醒著的 9 個(gè)小時(shí)最多問(wèn) 120 個(gè)問(wèn)題,
那么每月總共使用 30120 500 = 180(萬(wàn))個(gè) token。
OpenAI 每月算力成本 = 1.45 億/6 + 每月 token 消耗量(千) 0.007
=(0.24 + 用戶數(shù)(千萬(wàn))平均每人每月 token 消耗量(萬(wàn)) 0.007)億美元
放在坐標(biāo)系里是這樣的:
即使每個(gè) Plus 用戶都物盡其用,只要用戶數(shù)量超 324 萬(wàn)后,OpenAI 就開(kāi)始盈利。
實(shí)際上,坊間流傳 Plus 會(huì)員平均每天的 token 數(shù)量可能在 6700 左右(我個(gè)人覺(jué)得評(píng)估偏低),如果是這樣的話,用戶數(shù)只要超過(guò) 129 萬(wàn),就可以實(shí)現(xiàn)盈利。
再次重申,以上成本不包含人力成本(目測(cè)怎么也有幾個(gè)億美元吧)
這一通計(jì)算下來(lái),感覺(jué) OpenAI 的定價(jià)目前也還算合理,也反映出來(lái)模型成本估算的方式也算正確。
如果未來(lái) OpenAI 成為 Google 級(jí)的超十億大應(yīng)用,加上算力成本下降(芯片、數(shù)據(jù)、模型優(yōu)化等方式),還有很大的降價(jià)空間,比如說(shuō)降低到目前的千分之一。我們期待這一天的到來(lái)。
審核編輯:黃飛
?
評(píng)論