采用OpenAI還是DIY?揭開自托管大型語言模型的真實(shí)成本

你自豪地將你的服務(wù)標(biāo)榜為“AI驅(qū)動(dòng)”,通過整合大型語言模型。你的網(wǎng)站首頁自豪地展示了你的AI驅(qū)動(dòng)服務(wù)帶來的革命性影響,通過互動(dòng)演示和案例研究,這也是你的公司在全球GenAI領(lǐng)域留下的第一個(gè)印記。
你的小而忠實(shí)的用戶基礎(chǔ)正在享受提升后的客戶體驗(yàn),并且你可以看到未來增長的潛力。但是,就在這個(gè)月進(jìn)入第三周時(shí),你收到了一封來自O(shè)penAI的郵件,讓你大吃一驚:
就在一周前,你還在與客戶交談,評估產(chǎn)品市場契合度(PMF),現(xiàn)在,成千上萬的用戶涌到你的網(wǎng)站(如今在社交媒體上任何事情都可能變得病毒式流傳),并使你的AI驅(qū)動(dòng)服務(wù)崩潰。
結(jié)果,你曾經(jīng)可靠的服務(wù)不僅讓現(xiàn)有用戶感到沮喪,也影響了新用戶。
一個(gè)快速而顯而易見的解決辦法是通過增加使用限制立即恢復(fù)服務(wù)。
然而,這個(gè)臨時(shí)解決方案帶來了不安感。你不禁感到自己被鎖定在對單一供應(yīng)商的依賴中,對自己的AI及其相關(guān)成本控制有限。
“我應(yīng)該自己動(dòng)手嗎?”你問自己。
幸運(yùn)的是,你知道開源的大型語言模型(LLMs)已成為現(xiàn)實(shí)。在像Hugging Face這樣的平臺(tái)上,有成千上萬這樣的模型可供即時(shí)使用,這為自托管開啟了可能性。
然而,你遇到的最強(qiáng)大的LLMs擁有數(shù)十億參數(shù),達(dá)到數(shù)百千兆字節(jié),并且需要大量努力才能擴(kuò)展。在一個(gè)需要低延遲的實(shí)時(shí)系統(tǒng)中,你不能像使用傳統(tǒng)模型那樣簡單地將它們插入你的應(yīng)用程序。
盡管你對團(tuán)隊(duì)建設(shè)必要基礎(chǔ)設(shè)施的能力充滿信心,真正的關(guān)注點(diǎn)在于這種轉(zhuǎn)變的成本含義,包括:
- 微調(diào)成本
- 托管成本
- 服務(wù)成本
所以,一個(gè)重大的問題是:你是應(yīng)該增加使用限制,還是應(yīng)該走自托管,也就是所謂的“擁有”路線?
使用Llama 2做一些計(jì)算
首先,不要急。這是一個(gè)重大決定。
如果你咨詢你的機(jī)器學(xué)習(xí)(ML)工程師,他們可能會(huì)告訴你,Lama 2是一個(gè)開源LLM,看起來是一個(gè)不錯(cuò)的選擇,因?yàn)樵诖蠖鄶?shù)任務(wù)上它的表現(xiàn)與你目前使用的GPT-3一樣好。
你還會(huì)發(fā)現(xiàn),這個(gè)模型有三種規(guī)模大小——70億、13億和7億參數(shù)——你決定使用最大的70億參數(shù)模型,以保持與你目前使用的OpenAI模型的競爭力。
LLaMA 2使用bfloat16進(jìn)行訓(xùn)練,因此每個(gè)參數(shù)消耗2字節(jié)。這意味著模型大小將是140 GB。
如果你認(rèn)為這個(gè)模型調(diào)整起來很大,不用擔(dān)心。使用LoRA,你不需要在部署前對整個(gè)模型進(jìn)行微調(diào)。
事實(shí)上,你可能只需要微調(diào)總參數(shù)的約0.1%,即70M,這在bfloat16表示下消耗0.14 GB。
令人印象深刻,對吧?
為了在微調(diào)期間適應(yīng)內(nèi)存開銷(如反向傳播、存儲(chǔ)激活、存儲(chǔ)數(shù)據(jù)集),最好維持的內(nèi)存空間是可訓(xùn)練參數(shù)消耗的大約5倍。
讓我們來詳細(xì)分析一下:
在使用LoRA時(shí),LLaMA 2 70B模型的權(quán)重是固定的,因此這不會(huì)導(dǎo)致內(nèi)存開銷 → 內(nèi)存需求 = 140 GB。
然而,為了調(diào)整LoRA層,我們需要維持0.14 GB * (5倍) = 0.7 GB。
這樣在微調(diào)期間總共需要約141 GB的內(nèi)存。
假設(shè)你目前還沒有培訓(xùn)基礎(chǔ)設(shè)施,我們假設(shè)你更喜歡使用AWS。根據(jù)AWS EC2按需定價(jià),計(jì)算成本約為每小時(shí)2.8美元,因此微調(diào)的成本約為每天67美元,這并不是一個(gè)巨大的費(fèi)用,因?yàn)槲⒄{(diào)不會(huì)持續(xù)很多天。
人工智能與餐廳正相反:主要成本在于服務(wù)而非準(zhǔn)備
在部署時(shí),你需要在內(nèi)存中維護(hù)兩個(gè)權(quán)重:
- 模型權(quán)重,消耗140 GB內(nèi)存。
- LoRA微調(diào)權(quán)重,消耗0.14 GB內(nèi)存。
總共是140.14 GB。
當(dāng)然,你可以取消梯度計(jì)算,但仍然建議維持大約1.5倍的內(nèi)存 — 大約210 GB — 以應(yīng)對任何意外的開銷。
再次基于AWS EC2按需定價(jià),GPU計(jì)算的成本約為每小時(shí)3.70美元,即保持模型在生產(chǎn)內(nèi)存中并響應(yīng)傳入請求的成本約為每天90美元。
這相當(dāng)于每月約2700美元。
另一個(gè)需要考慮的事情是,意外故障總是會(huì)發(fā)生。如果你沒有備用機(jī)制,你的用戶將停止接收模型預(yù)測。如果你想防止這種情況發(fā)生,你需要維護(hù)另一個(gè)冗余模型,以防第一個(gè)模型請求失敗。
因此,這將使你的成本達(dá)到每天180美元或每月5400美元。你幾乎接近目前使用OpenAI的成本了。
在什么情況下,OpenAI和開源模型的成本會(huì)打平?
如果你繼續(xù)使用OpenAI,以下是每天你可以處理的單詞數(shù)量,以匹配上述使用LLaMA 2的微調(diào)和服務(wù)成本。
根據(jù)OpenAI的定價(jià),微調(diào)GPT 3.5 Turbo的成本為每1000個(gè)令牌0.0080美元。
假設(shè)大多數(shù)單詞有兩個(gè)令牌,為了匹配開源LLaMA 2 70B模型的微調(diào)成本(每天67美元),你需要向OpenAI模型提供大約415萬個(gè)單詞。
通常,A4紙上的平均字?jǐn)?shù)為300,這意味著我們可以向模型提供大約14,000頁的數(shù)據(jù)以匹配開源微調(diào)成本,這是一個(gè)巨大的數(shù)字。
你可能沒有那么多的微調(diào)數(shù)據(jù),所以使用OpenAI進(jìn)行微調(diào)的成本總是較低。
另一個(gè)可能很明顯的點(diǎn)是,這種微調(diào)成本不是與訓(xùn)練時(shí)間相關(guān),而是與模型微調(diào)的數(shù)據(jù)量相關(guān)。在微調(diào)開源模型時(shí)情況并非如此,因?yàn)槌杀緦⑷Q于數(shù)據(jù)量和你使用AWS計(jì)算資源的時(shí)間。
至于服務(wù)成本,根據(jù)OpenAI的定價(jià)頁面,一個(gè)經(jīng)過微調(diào)的GPT 3.5 Turbo的輸入成本為每1000個(gè)令牌0.003美元,輸出為每1000個(gè)令牌0.006美元。
我們假設(shè)平均每1000個(gè)令牌0.004美元。要達(dá)到每天180美元的成本,我們需要通過API每天處理大約2220萬個(gè)單詞。
這相當(dāng)于超過74,000頁的數(shù)據(jù),每頁300個(gè)單詞。
然而,好處是你不需要確保模型全天候運(yùn)行,因?yàn)镺penAI提供了按使用付費(fèi)的定價(jià)。
如果你的模型從未被使用,你就不需要支付任何費(fèi)用。
總結(jié):何時(shí)擁有才真正有意義?
一開始,轉(zhuǎn)向自托管AI可能看起來是一個(gè)誘人的嘗試。但要小心隨之而來的隱藏成本和頭痛問題。
除了偶爾失眠的夜晚讓你納悶?zāi)愕腁I驅(qū)動(dòng)服務(wù)為何會(huì)宕機(jī)之外,如果使用第三方提供商,幾乎所有在生產(chǎn)系統(tǒng)中管理LLMs的困難都會(huì)消失。
特別是當(dāng)你的服務(wù)不是主要依賴于“AI”,而是依賴于AI的其他東西時(shí)。
對于大企業(yè)來說,每年65,000美元的擁有成本可能只是杯水車薪,但對于大多數(shù)企業(yè)來說,這是一個(gè)不能忽視的數(shù)字。
此外,我們不應(yīng)忘記其他額外費(fèi)用,如人才和維護(hù),這些可以輕松將總成本增加到每年200,000至250,000美元以上。
當(dāng)然,從一開始就擁有模型有其好處,比如保持對你的數(shù)據(jù)和使用的控制。
但是,要使自托管變得可行,你將需要用戶請求量遠(yuǎn)遠(yuǎn)超過每天大約2220萬個(gè)單詞的標(biāo)準(zhǔn),并且需要同時(shí)具備管理人才和后勤的資源。
對于大多數(shù)用例來說,擁有模型而不是使用API在財(cái)務(wù)上可能并不劃算。






























