人工知能や機械学習の分野では、一度学習させたモデルの旅は、まだまだ終わりそうにない。これらのモデルを実用的に役立てるためには、新しい未知のデータに対して予測を行うためにアクセスできる必要がある。そこで登場するのが、モデル・サービングである。モデル・サービングとは、学習済みの機械学習モデルを、アプリケーションやシステムがアクセスして推論を実行できる本番環境にデプロイするプロセスである。これは、基本的にモデル開発と実世界での応用のギャップを埋めるもので、企業やユーザーがAIモデルのパワーを活用できるようにする。
モデル給仕の重要性
モデルサービングは、静的で訓練されたモデルを動的で運用可能なサービスに変換するため、非常に重要である。モデルサービングがなければ、機械学習モデルは開発環境にとどまり、実世界のシナリオで価値を提供することができません。効率的なモデルサービングは、次のことを保証します:
- リアルタイム予測:不正検知や自律走行など、一刻を争うタスクに不可欠な即時予測を可能にする。リアルタイムの推論は、最新のAIアプリケーションの多くに不可欠です。
- スケーラビリティと信頼性:本番環境では、さまざまな負荷に対応するスケーラビリティと、継続的な運用を保証する信頼性が求められます。モデルサービングインフラストラクチャは、必要に応じてリソースを拡張し、高可用性を維持しながら、これらの要求を満たすように設計されています。
- アクセシビリティと統合:APIを介してモデルにアクセスする標準化された方法を提供し、ウェブサービスからモバイルアプリまで、多様なアプリケーションへのAI機能の統合を容易にする。これにより、コンピュータ・ビジョンや 自然言語処理(NLP)をより広範なシステムに組み込むことが容易になる。
- モデル管理とバージョン管理:異なるモデルのバージョン管理を容易にし、シームレスな更新とロールバックを可能にします。これは、モデルの精度を維持し、進化するデータに適応するために極めて重要です。Ultralytics HUBは効率的なモデル管理のためのツールを提供します。
実世界での応用
モデル・サービングは、業界を問わず、膨大な数のAIアプリケーションに力を与えている。具体例をいくつか紹介しよう:
- Eコマース商品の推奨:Eコマース・プラットフォームは、パーソナライズされた商品レコメンデーションをリアルタイムで提供するために、モデル・サービングを利用している。学習済みのレコメンデーション・システム・モデルは、API経由で提供される。ユーザーがウェブサイトを閲覧すると、アプリケーションはユーザーデータをモデル・サービング・エンドポイントに送信し、モデル・サービング・エンドポイントは予測されたおすすめ商品をユーザーに表示する。
- 診断のための医用画像解析ヘルスケアでは、腫瘍検出に使用されるような医用画像解析モデルは、放射線科医を支援するために提供されます。新しい医療画像(X線やMRIなど)が取得されると、モデル提供システムに送信されます。モデルは推論を実行し、潜在的な異常を強調するなどの診断的洞察を返し、より迅速で正確な診断に役立ちます。
モデル・サービングの主要な構成要素
典型的なモデル・サービング・アーキテクチャには、いくつかの主要コンポーネントが協調して動作する:
- 学習済みモデル:コアとなるコンポーネントは、学習済みの機械学習モデルそのものであり、多くの場合、効率的なデプロイのためにONNX やTensorFlow SavedModel のような形式で保存されます。Ultralytics YOLO モデルは、デプロイの柔軟性を高めるために、次のようなさまざまな形式にエクスポートできます。 TensorRTそして OpenVINO.
- サービング・インフラストラクチャー:モデルを実行するハードウェアとソフトウェア環境が含まれる。Amazon SageMakerや Google Cloud AI Platformのようなクラウドベースのプラットフォームであったり、オンプレミスのサーバーであったりする。サーバーレス・コンピューティングの選択肢も、そのスケーラビリティとコスト効率の高さから人気を集めている。
- APIサーバー:API(Application Programming Interface)サーバーは、アプリケーションとサービス提供モデル間のインターフェースとして機能する。APIサーバーは予測要求を受け取り、推論のためにモデルに送信し、予測を返します。一般的なAPIフレームワークにはRESTと gRPCがあります。
- ロードバランサー:高トラフィックを処理し、スケーラビリティを確保するために、ロードバランサーは、受信リクエストをサービングインフラストラクチャの複数のインスタンスに分散し、過負荷を防ぎ、パフォーマンスを維持します。
- モニタリングとロギング:モデルのパフォーマンスを追跡し、問題を検出し、長期間にわたるサービングシステムの信頼性を確保するためには、堅牢なモニタリングとロギングシステムが不可欠である。これには、推論のレイテンシー、スループット、エラー率のモニタリングが含まれ、モデル・モニタリングの一部です。
モデルのデプロイメントとモデルのサービング
しばしば同じ意味で使われますが、モデルデプロイメントとモデルサービングにはそれぞれ異なる意味があります。モデルデプロイメントとは、モデルを利用できるようにする、より広範なプロセスのことであり、APIを介して提供するだけでなく、様々な方法を含むことができる。モデルデプロイメントのオプションは、モデルをアプリケーションに直接組み込んだり、エッジデバイスにデプロイしたり、バッチ推論パイプラインをセットアップしたりと多岐にわたります。
モデルサービングとは、具体的には、リアルタイムの推論のために、専用でスケーラブルでアクセス可能なサービスを、通常はAPIを介してセットアップすることを指す。これは、継続的なオンデマンド予測機能に焦点を当てた特定のタイプのデプロイメントである。デプロイメント方法の選択は、レイテンシーのニーズ、スケーラビリティの要求、統合の複雑さなど、アプリケーションの要件に依存する。即時予測と多様なシステムへのシームレスな統合を必要とするアプリケーションには、モデルサービングが理想的なアプローチです。