この記事の音声は準備中です。
音声の一覧・再生リストへセルフホスト推論の実務
この記事の目的
「API を借りる」から「自分で提供する」へ切り替える判断と、推論サービングの設計・運用ができるようになります。セルフホストが本当に得か(「原価が下がる」とは限らない構造)を見極め、推論サーバーの類型と代表例・スループットの作り・GPU メモリAgent が「覚えている」ように見えるデータの総称。短期記憶(コンテキスト)・作業状態・長期記憶(外部ストレージ)の 3 層に分けて設計する。見積り・量子化モデルの重みを低い数値精度(INT8・INT4 等)で表現してサイズを縮める手法。VRAM とメモリ帯域の負荷が下がり、同じ GPU により大きいモデル・多い同時実行を載せられる。精度を下げるほど品質が落ちうるため、量子化後の品質は自社タスクで検証してから使う。の運用判断・監視・モデル更新までを、選定判断に使える形で持ち帰れる状態を目指します。ハードウェアの基礎は GPU・AI ハードウェアの基礎 が前提です。
対象読者
- データ主権データがどの国・地域に置かれ、どの国の法域に服するかという概念。AI の処理・保存リージョンの選択や越境移転規制に直結する。適法性の判断は法務・貿易管理の領分で、本ライブラリは確認先の所在を示すにとどめる。・閉域網インターネットから物理的・論理的に隔離され、外部 API に到達できないネットワーク。クラウド型の AI コーディングエージェントは通信自体が通らず原理的に使えない。真の air-gapped 運用は、OSS エージェント + ローカル/自社ホストモデル(外部送信ゼロ)でのみ成立し、監査・SSO などの統制は運用側で担保する。・コストの観点でセルフホスト推論を検討する運用・インフラ担当
- オープンウェイトモデルの重みが公開され、ダウンロードして自社インフラでホストできる LLM。ライセンス条件はモデルごとに大きく異なり、「オープン = 自由に商用可」ではなく、OSI の「オープンソース AI」定義(OSAID)とも区別される。(ライセンス類型)/ 主要 LLM の全体像(モデルの地図)モデルを「実際に動かす」推論サービングを設計・運用するプラットフォームエンジニア
前提知識
- GPU・AI ハードウェアの基礎 — VRAM・メモリ帯域・調達の基礎(本記事の前提)
- デプロイとスケーリング — アプリ側の容量設計・フォールバックの原則(本記事はモデル提供層)
- モデル選定ガイド — API かセルフホストかの判断軸
本文
概要: 分担と「なぜ自ホストするのか」
本記事はモデルを自分で提供する層を扱います。どのモデルを選ぶかは モデル選定ガイド / 主要 LLM の全体像、アプリ側の容量・フォールバック設計は デプロイとスケーリング が正本です。ここでは「借りるより自ホストが適切な場面はどこか、そのときどう作るか」に集中します。
セルフホストの判断: 「原価が下がる」とは限らない
まず判断です。セルフホストは、コスト削減が動機なら裏切られやすい選択です。
- 向く動機: データ主権(データを外部に出せない)・閉域網(外部 API に到達できない 企業システム環境の制約と対応)・カスタムモデル(FT した独自モデルを動かす)・特定のレイテンシ要件
- コストの損益分岐: 「API より原価が下がる」は、高い稼働率が前提です。GPU は借りても買っても高価で、遊んでいる時間は損失です。低・中程度の利用量では、従量課金の API のほうが安いことが多いです
- 隠れコスト: GPU 費用に加え、運用人件費・可用性確保(冗長化)・モデル更新の手間がかかります(GPU・AI ハードウェアの基礎の TCO)
- 結論: セルフホストは「安くなるから」ではなく「外に出せない/借りられないから」を主動機に選ぶのが健全です。コスト目的なら、まず損益分岐を稼働率込みで計算します
推論サーバーの類型と代表例
セルフホストの中核が**推論サーバー(サービングエンジン)**です。大きく 2 類型あり、用途で選びます(具体のエンジンは変化が速いため 2026-08 時点の代表例)。
| 類型 | 用途 | 代表例(2026-08 時点・OSS) |
|---|---|---|
| 高スループット系(サーバー GPU) | 多数同時リクエストを高効率で捌く | vLLM・SGLang・LMDeploy・NVIDIA TensorRT-LLM(NVIDIA 専用)。汎用サーバーの Triton(backend 経由) |
| 軽量・ローカル系 | 個人・端末・小規模での実行 | ローカル・オンデバイス LLM の実務を参照 |
- サーバー用途では、上記の高スループット系エンジンが定番です。多くが連続バッチング・KV キャッシュ生成中に各トークンの中間表現(Key / Value)を保存・再利用する仕組みで、プロンプトキャッシュの実体。中間表現は先頭からの並びに依存するため、キャッシュは前方一致でしか効かない。の効率管理・量子化・OpenAI 互換 API を備え、既存の OpenAI クライアントからそのまま叩けることが多いです(2026-08 時点で vLLM・SGLang・LMDeploy に加え、TensorRT-LLM も
trtllm-serveコマンドで OpenAI 互換 API を明記) - 顔ぶれは入れ替わる: かつて定番だった Hugging Face TGI は、メンテナンスモード告知を経て 2026-03 にリポジトリがアーカイブされました(README は代替として vLLM・SGLang・llama.cpp・MLX を案内)。採用時は機能だけでなく開発が継続しているかも確認します
- ハードウェア束縛に注意: NVIDIA 専用のエンジン(TensorRT-LLM)と、より広いハードに対応するものがあります。手持ち/調達予定の GPU に合うかを確認します
- ライセンスは主要 OSS の多くが寛容(Apache-2.0・MIT・BSD 系)ですが、採用時に最新の公式情報で確認します(下記 TODO)
スループットの作り: 連続バッチングと KV キャッシュ
セルフホストで「速く・安く」回す鍵は、GPU を遊ばせないことです。中心が 2 つの仕組みです(理論の詳細は本記事の範囲外)。
- 連続バッチング(continuous batching): 複数リクエストをまとめて処理し、リクエストの開始・終了が揃わなくても空いたスロットに次を詰めてGPU を遊ばせない方式。1 件ずつ処理するよりスループットが大きく上がります
- KV キャッシュのメモリ管理: 生成済みトークンの中間状態(KV キャッシュ 注意機構とコンテキストウィンドウの仕組み)を効率よく管理し、VRAM を無駄なく使う仕組み(ページ単位の管理など)。長い文脈・多数同時実行でメモリを破綻させないための要点です
- これらは前述の高スループット系エンジンが備える機能で、自分で実装するものではなく、エンジンを選んで使うのが基本です
GPU メモリの見積り
セルフホストの容量計画は、VRAM が載るかから始まります。
- 重み: パラメータ数 × 精度あたりのバイト数(FP16≈2・INT8≈1・INT4≈0.5 バイト)(GPU・AI ハードウェアの基礎)
- KV キャッシュ: 同時実行数 × 文脈長に比例して増えます。多数同時・長文脈ほど KV キャッシュが VRAM を圧迫し、これを見落とすと「モデルは載ったのに同時実行数を上げたら溢れる」ことになります
- 作業領域: 実行時の一時メモリも上乗せされます
- 見積りは「重み + 想定同時実行・文脈長での KV キャッシュ + 余裕」で行い、ピーク時に溢れないかを確認します
量子化の運用判断
量子化(quantization) で VRAM を節約できますが、運用では品質検証とセットで判断します。
- 効果: 精度を下げると VRAM とメモリ帯域の負荷が下がり、同じ GPU により大きいモデル・より多い同時実行を載せられます
- リスク: 精度を下げるほど品質が落ちうる。落ち方はモデル・タスク・量子化手法で異なります
- 運用判断: 「どの量子化レベルなら自社タスクの品質基準を満たすか」を評価で確かめます(Agent 評価の基礎)。「載るから」で品質未検証のまま量子化を本番投入しないことが肝心です
監視
セルフホストは、API では見えなかった指標を自分で監視します。
- GPU 使用率・VRAM 使用量: 遊んでいないか(低すぎ=無駄)、溢れそうでないか(高すぎ=危険)
- スループットとキュー: 単位時間あたりの処理数、待ち行列の長さ。キューが伸びていれば容量不足のサイン
- レイテンシの分布: 連続バッチングはスループットを上げますが、混雑時の末尾レイテンシ(遅い方)が伸びやすい点に注意します
- アプリ側の可観測性トレース・メトリクス・ログといった外部出力から、システム内部で何が起きたかを説明できる性質。Agent では技術メトリクスに加えて品質シグナルの設計が必要になる。(可観測性とトレーシング)と合わせ、モデル提供層のこれらの指標を追加します
モデル更新の運用
セルフホストでは、モデルの更新も自分の運用になります。
- 重みの配布と切り替え: 新しいモデル/バージョンの重みを配布し、切り替えます。大きなファイルの配布・ロード時間を織り込みます
- 無停止の切り替え: 稼働中に切り替えるなら、新旧を並行稼働させて切り替える設計(デプロイとスケーリングの考え方)。切り替え失敗時の切り戻しも用意します
- 更新イベントとの連動: モデル更新は評価・キャッシュ無効化(セマンティックキャッシュと応答再利用)・バージョニング(バージョニング・デプロイ・モデル更新追従)と連動させます
実務での注意点
アンチパターン
- コスト削減目的でセルフホストする → 低稼働率で API より高くつく → 損益分岐を稼働率込みで計算し、主動機はデータ主権・閉域網に置く
- 重みの VRAM だけ見て KV キャッシュを忘れる → 同時実行を上げた途端に溢れる → 想定同時実行・文脈長での KV キャッシュを見積もる
- スループット機能を自作しようとする → 連続バッチング・KV 管理の再発明で消耗する → 成熟した推論エンジンを選んで使う
- 量子化を品質未検証で本番投入する → 品質が静かに落ちる → 量子化レベルごとに自社タスクで品質を検証する
- モデル更新を無停止・切り戻し設計なしで行う → 更新失敗が即障害になる → 並行稼働での切り替えと切り戻しを用意する
チェックリスト
- セルフホストの主動機(データ主権・閉域網・カスタムモデル)を明確にした
- コスト目的の場合、稼働率込みの損益分岐で API と比較した
- 用途に合う推論エンジン(高スループット系)を、ハード束縛・API 互換・ライセンスで選んだ
- 重み + 想定同時実行・文脈長での KV キャッシュ + 余裕で VRAM を見積もった
- 量子化を使う場合、量子化レベルごとに自社タスクで品質を検証した
- GPU 使用率・VRAM・スループット・キュー・末尾レイテンシを監視している
- モデル更新を並行稼働での切り替え + 切り戻しで設計し、評価・キャッシュ・バージョニングと連動させた
関連トピック
- GPU・AI ハードウェアの基礎 — VRAM・メモリ帯域・TCO(本記事の前提)
- ローカル・オンデバイス LLM の実務 — 軽量・端末側の実行(サーバー側の対)
- LLM ゲートウェイの設計 — 自ホストモデルと API を一元化する層
- デプロイとスケーリング — 容量設計・無停止切り替えの原則
- モデル選定ガイド / 主要 LLM の全体像 — どのモデルを載せるか
- ファインチューニングと蒸留 — 自ホストするカスタムモデルの作り方
- 企業システム環境の制約と対応 — 閉域網でセルフホストが要る文脈
参考資料
- vLLM(公式リポジトリ) — 連続バッチング・PagedAttention・OpenAI 互換 API を備える推論エンジンの例(アクセス日: 2026-07-08)
- SGLang(公式リポジトリ) — RadixAttention による prefix caching 等を備える推論エンジンの例(アクセス日: 2026-07-08)
- Hugging Face Text Generation Inference(公式リポジトリ) — アーカイブ済み(2026-03-21)・read-only。「顔ぶれは入れ替わる」の実例として参照(アクセス日: 2026-08-18)
TODO・未確認事項
本文の未確認事項を参照してください。