モデルのデプロイ
モデルデプロイメントの要点をご覧ください。MLモデルを、予測、自動化、およびAI主導の洞察のための現実世界のツールに変えます。
モデルのデプロイは、機械学習のライフサイクルにおける重要な段階である。
機械学習(ML)モデルを本番環境に統合し
実稼働環境に統合し、実稼働データに作用させる。モデルのデプロイは、モデルが管理された環境で学習・検証される開発段階と、モデルが実世界で価値を生み出す応用段階とのギャップを埋めるものである。
管理された環境でモデルがトレーニングされ検証される「開発」と、実用的な洞察を提供することで価値を生み出す「実世界への適用」のギャップを埋めるものです。
とのギャップを埋めるものである。効果的な展開がなければ、最も洗練された
ニューラル・ネットワーク(NN)は静的なファイルのままであり、エンドユーザーや
エンドユーザーや外部のソフトウェアシステムと相互作用することができません。第一の目的は、モデルの予測能力を次のようにすることである。
主な目的は、モバイルアプリからエンタープライズクラウドサービスまで、幅広いアプリケーションでモデルの予測能力にアクセスでき、信頼性が高く、スケーラブルにすることです。
サービスである。
デプロイメント・パイプライン
モデルを研究環境から実稼働環境に移行させるには、通常、性能と安定性を確保するために設計された構造化されたパイプラインが必要です。
設計された構造化されたパイプラインを使用します。
-
モデルの最適化:モデルがトレーニング環境を離れる前に、多くの場合、以下のようなモデルの最適化が行われます。
モデルの最適化
を行うことが多い。例えば
モデルの重みの精度を下げる
例えば、32ビット浮動小数点から8ビット整数へ)の精度を低下させ、精度への影響を最小限に抑えながら計算量を大幅に削減します。
精度に与える影響は最小限です。
-
モデルのエクスポート:最適化されたモデルは、トレーニングフレームワークに依存しない標準フォーマットに変換されます。
標準フォーマットに変換されます。フォーマットは
ONNX (Open Neural Network Exchange)
のようなフォーマットにより、PyTorch 学習したモデルを様々な推論エンジンで実行できるようになります。ハードウェア固有のアクセラレーションのために、開発者は
にエクスポートすることができる。 TensorRTOpenVINO エクスポートすることができる。
にエクスポートすることができる。
-
コンテナ化:異なるコンピューティング環境間でモデルが一貫して実行されるようにするには、コンテナ化を使用するのが一般的です。
コンテナ化を使用するのが一般的です。
Dockerのようなツールは、モデル、その依存関係、および実行環境を単一の軽量なユニットにパッケージ化します。
Dockerのようなツールは、モデル、その依存関係、および実行環境を単一の軽量なユニットにパッケージ化し、「私のマシンで動作する」という問題を排除します。
という問題を排除します。
-
オーケストレーションとスケーリング:需要の高いシナリオでは、デプロイされたコンテナはKubernetesのようなオーケストレーション・システムによって管理される。
Kubernetesのようなオーケストレーションシステムによって管理される。これらのプラットフォームは
スケーラビリティを処理し、トラフィックの急増に対応するために新しいモデル
インスタンスを自動的に立ち上げ、トラフィックの急増に対応し、高可用性を確保します。
デプロイメント環境
どの環境を選択するかは、次のようなアプリケーションの要件に大きく依存する。
推論レイテンシー、データプライバシー
接続性に大きく依存する。
-
クラウド展開:以下のようなクラウドプラットフォームでモデルをホスティングします。
AWSのSageMakerや
Google Vertex AIなどのクラウドプラットフォーム上でモデルをホスティングすることで、実質的に無制限の計算能力と容易なスケーラビリティを提供します。
容易なスケーラビリティを提供します。これは複雑な
大規模言語モデル(LLM)やバッチ処理タスクに最適です。
処理タスクに最適です。
-
エッジAI
インターネットに依存しない
エッジAI:インターネットに依存しないリアルタイム推論を必要とするアプリケーションでは、モデルはローカル・デバイスに直接デプロイされる。
エッジAIは、以下のようなコンパクトなハードウェアを利用します。
NVIDIA Jetsonや
Raspberry Piのようなコンパクトなハードウェアを利用し、データをソースで処理する。このアプローチにより
レイテンシーを最小限に抑え、機密情報を
デバイスに機密情報を保持することで、データのプライバシーを強化します。
-
ブラウザベース:TensorFlow.jsのようなフレームワークは、以下のことを可能にする。
モデルは、クライアントのハードウェアを使用して、完全にWebブラウザ内で実行される。このインストール不要のアプローチは
インタラクティブなWebアプリケーションや軽量な
コンピュータビジョン(CV)タスクに最適です。
実際のアプリケーション
-
自動化された製造品質管理:工場では
YOLO11物体検出モデルが、ベルトコンベア上のカメラに接続されたエッジ装置
ベルトコンベア上のカメラに接続されたエッジデバイスに配置されます。製品が通過すると、モデルはリアルタイムで
異常検知をリアルタイムで行い、ひび割れやラベルのズレなど
ひび割れやラベルのズレなどの欠陥を特定します。システムは即座に機械アームを作動させ、不良品を取り除く。
手作業による検査に比べ、効率が大幅に向上します。詳細はこちら
製造業におけるAI
-
スマート・リテール・アナリティクス小売企業は
オブジェクト・トラッキング・モデルを導入
を導入しています。ローカル・サーバーでビデオ・フィードを処理することで、システムは通行量の多いエリアのヒートマップを作成し、行列の長さを監視します。
を作成し、行列の長さを監視します。このデータは、マネージャーが店舗レイアウトや人員配置を最適化するのに役立ちます。以下をご覧ください。
小売業におけるAIがショッピング体験を変える
体験をご覧ください。
関連概念デプロイメント対サービング対MLOps
モデル展開」をエコシステムにおける関連用語と区別することは重要である:
-
モデルのデプロイメントとモデルのサービング:デプロイメントとは、モデルを本番環境に導入する包括的なプロセスを指します。モデルサービングとは、特定の
特定のメカニズムやソフトウェア(例えば
NVIDIA Triton Inference Serverや
TorchServeなど)がAPIリクエストをリッスンし、モデルを実行して予測を生成することである。
予測を生成する。サービングはデプロイメントの一要素である。
-
モデルのデプロイメントとMLOpsの比較
MLOps:デプロイは、より広範なMLOpsフレームワークの中の1つのフェーズである。MLOps(機械学習オペレーション)は、データ収集、トレーニング、評価、デプロイメント、継続的な学習など、ライフサイクル全体を包含する。
データ収集、トレーニング、評価、デプロイメント、および継続的なモデル監視を含むライフサイクル全体を含む。
データドリフトなどの問題をdetect するための継続的な
データ・ドリフト。
配置のためにモデルをエクスポートする
デプロイメントの一般的な最初のステップは、学習済みモデルを互換性の高いフォーマットにエクスポートすることです。以下の例
を使用してYOLO11 モデルをONNX 形式にエクスポートする方法を示します。 ultralytics パッケージで、さまざまなプラットフォーム
様々なプラットフォームへの展開が可能になる。
from ultralytics import YOLO
# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to ONNX format for broad compatibility
# This creates 'yolo11n.onnx' which can be used in deployment environments
model.export(format="onnx")