LLM API vs 自己ホスティング — 損益分岐の計算
オープンウェイトのモデルを自分で動かせるようになって、一つの問いが生まれました。「API で使い続けるのがよいか、GPU を確保して自分でホスティングするのがよいか」です。答えは好みではなく計算から出ます。結論を先に書くと、大半のチームは API が正解で、自己ホスティングは常時のスループットが GPU を埋め尽くすか、プライバシー・規制の要件が明確なときの選択です。 サーバー規模の推定自体は LLM 自己ホスティングのサーバー規模 で扱ったので、この記事はその前に置かれる「自分でやるか」の計算です。料金は 2026 年半ば基準です。
課金構造 — トークン単位 vs GPU 時間単位 #
API はトークン単位の課金です。入力・出力トークンを 100 万個単位で値付けし、使わなければ 0 円です。中級モデル(たとえば Llama 3.3 70B のサーバーレス)が 100 万トークンあたり入出力それぞれ $0.88 前後、フロンティアの商用モデル(Claude Sonnet・GPT・Gemini Pro 級)は入力 $2〜3、出力 $12〜15 の水準です。インフラ・拡張・アップグレードがすべて値段に含まれます。
自己ホスティングは GPU 時間単位の課金です。トークンを何個出そうと、GPU を確保している時間の分だけ払います。H100 1 枚がハイパースケーラーのオンデマンドで 1 時間 $4〜8、専門の GPU クラウド(Lambda・RunPod など)で $2〜3.3、スポットなら $1〜2 まで下がります。アイドル時間も GPU を確保していればそのまま料金です。
したがって比較の軸は一つに絞られます。GPU が実際にトークンを出している時間の割合、つまり稼働率です。
損益分岐 — GPU 1 枚が 1 日に出すトークン #
計算を実際にしてみます。H100 1 枚に vLLM で 70B 級のモデルを 4 ビット量子化で載せ(量子化比較 参照)、同時リクエストをバッチでまとめると、毎秒数百〜千トークン台のスループットが出ます。余裕を見て毎秒 500 トークンなら 1 時間あたり 180 万トークン、1 日 24 時間を埋め尽くすと約 4,300 万トークンです。
- 自己ホスティングの原価: H100 を専門クラウドのオンデマンド $3/時間で確保すると 1 日 $72。4,300 万トークンを出すので 100 万トークンあたり約 $1.7 です。スポット $1.5/時間なら 100 万トークンあたり約 $0.8 まで下がります。
- API の単価: 同じ級のオープンモデルのサーバーレスが 100 万トークンあたり $0.88 前後。
ここで核心が見えます。GPU を 24 時間埋め尽くしてはじめて、自己ホスティングの原価が API と同程度か少し安くなります。 稼働率が半分ならトークンあたりの原価は 2 倍になり、API が確実に安くなります。1 日数時間だけトラフィックが集中するサービスなら、自己ホスティングは遊んでいる GPU を買うようなものです。逆に、バッチや大容量処理で GPU を常時飽和させるワークロード(大量の文書分類、埋め込み生成、オフライン要約)なら、自己ホスティングが規模の経済に入ります。
分岐点を動かす変数 #
- 稼働率: 上の計算のすべてです。24 時間埋め尽くせば有利、間欠なら不利。スケールトゥゼロができない常時稼働の GPU が、自己ホスティングの本質的な弱点です。
- バッチ処理: リアルタイムの応答が不要な作業はバッチで GPU を 100% まで埋められます。API にもバッチ割引(約 50%)がありますが、自己ホスティングはバッチで稼働率を引き上げてトークンあたりの原価を直接下げます。
- 量子化: 4 ビットに下げると同じ GPU により大きなモデルが載るかスループットが上がり、トークンあたりの原価が下がります。代わりに精度を少し譲るので、推論やコードの作業には注意が必要です(量子化比較 参照)。
- モデルの級: フロンティアの商用モデル(出力 $15/100 万トークン)を代替するのと、中級のオープンモデルを代替するのとでは計算が異なります。フロンティア級の品質が必要でオープンモデルでは足りないなら、自己ホスティングはそもそも代替になりません。
隠れコスト — GPU 料金がすべてではありません #
自己ホスティングの原価には GPU 時間単価の外の項目が付きます。モデルを載せて更新する MLOps の人員、可用性のための冗長化(GPU をもう 1 枚)、トラフィック急増への対応、新モデルが出るたびの再検証が常時の業務に入ります。API はこのすべてをベンダーが吸収します。デモとプロダクションの間の運用の差は LLM アプリ運用 #1 で扱いましたが、自己ホスティングはその上にインフラ運用がもう一層乗ります。
逆に API にも隠れた項目があります。プロンプトキャッシュ(繰り返すプロンプトを約 90% 削減)を使わないと請求が膨らみ、レートリミットとベンダー依存、モデルのバージョンが予告なく変わるリスクがあります。
料金の外で決定を分けるもの #
損益分岐が曖昧なら、決定は料金ではなく要件で決まります。
- データプライバシー・規制: データを外部の API に送れない医療・金融・機密の環境なら、原価と無関係に自己ホスティング(または VPC 内の専用デプロイ)です。
- 遅延: オンプレミスの GPU が物理的に近ければネットワークの往復が消えます。ただし API も地域エンドポイントでかなり縮まります。
- カスタマイズ: ファインチューニングした重みをそのままサーブしたり、特殊なデコードを掛けたりするなら、自己ホスティングが自由です。
- チームの力量: GPU サービングを運用する人員がいなければ、原価が少し安くても自己ホスティングは実質的により高くつきます。
選択の手順 #
- 要件からふるいにかけます: データを外部に出せない規制があれば自己ホスティングで確定、なければ計算に進みます。
- 稼働率を見積もります: GPU を 24 時間飽和させる常時・バッチのスループットがあれば自己ホスティングが候補、間欠的なトラフィックなら API です。
- モデルの級を合わせます: オープンモデルで品質が足りるかをまず確認します。フロンティア級が必須なら自己ホスティングは代替になりません。
- 総原価で比較します: GPU 時間単価に冗長化・運用人員・再検証まで入れ、API はキャッシュ適用後の単価で比較します。
- ハイブリッドを検討します: 基本は API で始めて、バッチ性の大量作業だけを自己ホスティングに切り出す組み合わせが、よくある最適点です。
まとめ #
- API はトークン単位、自己ホスティングは GPU 時間単位の課金です。比較の軸は GPU 稼働率の一つに絞られます。
- H100 1 枚を 24 時間埋め尽くしてはじめて、自己ホスティングの原価(100 万トークンあたり約 $1.7、スポットなら $0.8)がオープンモデルの API($0.88 前後)と競えます。稼働率が低ければ API が確実に安くなります。
- バッチと量子化で稼働率とスループットを引き上げると、分岐点が自己ホスティング側に動きます。
- GPU 料金の外の運用人員・冗長化・再検証が自己ホスティングの実際の原価です。API の隠れた項目はキャッシュ未適用とベンダー依存です。
- 損益分岐が曖昧なら、プライバシー・規制・遅延・チームの力量が決定を分けます。基本 API + バッチだけ自己ホスティングのハイブリッドが、よくある最適点です。