重點摘要
- 模型權重在 16 位元時每參數約需 2 位元組,8 位元 1 位元組,4 位元 0.5 位元組,加上上下文快取所需的空間。
- 租用 GPU 按每小時計費,而 API 僅對你發送和接收的 token 計費。
- 每 100 萬輸入 token $0.15,每 100 萬輸出 token $0.50,每天 20,000 次對話(每次 1,500 輸入與 500 輸出)每月成本為 $285。
- 當你需要微調、不同模型、離線使用或穩定且極高的用量時,自行託管佔優。
簡短答案:取決於你的用量
如果你想知道如何自行託管 LLM 權重,誠實的總結是:讓模型在你的機器上回答很容易,但要為其他人低成本運行則很難。筆記型電腦或桌上型 GPU 足以應付個人使用。若要同時回應許多使用者,且全天候可用,則需要更多記憶體、更多調整以及人員維護。
替代方案是呼叫託管的 OpenAI 相容端點並按 token 付費。對於中小規模工作負載,這幾乎總是更便宜,因為你無需為閒置的 GPU 時間付費。對於非常大且穩定的工作負載,或需要你自己微調模型的工作,擁有硬體開始變得合理。以下章節將兩邊的成本數字化,讓你能找到自身的損益平衡點。
這裡沒有免費方案。註冊後,你可以在 API 金鑰頁面領取一次性的 $0.50 試用額度,之後則需從 $20 起儲值預付額度。試用額度足以讓你在做任何決定之前,對自己的提示詞進行真實測試。
託管模型實際需要什麼
語言模型是一個巨大的數字檔案(權重),在模型運行時必須位於快速記憶體中。該檔案的大小是第一個限制因素,你可以自行計算:參數乘以每參數的位元組數。
| 模型大小 | 16-bit 權重 | 8 位元權重 | 4-bit 權重 |
|---|---|---|---|
| 80 億參數 | 16 GB | 8 GB | 4 GB |
| 32B 參數 | 64 GB | 32 GB | 16 GB |
| 70B 參數 | 140 GB | 70 GB | 35 GB |
這些僅是權重。此外,你還需要記憶體用於鍵值快取,其大小隨每個活躍對話的長度增長,並需保留一些執行時緩衝區。名義上適合 24 GB 的模型,當你請求長上下文或多個並行使用者時,可能會記憶體不足。量化至 4 位元會縮小檔案,但也會稍微改變輸出品質,且效果因模型而異。
接下來是軟體層面。你需要推理伺服器(如 llama.cpp、Ollama 或 vLLM)、HTTP 層以便應用程式呼叫它、當它崩潰時的重啟機制,以及監控系統以便在出問題時察覺。這些單獨來看都不難,但都需要時間,而時間也是成本的一部分。
選項一:在你的電腦上運行
最便宜的起步方式是使用你現有的機器。Ollama 和 llama.cpp 等工具會下載模型並暴露本地伺服器,其中許多也提供 OpenAI 風格的端點,因此你針對它們編寫的程式碼,只需更改兩個設定即可指向託管 API。
本地託管適合以下情況:
- 如果你是單獨嘗試的個人,每次回應需要幾秒鐘是可以接受的;
- 資料絕不能離開機器;
- 你想快速嘗試許多不同的開放模型;
- 你擁有足夠記憶體的 GPU,且該 GPU 大部分時間處於閒置狀態。
當你需要服務其他人、想要的模型大於你的記憶體,或你想要長上下文時,則不太適合。我們對 本地無審查模型與託管 API 的比較更詳細地探討了這些權衡,包括小型本地模型與較大託管模型之間的答案品質變化。
對於單一使用者而言,電費是一筆真實但微小的支出。較大的成本是你必須購買的硬體,無論你是否使用都要付費。如果你已經擁有它,邊際成本很低,對於私人實驗來說,本地託管難以匹敵。
選項二:租用 GPU 伺服器
當你自己的機器不夠用時,下一步就是租用 GPU。供應商按小時收費,提供具有特定 GPU 記憶體量的機器。不同供應商之間的價格差異很大且經常變動,因此請查看他們目前的定價,而不是相信你在文章中讀到的任何數字,包括本文中的數字。
重要的是帳單的結構。租用伺服器按開啟的每小時收費,無論它是處理一個請求還是零個請求。如果你整個月都讓它運行,算術很簡單:一個月約有 730 小時(一年 8,760 小時除以 12)。假設(僅作為假設範例,而非報價),合適的伺服器成本為每小時 $1。全天候運行則每月成本為 730 × $1 = $730,尚未加上儲存、頻寬和你的時間。
你可以在不使用時關閉伺服器,但這樣會付出延遲的代價:將大型模型載入記憶體需要時間,暫停後的第一個使用者需要等待載入。自動擴展設置可以減少這種情況,但也增加了複雜性。
與 API 的損益平衡點由價格決定。在此 API 上,一百萬個輸入 token 加上一百萬個輸出 token 的成本為 $0.15 + $0.50 = $0.65。你假設的 $730 伺服器等於 730 ÷ 0.65 ≈ 1,123 組此類配對,或每月約 11 億個輸入 token 和 11 億個輸出 token。低於此用量時,API 成本較低。高於此用量時,若伺服器能實際跟上該流量(這取決於模型、GPU 以及你調校伺服器的程度),則充分利用的伺服器可取得優勢。
選項三:使用託管 API
API 方式消除了硬體、伺服器和閒置時間。你發送請求,獲得回答,並為使用的 token 付費。定價為每 100 萬輸入 token $0.15,每 100 萬輸出 token $0.50,從預付額度按量付費,無訂閱。額度永不過期,失敗或拒絕的請求不計費。
以下是三種實際用量的情況。假設典型對話回合使用 1,500 輸入 token(系統提示詞加歷史記錄)和 500 輸出 token。
- 一個請求: 1,500 輸入 token 成本為 0.0015 × $0.15 = $0.000225,500 輸出 token 成本為 0.0005 × $0.50 = $0.00025。合計為 $0.000475。
- 每天 1,000 次聊天,30 天: 1,000 × $0.000475 = $0.475 一天,或每月 $14.25。
- 每天 20,000 次聊天,30 天: 20,000 × $0.000475 = $9.50 一天,或每月 $285。
- 100,000 個請求的批次作業,每個請求 2,000 輸入和 400 輸出 token:輸入為 2 億 token,所以 200 × $0.15 = $30;輸出為 4,000 萬 token,所以 40 × $0.50 = $20。總計為 $50。
在中間數值的情況下,API 每月成本為 $285,遠低於假設的 $730 全天候伺服器成本。在最大數值的情況下,你需要更多的流量才能讓租用伺服器追平。你自己的提示詞決定實際數字,因此請測量樣本而非猜測。每個回應回傳的使用量區塊會告訴你確切的 token 計數。
$0.50 試用額度涵蓋約 1,052 次 1,500 輸入、500 輸出的請求(0.50 ÷ 0.000475 ≈ 1,052),足以進行測試。之後你可以儲值任何整數金額,從 $20 到 $500。較大的儲值享有獎勵:$50 起 +5%,$100 起 +10%,$200 起 +15%,因此 $100 儲值可獲得 $110 額度。詳情見 定價頁面。付款方式為信用卡(Visa、Mastercard、Apple Pay、Google Pay)或加密貨幣(TRC20 上的 USDT、Base 上的 USDC)。
不託管所放棄的
API 並非沒有權衡,在基於它構建之前最好了解這些缺點。
- 單一模型。 你獲得單一開放權重模型,以
uncensored識別。你無法替換為其他模型或載入自己的權重。 - 無微調且僅限文字。 沒有訓練端點、沒有嵌入向量,也沒有圖像、音訊或影片生成。
- 限制。完整金鑰允許 8 個並行請求和每分鐘 300 個請求。試用金鑰允許 2 個和 60 個。這適合大多數應用程式,但非常大的批次需要在你的端進行排隊。
- 上下文。 上下文視窗為 100,000 token(提示詞加完成內容)。
- 你的資料離開你的網路。 提示詞不用於訓練,但它們確實傳輸到第三方。如果對於特定資料集而言這不可接受,請在本地託管。
當以下任何一項是硬性要求時,自行託管是更好的選擇:在你自己的資料上微調、API 未提供的特定模型、完全離線運行,或足夠大的穩定用量,使自有硬體全天候保持忙碌。
在購買硬體前先試用 API
一小時的測試成本低於大多數租用伺服器的一個小時,並告訴你模型是否能很好地回答你的提示詞。端點與 OpenAI 兼容,因此如果你已經有與本地伺服器通訊的程式碼,你只需更改基礎 URL、金鑰和模型 ID。此腳本還會使用回應中的用量數字報告每次呼叫的成本:
from openai import OpenAI
client = OpenAI(
base_url="https://api.uncensoredllmhub.com/v1",
api_key="YOUR_API_KEY",
)
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise the pros and cons of self-hosting an LLM."}],
)
u = resp.usage
cost = u.prompt_tokens / 1_000_000 * 0.15 + u.completion_tokens / 1_000_000 * 0.50
print(resp.choices[0].message.content)
print(f"in={u.prompt_tokens} out={u.completion_tokens} cost=${cost:.6f}")
在你的幾十個真實提示詞上運行它,加總成本行,並乘以你預期的每日用量。這會給你一個數字,你可以將其與硬體報價並列。如果你想了解設定細節,文件列出了支援的參數,包括串流輸出、函式呼叫和 JSON 模式。
