モデルサービングとは
モデルサービング(Model Serving)とは、学習済みの機械学習モデルを本番環境にデプロイし、アプリケーションやユーザーからのリクエストに応じて予測結果を提供するプロセスおよびインフラストラクチャです。MLOpsパイプラインの最終段階であり、モデルの価値を実際のビジネスに届ける重要な工程です。
| ひとことで言うと | 学習済みモデルを、実際に使える形で提供し続けること。 |
|---|---|
| 何を考えるか | 応答時間、同時処理数、バージョン管理、障害時の切り戻し。 |
| 注意点 | 学習より運用のほうが長く続く。最初から運用を想定して設計する。 |
サービングの方式
モデルサービングには大きく2つの方式があります。リアルタイム推論(オンライン推論)は、個々のリクエストに対してミリ秒単位で応答する方式で、チャットボットやレコメンデーションに使われます。バッチ推論(オフライン推論)は、大量のデータをまとめて処理する方式で、レポート生成や定期的なスコアリングに使われます。
1モデルを登録レジストリで管理
▶
2サーバーに配置推論環境へ
▶
3APIとして公開アプリから呼べる形に
▶
4負荷分散複数台で受ける
▶
5監視・切り戻し異常時は旧版へ
サービングインフラの選択肢
モデルサービングのインフラには多様な選択肢があります。専用の推論サーバー(Triton、TorchServe)、コンテナベースのデプロイ(Docker + Kubernetes)、マネージドサービス(SageMaker Endpoints、Vertex AI Prediction)、サーバーレス(AWS Lambda、Cloud Functions)などがあり、要件に応じて選択します。
サービングの課題
モデルサービングの課題には、レイテンシの最適化、スケーラビリティ、モデルのバージョン管理、A/Bテスト、モデルの劣化監視(ドリフト検出)、コスト管理などがあります。これらをMLOpsの仕組みで継続的に管理することが成功の鍵です。