モデル・デプロイメントとは

執筆者

Rina Diane Caballar

Staff Writer

IBM Think

Cole Stryker

Staff Editor, AI Models

IBM Think

モデルのデプロイメントとは

モデルのデプロイメントでは、機械学習(ML)モデルを本番環境に配置します。モデルを開発から本番環境に移行すると、エンドユーザー、ソフトウェア開発者、その他のソフトウェア・アプリケーションや人工知能 (AI)システムがモデルを利用できるようになります。

機械学習モデルのデプロイはAIライフサイクルの重要なフェーズです。データサイエンティスト、AI 開発者、AI 研究者は通常、データの収集と準備、モデルの開発、モデルのトレーニング、モデルの評価など、データサイエンスとプロジェクトの最初のいくつかの段階を担当します。モデルのデプロイメントはその後の、研究を現実の世界に持ち込むステップです。AIモデルは、デプロイされると、新しいデータに対する推論やリアルタイムの性能だけでなく、設計された問題をどれだけうまく解決できるかという点でも、本当の意味で試練を受けることになります。

Gartner社の調査によると、生成AIは組織で最も頻繁にデプロイされるAIソリューションですが、AIプロジェクトの半分(約48%)しか実稼働に至っていません1機械学習モデルは、デプロイして初めてその真の価値が発揮されます。ユーザーはモデルを操作してそのインサイトを活用することができ、一方、企業はモデルの分析と予測を意思決定に活用して、オートメーションを通じて効率性を高めることができます。

The DX Leaders

AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。

ご登録いただきありがとうございます。

ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。

モデルのデプロイメント手法

企業は、新しいモデルで想定するアプリケーションやユースケースに応じて、さまざまなデプロイメントのアプローチを選択できます。一般的なモデルのデプロイメント手法は以下の通りです。

  • リアルタイム
  • バッチ
  • ストリーミング
  • Edge

リアルタイム

リアルタイム・デプロイメントでは、事前にトレーニングされたモデルを、データの入出力を即座に処理できる実稼働環境に統合します。この方法では、オンラインのMLモデルを継続的に更新し、新しいデータが流入するにつれて迅速に予測を生成することができます。

即時予測はユーザー・エクスペリエンスとエンゲージメントの向上につながる場合があります。ただし、リアルタイム・デプロイメントには、応答時間が短くキャッシュ機能を備えた、同期的な低遅延リクエストに対応できる高性能コンピューティング用インフラストラクチャが必要です。

提案を迅速に提供する推奨エンジンや、顧客にリアルタイムでサポートを提供するチャットボットなどの AIアプリケーションで、リアルタイム・デプロイメントを実装できます。

バッチ

バッチ・デプロイメントには、データインプットのオフライン処理が含まれます。データセットはバッチごとにグループ化され、定期的に機械学習アルゴリズムに適用されます。そのため、バッチ・デプロイメントでは、リアルタイム・デプロイメントほど堅牢なインフラストラクチャは必要ありません。

この方法は、金融取引、医療記録、法的文書など、非同期で処理できる大量のデータに適しています。バッチ・デプロイメントのユースケースには、ドキュメント分析、予測、製品説明の生成、画像分類感情分析などがあります。

ストリーミング

ストリーミングによるデプロイメントでは、データの定期的な流れを機械学習システムに提供し、継続的な計算とほぼリアルタイムに近い予測を行います。通常、リアルタイム・デプロイメントと同様のインフラストラクチャーが必要です。

この方法は、不正アクセス検知、センサー・データのフローに依存する発電所の監視、交通管理などIoT(モノのインターネット)アプリケーションに使用できます。

エッジ

エッジ・デプロイメントとは、スマートフォンやウェアラブルデバイスなどのエッジ・デバイスにAIモデルを導入することを指します。この方法は、ヘルスモニタリング、パーソナライズされたモバイルエクスペリエンス、予知保全、自律走行車の予測ルーティングなどのエッジAI アプリケーションに使用できます。

AI Academy

AIの専門家になる

ビジネスの成長を促進するAIへの投資を優先できるように知識を習得します。今すぐ無料のAI Academyを試して、貴社のAIの未来をリードしましょう。

モデルのデプロイメントとMLOps

機械学習オペレーション(MLOps)は、運用環境内で機械学習モデルをデプロイ、監視、管理、改善するための、いわば組立ラインを作れるように設計された手法です。MLOpsは、従来のアプリケーションの開発、テスト、デプロイメントの合理化に重点を置いたDevOpsの原則に基づくもので、この原則を機械学習のライフサイクルに応用します。

モデルのデプロイメントは、MLOpsパイプラインのコンポーネントの1つにすぎません。ただし、モデルのデプロイメントプロセスのステップの一部は、MLOpsのステップと重複しています。

モデルのデプロイメントの仕組み

モデルのデプロイメントは、組織のITシステムや、既に導入されているDevOpsまたはMLOpsの手順によって異なります。ただし、このプロセスには通常、次の一連の手順が含まれます。

  1. 計画
  2. セットアップ
  3. パッケージ化とデプロイメント
  4. テスト
  5. モニタリング
  6. 継続的インテグレーション/継続的デプロイメント(CI/CD)

計画

デプロイメントを開始する前に、企業はそのプロセスの準備をする必要があります。計画フェーズでは、以下のようにして技術的な準備を整えます。

  • MLモデルを本番環境に対応できる状態にします。
  • モデルのバージョンを保管、追跡、管理するためのモデル・レジストリーを作成します。
  • デプロイメントの方法を選択します。
  • オンプレミス、クラウド・コンピューティングサービス経由、エッジデバイス上など、展開環境のタイプを選択します。
  • CPUGPU 、メモリ、ストレージなどのリソースの可用性と十分性を評価します。

また、この段階でデプロイメントのタイムラインを作成し、関係者の役割と責任を定義し、モデル展開プロセスの明確なガイドラインと標準化されたワークフローを作成します。

セットアップ

計画と同様、セットアップは複数のステップからなるフェーズです。この段階では通常、次の作業を行います。

  • フレームワークやライブラリーなどの必要な依存関係をインストールします。
  • 本番環境の設定を、モデルの性能を最適化するように構成します。
  • データとモデルを保護するために、アクセス制御、 認証暗号化などのセキュリティ対策を確立します。
  • 現在のバックアップおよび災害復旧戦略を、MLモデルとそれに付随するデータおよびインフラストラクチャを組み込むように変更します。

すべてのセットアップ手順と構成設定を文書化することは、将来の問題のトラブルシューティングと解決に不可欠です。

パッケージ化とデプロイメント

モデルとその依存関係は、選択されたデプロイメント方法と環境に関係なく一貫性を維持するために、コンテナにパッケージ化されます (コンテナ化と呼ばれる手法)。その後、パッケージ化されたモデルが本番環境にロードされます。

テスト

デプロイしたモデルが意図したとおりに機能し、エッジケースや誤ったインスタンスを処理できることを検証するには、徹底的なテストが欠かせません。テストでは、データセットを使用して、期待されるアウトプットとモデルの予測を照合し、モデルの性能が主要な評価メトリクスおよびベンチマークと一致していることを確認します。

統合テストは、テスト・スイートのもう1つの必要なコンポーネントです。これらのテストでは、モデルが運用環境とシームレスにマージされ、他のシステムとスムーズに連携することが確認されます。さらに、モデルが高いワークロードをどのように処理するかを観察するためにストレス・テストも実施されました。

セットアップフェーズと同様に、どのようなテストが行われ、その結果を文書化することが重要です。これは、モデルをユーザーに提供またはリリースする前に、実行可能な機能強化を正確に特定するのに役立ちます。

監視

モデルのパフォーマンス、特にモデル・ドリフトを追跡することは、モデル監視の重要なタスクです。継続的なモニタリングで得られたインサイトは、反復的なモデルの再トレーニングで活用されます。これにより、改善されたアルゴリズムや、より新しい、関連性の高いサンプルを含む新しいトレーニング・データによってモデルが更新され、性能が向上します。

エラー率、遅延、リソース使用率、スループットなどの重要なメトリクスも、監視ツールを使用してログに記録する必要があります。モデルの監視は導入直後に行われますが、通常は長期的にはMLOpsの範囲下に置かれます。

継続的インテグレーション/継続的デプロイメント(CI/CD)

継続的統合継続的デプロイメント(CI/CD と呼ばれる)を組み合わせた手法で、ML モデルのデプロイメントとテストを自動化および合理化できます。CI/CDパイプラインを実装すると、モデルの更新と機能強化を簡単かつ迅速に適用できるようになり、より効率的なデプロイメントと配信サイクルの加速が実現します。

モデル展開プラットフォームとツール

企業によるデプロイメントのワークフローを迅速化するための豊富なプラットフォームとツールを利用できます。これらのテクノロジーを導入する前に、組織は既存のテクノロジー・スタックやITエコシステムとの互換性を評価する必要があります。

バージョン管理

バージョン管理システムとモデル・レジストリーは、モデルのバージョンとそれに関連するデータソースおよびメタデータを記録します。選択肢には、データ・バージョン管理(DVC)、Git、GitLab、ウェイトとバイアスが含まれます。

パッケージ

Dockerは、コンテナ化のために広く使用されているオープンソースプラットフォームです。Amazon Web Services (AWS)、Google Cloud、 IBM Cloud 、Microsoft Azureなどのクラウド・サービス・プロバイダーと互換性があります。代替手段としては、Buildahコマンドライン・インターフェイス(CLI)、Podman、Rancher Desktopなどがあります。

オーケストレーション

Kubernetesは、コンテナ化されたアプリケーションのデプロイメントをスケジュールおよび自動化するための、よく知られたオープンソースのコンテナ オーケストレーションプラットフォームです。Kubernetes と Docker は通常、連携して使用されます。同様のオーケストレーションツールには、Red Hat OpenShift、Amazon Elastic コンテナ Service (ECS)、Azure Kubernetes Service (AKS) やIBM Cloud Kubernetes Serviceなどのマネージド Kubernetes ソリューションがあります。

導入

モデルをデプロイするための複数のプラットフォームが存在します。たとえば、BentoML は、ML モデルをアプリケーション・プログラミング・インターフェース (API)エンドポイントとして、さらには大規模言語モデル (LLM) をAPI エンドポイントとして提供するための Python ベースのプラットフォームです。KubeflowはKubernetes上でのモデルのデプロイメントを容易にし、TensorFlow ServingはTensorFlowモデル用のオープンソース・サービング・システムです。

一方、他のプラットフォームは、モデルをデプロイメントするだけでなく、機械学習ワークフローを管理しています。これらには、Amazon SageMaker、Azure 機械学習、Google Vertex AI Platform、 IBM Watson Studio 、MLflow が含まれます。

CI/CD

CI/CDツールはモデルのデプロイメントとテストを自動化します。一般的なツールには、継続的機械学習(CML)、GitHub Actions、GitLab CI/CD、Jenkinsなどがあります。

モデルのデプロイメントにおける課題

ディープラーニングモデルのデプロイメントには流動的な要素が多く、複雑な作業になる可能性があります。モデルのデプロイメントに関連するいくつかの課題を次に示します。

  • コスト
  • 複雑さ
  • 統合
  • 拡張性

コスト

モデルのデプロイメントには費用がかかる場合があり、インフラストラクチャーと保守の費用が予算の大部分を占めています。企業は、効率的なデプロイメントのために堅牢なインフラストラクチャーと参考情報に投資する準備を整える必要があります。

複雑さ

モデルのデプロイメントを自動化すると複雑さは軽減されますが、チームはそれでも機械学習の基礎を理解し、デプロイメント用の新しいテクノロジーに精通している必要があります。このギャップを埋めるには、トレーニングとスキルアップが必要です。

統合

AIモデルを現在のITシステムに統合することは困難な場合があります。アセスメントを実施することで、企業はモデルや他のシステム間のシームレスな接続と通信にAPI、ミドルウェア、アップグレードが必要かどうかを判断することができます。

拡張性

性能を低下させることなく、需要に応じてモデルをスケーリングすることは困難な場合があります。オートスケーリング負荷分散メカニズムを実装すると、複数のリクエストとさまざまなワークロードをサポートできるようになります。

関連ソリューション
IBM watsonx.ai

AI開発者向けの次世代エンタープライズ・スタジオであるIBM watsonx.aiを使用して、生成AI、基盤モデル、機械学習機能をトレーニング、検証、チューニング、導入しましょう。わずかなデータとわずかな時間でAIアプリケーションを構築できます。

watsonx.aiをご覧ください。
人工知能ソリューション

業界をリードするIBMのAI専門知識とソリューション製品群を使用すれば、ビジネスにAIを活用できます。

AIソリューションはこちら
AIコンサルティングとサービス

AIの導入で重要なワークフローと業務を再構築し、エクスペリエンス、リアルタイムの意思決定とビジネス価値を最大化します。

AIサービスはこちら
次のステップ

AI開発ライフサイクル全体にわたる機能にワンストップでアクセスできます。使いやすいインターフェース、ワークフロー、業界標準のAPIやSDKを利用して、強力なAIソリューションを構築できます。

watsonx.aiの詳細はこちら デモを予約