採用OpenAI還是DIY?揭開自託管大型語言模型的真實成本

WBOY
發布: 2024-04-22 18:01:02
轉載
1190 人瀏覽過

採用OpenAI還是DIY?揭開自託管大型語言模型的真實成本

你的服務標準已被定位為“AI驅動”,透過整合大型語言模型。你的網站首頁自豪地展示了你的AI驅動服務帶來的革命性影響,透過互動演示和案例研究。這也是你公司在全球GenAI領域留下的第一個印記。

你的小而忠實的使用者基礎正在享受提升後的客戶體驗,並且你可以看到未來成長的潛力。然而,在這個月進入第三週時,你收到了一封來自OpenAI的郵件,讓你大吃一驚:

就在一周前,你還在與客戶交談,評估產品市場契合度(PMF ),現在,成千上萬的用戶湧到你的網站(如今在社交媒體上任何事情都可能變得病毒式傳播),並使你的AI驅動服務崩潰。

結果,你曾經可靠的服務不僅讓現有用戶感到沮喪,也影響了新用戶。

一個快速且顯而易見的解決方案是透過增加使用限制來立即恢復服務。

然而,這個臨時解決方案帶來了不安感。你不禁感到自己被鎖在對單一供應商的依賴中,對自己的AI及其相關成本控制有限。

「我該自己動手嗎?」你問自己。

你已經知道開源的大型語言模型(LLMs)已經成為現實。在Hugging Face這樣的平台上,成千上萬的模式可供即時使用,這為自然語言處理的開展提供了可能性。

然而,你遇到的最強大的LLMs擁有數十億參數,達到數百千兆字節,並且需要大量努力才能擴展。在一個需要低延遲的即時系統中,你不能像使用傳統模型那樣簡單地將它們插入你的應用程式。

儘管你對團隊建立必要基礎設施的能力充滿信心,真正的關注點在於這種轉變的成本意義,包括:

  • 微調成本
  • #託管成本
  • 服務成本

所以,一個重大的問題是:你是應該增加使用限制,還是應該走自託管,也就是所謂的「擁有」路線?

使用Llama 2做一些計算

首先,不要急。這是一個重大決定。

如果你諮詢你的機器學習(ML)工程師,他們可能會告訴你,Lama 2是一個開源LLM,看起來是一個不錯的選擇,因為在大多數任務上它的表現與你目前使用的GPT-3一樣好。

你還會發現,這個模型有三種規模大小——70億、13億和7億參數——你決定使用最大的70億參數模型,以保持與你目前使用的OpenAI模型的競爭力。

LLaMA 2使用bfloat16進行訓練,因此每個參數消耗2位元組。這意味著模型大小將是140 GB。

如果你認為這個模型調整起來很大,不用擔心。使用LoRA,你不需要在部署前對整個模型進行微調。

事實上,你可能只需要微調總參數的約0.1%,也就是70M,這在bfloat16表示下消耗0.14 GB。

令人印象深刻,對吧?

為了在微調期間適應記憶體開銷(如反向傳播、儲存啟動、儲存資料集),最好維持的記憶體空間是可訓練參數消耗的大約5倍。

讓我們來詳細分析一下:

在使用LoRA時,LLaMA 2 70B模型的權重是固定的,因此這不會導致記憶體開銷 → 記憶體需求 = 140 GB。

然而,為了調整LoRA層,我們需要維持0.14 GB * (5倍) = 0.7 GB。

這樣在微調期間總共需要約141 GB的記憶體。

假設你目前還沒有訓練基礎設施,我們假設你更喜歡使用AWS。根據AWS EC2按需定價,計算成本約為每小時2.8美元,因此微調的成本約為每天67美元,這並不是一個巨大的費用,因為微調不會持續很多天。

人工智慧與餐廳正相反:主要成本在於服務而非準備

在部署時,你需要在記憶體中維護兩個權重:

    ##模型權重,消耗140 GB記憶體。
  • LoRA微調權重,消耗0.14 GB記憶體。
總共是140.14 GB。

當然,你可以取消梯度計算,但仍然建議維持大約1.5倍的記憶體 — 大約210 GB — 以應對任何意外的開銷。

再次基於AWS EC2按需定價,GPU運算的成本約為每小時3.70美元,即保持模型在生產記憶體中並回應傳入請求的成本約為每天90美元。

這相當於每月約2700美元。

另一個需要考慮的事情是,意外故障總是會發生。如果你沒有備用機制,你的用戶將停止接收模型預測。如果你想防止這種情況發生,你需要維護另一個冗餘模型,以防第一個模型請求失敗。

因此,這將使你的成本達到每天180美元或每月5400美元。你幾乎接近目前使用OpenAI的成本了。

在什麼情況下,OpenAI和開源模型的成本會打平?

如果你繼續使用OpenAI,以下是每天你可以處理的單字數量,以匹配上述使用LLaMA 2的微調和服務成本。

根據OpenAI的定價,微調GPT 3.5 Turbo的成本為每1000個令牌0.0080美元。

假設大多數單字有兩個令牌,為了匹配開源LLaMA 2 70B模型的微調成本(每天67美元),你需要向OpenAI模型提供大約415萬個單字。

通常,A4紙上的平均字數為300,這意味著我們可以向模型提供大約14,000頁的資料以匹配開源微調成本,這是一個巨大的數字。

你可能沒有那麼多的微調數據,所以使用OpenAI進行微調的成本總是較低。

另一個可能很明顯的點是,這種微調成本不是與訓練時間相關,而是與模型微調的資料量相關。在微調開源模型時並非如此,因為成本將取決於資料量和你使用AWS計算資源的時間。

至於服務成本,根據OpenAI的定價頁面,一個經過微調的GPT 3.5 Turbo的輸入成本為每1000個令牌0.003美元,輸出為每1000個令牌0.006美元。

我們假設平均每1000個令牌0.004美元。要達到每天180美元的成本,我們需要透過API每天處理大約2220萬個單字。

這相當於超過74,000頁的數據,每頁300個字。

然而,好處是你不需要確保模型全天候運行,因為OpenAI提供了按使用付費的定價。

如果你的模型從未被使用,你就不需要支付任何費用。

總結:何時擁有才真正有意義?

一開始,轉向自託管AI可能看起來是一個誘人的嘗試。但要小心隨之而來的隱藏成本和頭痛問題。

除了偶爾失眠的夜晚讓你納悶你的AI驅動服務為何會宕機之外,如果使用第三方提供商,幾乎所有在生產系統中管理LLMs的困難都會消失。

特別是當你的服務不是主要依賴“AI”,而是依賴AI的其他東西。

對大企業來說,每年65,000美元的擁有成本可能只是杯水車薪,但對大多數企業來說,這是一個不能忽視的數字。

此外,我們不應忘記其他額外費用,如人才和維護,這些可以輕鬆將總成本增加到每年200,000至250,000美元以上。

當然,從一開始就擁有模型有其好處,例如保持對你的資料和使用的控制。

但是,要使自託管變得可行,你將需要用戶請求量遠遠超過每天大約2220萬個單字的標準,並且需要同時具備管理人才和後勤的資源。

對於大多數用例來說,擁有模型而不是使用API​​在財務上可能並不划算。

#

以上是採用OpenAI還是DIY?揭開自託管大型語言模型的真實成本的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:51cto.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!