モデルの展開
MLモデルを予測、自動化、AI主導の洞察のための実世界ツールに変換する、モデル展開のエッセンスをご覧ください。
モデルデプロイメントとは、訓練された機械学習(ML)モデルを、入力を受け取り予測を提供できる本番環境に統合する重要なプロセスである。これは機械学習ライフサイクルの最終段階であり、静的なモデルファイルを機能的で価値を生み出すアプリケーションに変換する。効果的なデプロイメントがなければ、どんなに正確なモデルであっても単なる学術的な演習に過ぎない。目標は、モデルの予測力を、エンドユーザー、ソフトウェア・アプリケーション、または他の自動化システムに、信頼性が高くスケーラブルな方法でアクセスできるようにすることである。
デプロイメント・プロセスとは?
モデルのデプロイには、単に学習したモデルの重みを保存するだけではありません。これは、モデルがターゲット環境で効率的かつ確実に動作するようにするための複数のステップからなるプロセスです。
- モデルの最適化:展開の前に、モデルはしばしばスピードとサイズのために最適化される。モデルの量子化やモデルの刈り込みのような技術は、精度を大幅に落とすことなく、リアルタイム推論に必要な計算リソースを削減します。
- モデルのエクスポート:最適化されたモデルは、ターゲットプラットフォームに適した形式に変換されます。例えば、Ultralyticsのモデルは、ONNX、TensorRT、CoreMLなど 様々な形式にエクスポートでき、汎用性が高い。
- パッケージング:モデルとすべての依存関係(特定のライブラリやフレームワークなど)が一緒にバンドルされます。Dockerのようなツールを使ったコンテナ化は一般的なプラクティスで、モデルがどこでも一貫して動作することを保証する、自己完結型のポータブルな環境を作ります。
- サービング:パッケージ化されたモデルはサーバーやデバイスにデプロイされ、API経由でリクエストを受け付ける。このコンポーネントはモデルサービングと呼ばれ、入力されたデータを処理し、予測を返す役割を果たします。
- モニタリング:デプロイ後は、モデルの継続的なモニタリングが不可欠です。これには、モデルが期待通りに動作していることを確認し、データ・ドリフトなどの問題を検出するために、パフォーマンス・メトリクス、レイテンシー、リソース使用量を追跡することが含まれます。
展開環境
モデルはさまざまな環境に展開でき、それぞれに利点と課題がある。
実世界での応用
- 製造品質管理:欠陥検出のためにトレーニングされたUltralytics YOLOモデルは、工場フロアのエッジデバイスに導入することができます。高スループットのためにTensorRTで最適化されたこのモデルは、ベルトコンベアを見下ろすカメラと統合されています。リアルタイムで物体検出を行い、不良品を特定し、即座にロボットアームに信号を送って不良品を取り除きます。このプロセス全体がローカルで行われるため、ネットワークの遅延が最小限に抑えられ、即座に対応することができます。詳しくは、AIが製造業にどのように応用されているかをご覧ください。
- スマート小売分析:人数のカウントとトラッキングのためのコンピュータビジョンモデルがクラウドサーバー上に展開されている。小売店舗内のカメラがクラウドにビデオをストリーミングし、モデルがフィードを処理して顧客の動線ヒートマップを生成し、買い物パターンを分析する。このアプリケーションはKubernetesで管理され、複数の店舗からのさまざまな負荷に対応し、在庫管理や店舗レイアウトの最適化のための貴重な洞察を提供する。
モデルのデプロイメント、モデルのサービング、そしてMLOps
密接に関連してはいるが、これらの用語は別物である。
- モデルのデプロイメントとモデルのサービング:デプロイメントとは、学習させたモデルを運用可能にするエンドツーエンドのプロセス全体を指す。Model Servingは、デプロイの特定のコンポーネントであり、モデルを実行し、多くの場合APIを介して予測リクエストに応答するインフラストラクチャを指します。
- モデルのデプロイメントとMLOpsの比較:機械学習オペレーション(MLOps)は、AIのライフサイクル全体を包含する広範なプラクティスのセットである。デプロイはMLOpsフレームワークの中で重要なフェーズであり、データ管理、モデルのトレーニング、バージョニング、継続的なモニタリングと再トレーニングも含まれます。Ultralytics HUBのようなプラットフォームは、カスタムモデルのトレーニングからシームレスなデプロイメントとモニタリングまで、このワークフロー全体を管理する統合環境を提供します。