モデルエンドポイント(モデルエンドポイント)
学習済みMLモデルやLLMに推論リクエストを送信するためのAPIエンドポイント(URL)。クラウドサービス(AWS SageMaker、GCP Vertex AI、Azure ML)が提供するマネージドエンドポイントと、vLLM/TGI等で構築するセルフホストエンドポイントの2種類がある。OpenAI互換APIフォーマット(/v1/chat/completions)が事実上の標準。
モデルエンドポイントとは
モデルエンドポイントは、MLモデルやLLMに推論リクエストを送信するためのAPIの入口である。HTTPリクエスト(通常はPOST)でプロンプトやデータを送信し、モデルの推論結果をJSON形式で受信する。
2026年時点でLLMのモデルエンドポイントはOpenAI互換APIフォーマット(/v1/chat/completions)が事実上の標準となっており、vLLM、Ollama、LM Studio、TGI、LiteLLM等のほぼ全てのサービングツールがこのフォーマットに対応している。
エンドポイントの種類
| 種類 | 提供元 | 管理負荷 | コスト | スケーラビリティ |
|---|---|---|---|---|
| マネージドAPI | OpenAI, Anthropic, Google | なし | 従量課金 | 自動 |
| クラウドマネージドエンドポイント | AWS SageMaker, GCP Vertex AI | 低い | インスタンス+推論 | 半自動 |
| セルフホスト | vLLM, TGI on GPU | 高い | GPU費用のみ | 手動/K8s |
| サーバーレス | Modal, Replicate, Together AI | 低い | 推論時間課金 | 自動 |
| ローカル | Ollama, LM Studio | なし | 電気代のみ | なし |
OpenAI互換APIフォーマット
OpenAIが定義したAPI仕様が業界標準になっている。エンドポイントURLとリクエスト/レスポンスのJSON構造が統一されているため、OpenAI SDKやLangChain等のクライアントライブラリを変更なしで異なるプロバイダに接続できる。
主要エンドポイント:
/v1/chat/completions: チャット形式の推論(最も一般的)/v1/completions: テキスト補完形式の推論(レガシー)/v1/embeddings: テキスト埋め込みベクトル生成/v1/models: 利用可能なモデル一覧
クラウドマネージドエンドポイント
AWS SageMaker Endpoints: Hugging FaceモデルをSageMaker上にデプロイ。ml.g5.xlarge(A10G GPU)で7Bモデルが$1.41/hから。リアルタイムエンドポイント、サーバーレスエンドポイント、非同期エンドポイントの3種類を提供。
GCP Vertex AI: Model GardenからHugging Faceモデルをワンクリックデプロイ。A100/H100インスタンスに対応。予測ルーティングで複数モデルバージョン間のA/Bテストが可能。
Azure ML Managed Online Endpoints: Azure上でのモデルデプロイ。マネージドインフラで自動スケーリングとモニタリングを提供。OpenAI Serviceとの統合でGPT-4o/o1のプライベートエンドポイントも構築可能。
セルフホストエンドポイントの構築
vLLMでOpenAI互換エンドポイントを立てる場合:
# vLLMサーバー起動
python -m vllm.entrypoints.openai.api_server \
--model meta-llama/Llama-3.1-70B-Instruct \
--tensor-parallel-size 4 \
--port 8000
# クライアントからアクセス
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"meta-llama/Llama-3.1-70B-Instruct","messages":[{"role":"user","content":"Hello"}]}'
Ollamaでローカルエンドポイントを立てる場合:
# モデルダウンロード+サーバー起動
ollama run llama3.1
# OpenAI互換APIが自動的にlocalhost:11434で起動
curl http://localhost:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"llama3.1","messages":[{"role":"user","content":"Hello"}]}'
よくある質問
Q1: エンドポイントの応答速度を改善するには?
Time to First Token(TTFT)の改善にはPrefix Caching(頻出するシステムプロンプトのKVキャッシュを再利用)が最も効果的で、50〜80%の改善が見込める。全体のレイテンシ改善にはSpeculative Decoding(30〜50%改善)、量子化(メモリ削減による大バッチ対応)、テンソル並列(GPU間でモデル分割)が有効。
Q2: エンドポイントの可用性をどう確保しますか?
複数レプリカのデプロイとヘルスチェック付きロードバランサーが基本。Kubernetes環境ではReadiness ProbeでGPU初期化完了を検知し、Liveness ProbeでGPU OOMやハングを検出する。マルチプロバイダのフォールバック(LiteLLM等)を設定し、プライマリプロバイダ障害時にセカンダリへ自動切替する。
Q3: エンドポイントのコストをモニタリングするには?
LiteLLMのコスト追跡機能でプロバイダ別・モデル別・ユーザー別のトークン消費量とコストをリアルタイムで可視化できる。OpenAIのUsage APIやAnthropic Dashboard等の公式ツールも活用する。月額予算のアラートを設定し、予算超過時に自動的に安価なモデルへフォールバックする仕組みを推奨。