IBMニュースレター
The DX Leaders
AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。
ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。
モデルのデプロイメントでは、機械学習(ML)モデルを本番環境に配置します。モデルを開発から本番環境に移行すると、エンドユーザー、ソフトウェア開発者、その他のソフトウェア・アプリケーションや人工知能 (AI)システムがモデルを利用できるようになります。
機械学習モデルのデプロイはAIライフサイクルの重要なフェーズです。データサイエンティスト、AI 開発者、AI 研究者は通常、データの収集と準備、モデルの開発、モデルのトレーニング、モデルの評価など、データサイエンスとプロジェクトの最初のいくつかの段階を担当します。モデルのデプロイメントはその後の、研究を現実の世界に持ち込むステップです。AIモデルは、デプロイされると、新しいデータに対する推論やリアルタイムの性能だけでなく、設計された問題をどれだけうまく解決できるかという点でも、本当の意味で試練を受けることになります。
IBMニュースレター
AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。
ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。
企業は、新しいモデルで想定するアプリケーションやユースケースに応じて、さまざまなデプロイメントのアプローチを選択できます。一般的なモデルのデプロイメント手法は以下の通りです。
リアルタイム・デプロイメントでは、事前にトレーニングされたモデルを、データの入出力を即座に処理できる実稼働環境に統合します。この方法では、オンラインのMLモデルを継続的に更新し、新しいデータが流入するにつれて迅速に予測を生成することができます。
即時予測はユーザー・エクスペリエンスとエンゲージメントの向上につながる場合があります。ただし、リアルタイム・デプロイメントには、応答時間が短くキャッシュ機能を備えた、同期的な低遅延リクエストに対応できる高性能コンピューティング用インフラストラクチャが必要です。
提案を迅速に提供する推奨エンジンや、顧客にリアルタイムでサポートを提供するチャットボットなどの AIアプリケーションで、リアルタイム・デプロイメントを実装できます。
バッチ・デプロイメントには、データインプットのオフライン処理が含まれます。データセットはバッチごとにグループ化され、定期的に機械学習アルゴリズムに適用されます。そのため、バッチ・デプロイメントでは、リアルタイム・デプロイメントほど堅牢なインフラストラクチャは必要ありません。
この方法は、金融取引、医療記録、法的文書など、非同期で処理できる大量のデータに適しています。バッチ・デプロイメントのユースケースには、ドキュメント分析、予測、製品説明の生成、画像分類、感情分析などがあります。
ストリーミングによるデプロイメントでは、データの定期的な流れを機械学習システムに提供し、継続的な計算とほぼリアルタイムに近い予測を行います。通常、リアルタイム・デプロイメントと同様のインフラストラクチャーが必要です。
この方法は、不正アクセス検知、センサー・データのフローに依存する発電所の監視、交通管理などIoT(モノのインターネット)アプリケーションに使用できます。
モデルのデプロイメントは、組織のITシステムや、既に導入されているDevOpsまたはMLOpsの手順によって異なります。ただし、このプロセスには通常、次の一連の手順が含まれます。
デプロイメントを開始する前に、企業はそのプロセスの準備をする必要があります。計画フェーズでは、以下のようにして技術的な準備を整えます。
また、この段階でデプロイメントのタイムラインを作成し、関係者の役割と責任を定義し、モデル展開プロセスの明確なガイドラインと標準化されたワークフローを作成します。
計画と同様、セットアップは複数のステップからなるフェーズです。この段階では通常、次の作業を行います。
すべてのセットアップ手順と構成設定を文書化することは、将来の問題のトラブルシューティングと解決に不可欠です。
モデルとその依存関係は、選択されたデプロイメント方法と環境に関係なく一貫性を維持するために、コンテナにパッケージ化されます (コンテナ化と呼ばれる手法)。その後、パッケージ化されたモデルが本番環境にロードされます。
デプロイしたモデルが意図したとおりに機能し、エッジケースや誤ったインスタンスを処理できることを検証するには、徹底的なテストが欠かせません。テストでは、データセットを使用して、期待されるアウトプットとモデルの予測を照合し、モデルの性能が主要な評価メトリクスおよびベンチマークと一致していることを確認します。
統合テストは、テスト・スイートのもう1つの必要なコンポーネントです。これらのテストでは、モデルが運用環境とシームレスにマージされ、他のシステムとスムーズに連携することが確認されます。さらに、モデルが高いワークロードをどのように処理するかを観察するためにストレス・テストも実施されました。
セットアップフェーズと同様に、どのようなテストが行われ、その結果を文書化することが重要です。これは、モデルをユーザーに提供またはリリースする前に、実行可能な機能強化を正確に特定するのに役立ちます。
モデルのパフォーマンス、特にモデル・ドリフトを追跡することは、モデル監視の重要なタスクです。継続的なモニタリングで得られたインサイトは、反復的なモデルの再トレーニングで活用されます。これにより、改善されたアルゴリズムや、より新しい、関連性の高いサンプルを含む新しいトレーニング・データによってモデルが更新され、性能が向上します。
エラー率、遅延、リソース使用率、スループットなどの重要なメトリクスも、監視ツールを使用してログに記録する必要があります。モデルの監視は導入直後に行われますが、通常は長期的にはMLOpsの範囲下に置かれます。
継続的統合と継続的デプロイメント(CI/CD と呼ばれる)を組み合わせた手法で、ML モデルのデプロイメントとテストを自動化および合理化できます。CI/CDパイプラインを実装すると、モデルの更新と機能強化を簡単かつ迅速に適用できるようになり、より効率的なデプロイメントと配信サイクルの加速が実現します。
企業によるデプロイメントのワークフローを迅速化するための豊富なプラットフォームとツールを利用できます。これらのテクノロジーを導入する前に、組織は既存のテクノロジー・スタックやITエコシステムとの互換性を評価する必要があります。
バージョン管理システムとモデル・レジストリーは、モデルのバージョンとそれに関連するデータソースおよびメタデータを記録します。選択肢には、データ・バージョン管理(DVC)、Git、GitLab、ウェイトとバイアスが含まれます。
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ツールはモデルのデプロイメントとテストを自動化します。一般的なツールには、継続的機械学習(CML)、GitHub Actions、GitLab CI/CD、Jenkinsなどがあります。
ディープラーニングモデルのデプロイメントには流動的な要素が多く、複雑な作業になる可能性があります。モデルのデプロイメントに関連するいくつかの課題を次に示します。
モデルのデプロイメントには費用がかかる場合があり、インフラストラクチャーと保守の費用が予算の大部分を占めています。企業は、効率的なデプロイメントのために堅牢なインフラストラクチャーと参考情報に投資する準備を整える必要があります。
モデルのデプロイメントを自動化すると複雑さは軽減されますが、チームはそれでも機械学習の基礎を理解し、デプロイメント用の新しいテクノロジーに精通している必要があります。このギャップを埋めるには、トレーニングとスキルアップが必要です。
AIモデルを現在のITシステムに統合することは困難な場合があります。アセスメントを実施することで、企業はモデルや他のシステム間のシームレスな接続と通信にAPI、ミドルウェア、アップグレードが必要かどうかを判断することができます。
AI開発者向けの次世代エンタープライズ・スタジオであるIBM watsonx.aiを使用して、生成AI、基盤モデル、機械学習機能をトレーニング、検証、チューニング、導入しましょう。わずかなデータとわずかな時間でAIアプリケーションを構築できます。
業界をリードするIBMのAI専門知識とソリューション製品群を使用すれば、ビジネスにAIを活用できます。
AIの導入で重要なワークフローと業務を再構築し、エクスペリエンス、リアルタイムの意思決定とビジネス価値を最大化します。