AI/MLインフラ(クラウド)

モデルサービング もでるさーびんぐ

推論エンドポイントREST APIMLOpsコンテナスケーリングバッチ推論
モデルサービングについて教えて

簡単に言うとこんな感じ!

AIモデルって、作っただけじゃ使えないんだ。「モデルサービング」は、完成したAIモデルをアプリやシステムから呼び出せるように「窓口」として公開する仕組みのことだよ。料理に例えると、シェフが作った料理をお客さんに届けるウェイターみたいな役割ってこと!


モデルサービングとは

モデルサービング(Model Serving) とは、機械学習で訓練済みのAIモデルを本番環境に展開し、外部のアプリケーションやユーザーからリクエストを受け付けて推論結果を返せる状態にすることを指します。「モデルデプロイメント」や「推論サービング」とも呼ばれます。

AIの開発プロセスでは、データ収集・モデルの訓練(トレーニング)・評価という段階を経て初めてモデルが完成しますが、それだけでは実際のビジネスには活用できません。モデルサービングは、完成したモデルをAPIエンドポイント(HTTPで呼び出せる窓口)として公開することで、「画像を送ったら分類結果が返ってくる」「テキストを送ったら感情分析の結果が返ってくる」といった実用的な使い方を可能にします。

昨今のAI活用の広がりに伴い、モデルサービングはMLOps(機械学習の開発・運用を効率化するプラクティス)の中でも特に重要な領域として注目されています。適切なサービング基盤がなければ、どれだけ精度の高いモデルを作っても、ビジネス価値に結びつけることができません。


モデルサービングの仕組みと構成要素

モデルサービングを実現するには、いくつかの構成要素が連携します。

構成要素役割具体例
モデルストア訓練済みモデルのファイルを保管する場所MLflow Model Registry、S3
推論サーバーモデルをロードしてリクエストを処理するTorchServe、Triton Inference Server
APIエンドポイント外部からHTTPでアクセスできる窓口REST API、gRPC
コンテナ推論環境をパッケージ化して持ち運び可能にするDocker、Kubernetes Pod
スケーラー負荷に応じてサーバー台数を増減させるKubernetes HPA、AWS Auto Scaling
モニタリング推論の精度・レイテンシ・エラーを監視するPrometheus、Grafana

リクエストの流れ

クライアント(アプリ/ユーザー)
        |
        | HTTPリクエスト(例: POST /predict)
        v
  ロードバランサー
        |
        v
  推論サーバー(複数台)
   ┌──────────────────┐
   │ 1. 入力データの前処理 │
   │ 2. モデルへ入力      │
   │ 3. 推論実行          │
   │ 4. 結果の後処理      │
   └──────────────────┘
        |
        | HTTPレスポンス(JSON形式で結果を返す)
        v
クライアント(アプリ/ユーザー)

サービング方式の2種類

リアルタイム推論(オンライン推論)バッチ推論 の2つが代表的な方式です。

方式特徴向いているケース
リアルタイム推論リクエストの都度即座に結果を返す。低レイテンシが求められるチャットボット、不正検知、レコメンド
バッチ推論大量データをまとめて処理する。コスト効率が高い夜間の需要予測、月次レポート生成

歴史と背景

  • 〜2015年頃 — AIモデルのデプロイは各チームが独自にFlaskやDjangoなどのWebフレームワークで手作りする状況。再利用性が低く、本番化に膨大な工数がかかっていた
  • 2017年 — TensorFlowのTensorFlow Servingがリリース。モデルサービングに特化した専用サーバーという概念が広まる
  • 2018〜2019年KFServing(現KServe)やSeldon Coreなど、Kubernetes上でモデルをサービングするOSSが登場。クラウドネイティブなサービング基盤が整備され始める
  • 2019年 — AWS SageMaker、Google AI Platform、Azure MLなど、主要クラウドがマネージドなモデルサービング機能を強化。インフラ管理不要でモデルを公開できる環境が整う
  • 2020年 — NVIDIAがTriton Inference Serverをオープンソース化。GPU推論の効率化・マルチフレームワーク対応が進む
  • 2022年以降 — 大規模言語モデル(LLM)の登場により、サービングの難易度が急上昇。vLLMTGI(Text Generation Inference)など、LLM特化のサービング技術が台頭

サービング方式・ツールの比較

モデルサービングを実現するアプローチは大きく「クラウドマネージド」「OSS自前構築」に分かれます。

モデルサービングのアプローチ比較 ☁️ クラウドマネージド AWS SageMaker Endpoints インフラ管理不要・オートスケール Google Vertex AI MLパイプラインと統合・監視充実 Azure ML Endpoints Azureサービスとの親和性が高い Hugging Face Inference API LLM・OSSモデルを即座に公開 🔧 OSS自前構築 KServe(旧KFServing) Kubernetes上で本格運用 Triton Inference Server GPU活用・高スループット推論 vLLM / TGI LLM特化・高速トークン生成 BentoML / Seldon Core フレームワーク非依存・柔軟な構成

選択の目安

条件おすすめアプローチ
インフラ管理の人員が少ない、早く本番化したいクラウドマネージド
特定クラウドに依存したくない(マルチクラウド・オンプレミス)OSS自前構築
LLMを低コストで大量に呼び出したいvLLM / TGI
複数フレームワークのモデルを混在させたいTriton

関連する規格・仕様

規格・仕様内容
KFServing v2 Inference ProtocolKubernetes上のモデルサービングの標準APIインターフェース仕様(現KServe)
ONNX(Open Neural Network Exchange)モデルの相互運用性を高めるフォーマット。サービング環境でのモデル変換に広く使われる
OpenAPI / Swagger推論エンドポイントのAPIドキュメント標準
Prometheus exposition formatサービングサーバーのメトリクス収集に使われる監視規格

関連用語

  • MLOps — 機械学習モデルの開発・デプロイ・運用を継続的に回すプラクティス全般
  • 推論(インファレンス) — 訓練済みモデルに新しいデータを入力して予測・分類結果を得ること
  • コンテナ — アプリケーションとその実行環境をパッケージ化する技術。サービングの基盤として不可欠
  • Kubernetes — コンテナを自動管理・スケールするプラットフォーム。本格的なモデルサービングで多用される
  • REST API — モデルサービングで最も広く使われるHTTPベースのAPI設計スタイル
  • モデルレジストリ — 訓練済みモデルのバージョン管理・保管を行う仕組み。サービングの上流工程