自架 LLM vs. 用 API:成本帳不是你想的那樣
最近有個 PM 跑來問我說可不可以把 GPT-4o 換成自己部署的開源模型省錢。我說:先算算看。
帳單差異
GPT-4o API 的成本很直觀:輸入 $2.50/M tokens、輸出 $10/M tokens。一個月 50M tokens 大概花 $400-600 美金。
自架 Llama-3 70B 呢:
- 最低要 2x A100 80GB,月租約 $3,000-4,000(cloud GPU)
- 買卡的話:2x H100 大概 $60,000-70,000,折舊每月也要 $2,000+
- infra 維護、監控、scaling 的人力另計
說穿了就是:用量不夠高,自架一定比 API 貴。
實務上常漏掉的陷阱
GPU idle time:服務不可能 24 小時滿載。平均使用率 30%,等於 70% 的錢在燒空轉。API 是按用量計費,自架是按時間計費,差距在這裡。
Batch inference 沒做好:單一請求進來、model 跑完再回,GPU utilization 可能只有 10-15%。做好 batching 可以把 throughput 拉到 5-8x,帳單直接砍一半。但大多數人不做這個優化。
Cold start:Serverless 方案看起來便宜,但 70B 的 cold start 動輒 45-90 秒。使用者等不了的。
Observability 沒到位:LLM 服務的 latency 分佈跟一般 API 差很多,p99 可能是 p50 的 10 倍。沒有好的監控,根本不知道問題在哪。
什麼時候才值得自架
實務上我覺得要同時滿足幾個條件:
- 每月 token 用量超過 500M-1B,API 帳單開始讓人痛
- 有 infra 工程師可以全職維護,不是塞給 backend 兼著做
- 有資料主權或合規需求(這個有時候比成本更重要)
- 可以接受前兩個月都在調參、踩雷、排 bug
低於這個規模,用 API + 認真做 caching 和 prompt optimization,通常是比較理性的選擇。
蠻多團隊是看到開源模型效能追上了就心動,實際部署才發現 infra overhead 比預期高很多。不是不能做,是要想清楚自己在換什麼。
作者:CtrlC