Amazon Web Services ブログ

BMW Group における機械学習の産業化を加速させる機械学習オペレーション(MLOps)ソリューション

このブログは、Accelerating industrialization of Machine Learning at BMW Group using the Machine Learning Operations (MLOps) solution を翻訳したのものです。

BMW Group Amazon Web Services(AWS)は、2020 年に戦略的提携を発表しました。この提携の目的は、意思決定の中心にデータと分析を置くことで、BMW Group のイノベーションのペースをさらに加速させることです。

BMW Group の Cloud Data Hub(CDH) は、AWS 上で企業全体のデータとデータソリューションを管理しています。CDH は、データアナリティクスと機械学習(ML)を通じてビジネス価値を推進するのに役立つデータへのアクセスを BMW のアナリストとデータサイエンティストに提供します。BMW の、CDH 内のデータの可用性を活用し、機械学習の産業化を加速させるという、より大きな戦略の一環として、BMW Group は AWS Professional Services と緊密に協力して、機械学習運用(MLOps)ソリューションを開発しました。

BMW Group の MLOps ソリューションには、(1) リファレンスアーキテクチャ、(2) Amazon SageMakerアナリティクス サービス を使用した再利用可能な Infrastructure as Code (IaC) モジュール、(3) AWS Step Functions を使用した ML ワークフロー、(4) データ取り込みから推論までの ML ライフサイクルをカバーするデプロイ可能な MLOps テンプレートが含まれます。

MLOps ソリューションは、BMW Group の AI/ML ユースケースの産業化を加速するのに役立ち、ソリューションリリース後最初の 2 年間で大きな価値を生み出しました。BMW の MLOps ソリューションチームの長期目標は、BMW Group の 80 % 以上の AI/ML ユースケースの産業化を加速させることで、BMW Group における AI/ML の継続的なイノベーションと改善を可能にすることです。

2022 年から、MLOps ソリューションは BMW Group の AI/ML ユースケースに展開されています。これは広範な採用と認知を見ており、BMW の内部マスターソリューションとして MLOps が認識されています。

このブログでは、BMW Group の MLOps ソリューション、そのリファレンスアーキテクチャ、高レベルの技術的詳細、および MLOps ソリューションを使用して ML モデルを開発および実運用化する AI/ML ユースケースのメリットについて説明します。

MLOps ソリューションの概要

BMW Group の AI/ML ユースケースの要件を満たすために、MLOps ソリューションが開発されました。これには、CDH などの BMW データレイクとの統合、ML ワークフローのオーケストレーション、データとモデルのラインエージ、コンプライアンス、ネットワーキング、データ保護などのガバナンス要件が含まれます。

AWS Professional Servicesと BMW Group の MLOps ソリューションチームは、様々な AI/ML ユースケースと緊密に連携し、成功するパターンとプラクティスを発見しました。これにより、AWS と BMW Group の MLOps ソリューションチームは、テクノロジースタックと、AI / ML ユースケースを実運用化する際の複雑さの包括的な理解を得ることができました。

BMW Group の AI/ML ユースケースの要件を満たすために、チームはワーキング・バックワーズを活用し作業を進め、、以下の図 1 に記載されている MLOps ソリューションアーキテクチャを開発しました。

Figure 1 MLOps Solution ArchitectureFigure 1: MLOps Solution Architecture

以下のセクションでは、MLOps ソリューションアーキテクチャに表されている MLOps ソリューションの各コンポーネントの詳細を説明します。

1. MLOps テンプレート

MLOps テンプレートは、サーバーレスファーストの戦略で設計された AWS マネージドサービスを使用して構築された IaC モジュールと ML ワークフローの組み合わせです。これにより、BMW Group は AWS 上の ML のスケーラビリティ、メンテナンスコストの削減、アジリティを利用できます。このテンプレートは、AI/ML ユースケースの AWS アカウントにデプロイされ、エンドツーエンドのデプロイ可能な ML とインフラストラクチャのパイプラインを作成します。これは、BMW Group における AI/ML ユースケース構築の始点として設計されています。

MLOps テンプレートは、データのインポート、探索、トレーニングから推論のための ML モデルのデプロイまで、BMW Group のデータサイエンティストと ML エンジニアのための機能を提供します。 バージョン管理、インフラストラクチャ、ML モニタリング機能を提供することで、BMW Group の AI/ML ユースケースの運用をサポートします。

MLOps ソリューションは、独立したビルディングブロックとしてのユースケースのための機能およびインフラ機能を提供するように設計されています。これらの機能は、AI/ML ユースケース全体で使用することも、選択したブロックのみを使用することもできます。これにより、BMW Group がビジネス目標を達成できるよう支援します。

以下は、BMW Group の MLOps ソリューションが提供する MLOps テンプレートのビルディングブロックの概要です:

  1. MLOps モジュールは、BMW Group のセキュリティ、コンプライアンス、ネットワーキングの要件を考慮して設計された仕様で、AWS リソースを作成するための再利用可能な IaC 定義です。
  2. データインポートおよび準備モジュールは、BMW Group が CDH などの BMW Group データレイクからデータをインポートし、ML トレーニングと推論の準備として前処理ジョブを確立する機会をユーザーに提供します。
  3. データおよびモデル探索モジュールは、BMW Group の AI/ML ユースケースのユーザーにデータの探索的分析を実行する機会を提供します。
  4. モデルトレーニングモジュールは、Amazon SageMaker トレーニングジョブを介して ML モデルをトレーニングするか、コンテナを使用して独自の ML モデルを組み込む柔軟性をユーザーに提供します。
  5. モデル評価モジュールは、モデル品質メトリックなどのモデルパフォーマンスを評価する機能と、Amazon SageMaker モデルレジストリにモデルを登録する機能を提供します。
  6. パイプライン定義モジュールは、ML モデルをトレーニングまたは推論するために必要なステップを実行するパイプラインオーケストレーションをもたらします。
  7. モデルデプロイメントモジュールは、バッチまたはリアルタイムの推論のために ML モデルをデプロイする機能を提供します。
  8. インフラストラクチャおよびコストモニタリングモジュールは、ソリューションのモニタリングと経費の追跡を提供します。
  9. データおよびモデル品質モニタリングモジュールは、ユーザーに ML モデルの可観測性と追跡機能を提供します。

Figure 2 MLOps Template building blocksFigure 2: MLOps Template building blocks

2. ノートブックスタック

BMW Group の MLOps ソリューションは、データサイエンティストと ML エンジニアに対し、AWS サービスを使用した学習曲線を向上させるのに役立つサンプルノートブックを提供しています。これらのサンプルノートブックには以下が含まれます:

  • データ探索、特徴量エンジニアリングなどをデモするための動作例
  • Amazon SageMaker の処理、チューニング、トレーニングジョブの利用方法と、ML モデルの様々なバージョンと承認ステータスを登録する Amazon SageMaker モデルレジストリの使用方法を紹介する実践的な例
  • データ品質、モデル品質、モデルバイアス、モデルの説明可能性の 4 つのタイプの ML モデルモニターを、Amazon SageMaker モデルモニターと Clarify サービスを利用して作成する方法
  • カスタムアルゴリズムを Docker コンテナにパッケージ化し、Amazon SageMaker でトレーニング、チューニング、推論のために利用する Bring Your Own Container 機能の使用方法

3. トレーニングパイプライン

MLOps ソリューションのトレーニングパイプラインは、AWS Step Functions Data Science Python SDK を使用して開発されており、データの読み込み、特徴量エンジニアリング、モデルトレーニング、評価、モデルモニタリングなど、ML モデルをトレーニングするために必要なステップで構成されています。

BMW Group のユースケースチームは、特定のプロジェクトに必要な MLOps ソリューションのトレーニングパイプラインを変更または拡張する柔軟性があります。これまでに一般的だったカスタマイズには、パラレルモデルトレーニング、同時実験、本番前の承認ワークフロー、Amazon SNS との統合による監視とアラート通知が含まれます。

MLOps ソリューションのトレーニングパイプラインステップの詳細は、下記の図 3 に示されています:

  1. data-load-step: Amazon SageMaker Processing Job を利用して、パイプライン実行に未処理データを取り込みます。
  2. feature-engineering-step: Amazon SageMaker Processing Job とカスタムロジックを活用して、Amazon S3 からデータロードステップを介してアクセスした生データに特徴量エンジニアリングを実行します。
  3. training-step: Amazon SageMaker トレーニングジョブを利用して、機械学習モデルを訓練します。
  4. model-evaluation-step: ユーザーが機械学習モデルの品質指標を測定できるようにする、トレーニングパイプラインのステージです。
  5. register-model-step: モデル品質指標を満たした訓練済みモデルを、Amazon SageMaker モデルレジストリに保存します。
  6. model-monitoring-step: MLOps ソリューションのトレーニングパイプラインには、推論を生成するデプロイ済みモデルの予測を説明する機能を BMW Group のユーザーに提供する、モデル可説明性のモニタリングが装備されています。
  7. store-metadata-step: 各実行に関するメタデータを Amazon DynamoDB に保存するためのカスタムパイプラインステージです。

Figure 3 Training PipelineFigure 3: Training Pipeline

4. 継続的インテグレーションと継続的デリバリー(CI/CD)

MLOps ソリューションは、継続的インテグレーションとデプロイメントのワークフローを容易にするために、AWS CodePipeline を採用しています。AWS CodePipeline のソースステップにより、BMW Group のユーザーは、AWS CodeCommit や GitHub Enterprise など、希望のソースコントロールを選択できます。

BMW Group の AI/ML ユースケース チームは、AWS CodePipeline を使用して ML トレーニング パイプラインをデプロイし、BMW Group のデータレイク(CDH など)からデータを読み取り、モデルトレーニング、評価、ML モデル登録までの ML トレーニング パイプラインをオーケストレーションするために必要な AWS インフラストラクチャをブートストラップできます。

モデルトレーニングパイプラインが Amazon SageMaker モデルレジストリに ML モデルを登録することで完了すると、MLOps ソリューションは Amazon EventBridge の通知を利用して、推論モジュールをデプロイするために AWS CodePipeline をトリガーします。

5. 推論:

BMW Group の MLOps ソリューションが対応する AI/ML ユースケースの約 80 %は、生データの変換と推論の生成に高性能かつ高スループットな方法を必要としています。 このユースケースのニーズを満たすために、MLOps ソリューションはバッチ推論パイプラインを提供します。これには、BMW Group のユーザーが生データをロードおよび前処理し、予測を生成し、予測結果の品質をモニタリングし、説明可能性を提供するために必要なステップが含まれています。

BMW Group の AI/ML ユースケースチームは、バッチ推論パイプラインとともに、低遅延の予測と外部のユースケースアプリケーションとの API インテグレーションが必要な場合のリアルタイム推論の設定を支援するために、必要なモジュールが提供されます。

MLOps ソリューションのバッチ推論パイプラインのステップの詳細は、以下の図 4 に示されています:

  1. data-load-step: 未処理データをパイプライン実行に取り込むために、Amazon SageMaker プロセッシングジョブを利用します。
  2. feature-engineering-step: Amazon S3 からアクセスした生データ上で特徴量エンジニアリングを実行するために、Amazon SageMaker プロセッシングジョブとカスタムロジックを使用します。
  3. batch-inference-step: 予測を生成するために、SageMaker バッチ変換を利用します。
  4. model-monitoring-step: MLOps ソリューションの推論パイプラインには、デプロイされたモデルの推論結果を説明する機能をユーザーに提供するモデル可説明性モニタリングが搭載されています。
  5. post-processing-step: バッチ推論ステップからの予測結果に適用できるビジネスロジックを持ち込むための機能をユーザーに提供する追加ステップで推論パイプラインを拡張します。

Figure 4 Inference PipelineFigure 4: Inference Pipeline

6. ユースケース アプリケーション スタック

MLOps ソリューションは、MLOps ソリューションの一部として提供されるモジュールのセットに加えて、BMW Group の独自のアプリケーションスタックを持ち込む BMW Group の AI/ML ユースケースを提供します。これにより、BMW Group の AI/ML ユースケースは、ビジネスと技術的なニーズに応じて必要なカスタマイズを行うことができます。

まとめ

MLOps ソリューションは、BMW Group の AI/ML ユースケースが本番グレードのモデルを構築およびデプロイできるよう支援し、全体的な時間を市場投入まで約 75 %短縮しました。MLOps ソリューションは、BMW Group に以下のような幅広いメリットも提供します。

  • AWS 最適化のサーバレスファーストなソリューション
  • ネットワーキング、データ処理、コンプライアンス、セキュリティなどの BMW 固有の要件を統合する支援
  • BMW Group が反復的に改善し、新しいユースケースに展開できる最先端のプラクティスを確立
  • イノベーションを推進するために、MLOps ソリューションに継続的に新しい AWS サービスと機能が追加される

BMW のクラウドデータハブ(CDH)の詳細を知りたい場合は、このブログ投稿や、AWS for Automotive のページ、またはこちらにお問い合わせください。

著者について

マーク・ノイマン

マーク・ノイマンは、BMWグループの中央AIプラットフォームの責任者です。彼は、AI技術を使ってビジネス価値を創出するための戦略を開発および実行する責任を担っています。彼の主な目標は、AIの利用を持続可能かつスケーラブルにすることで、組織全体で一貫して適用でき、長期的な成長とイノベーションを促進することです。ノイマンのリーダーシップのもと、BMWグループは自動車業界とそれ以外でも、AIによる革新と価値創出のリーダーとしての地位を確立することを目指しています。

オーブリー・ウースティゼン

オーブリー・ウースティゼンは、AWSプロフェッショナルサービスのシニアDevOpsアーキテクトであり、さまざまな業界でDevOpsと機械学習(MLOps)を組み合わせて顧客の問題を解決しています。彼の情熱は、自動運転(AV/ADAS)と分散システムにあります。

ジョナサン=エドウィン・アサモア

ジョナサン=エドウィン・アサモアは、BMWグループのMLOpsリーダーであり、AIとMLアプリケーションのための中央ブループリントの作成と提供を担当しています。データサイエンティストとしての専門知識を活かし、データ駆動型のアプリケーションを可能にし、AIとML技術が直面する課題を深く理解しています。ジョナサンは、BMWグループの各ビジネス部門に合わせたMLOpsソリューションを提供し、シームレスな統合と最大限の運用効率を確保します。

マルクス・フランク

マルクス・フランクは、人工知能および機械学習アプリケーションに特化したITおよび研究のプロフェッショナルです。BMWグループのITサービスリーダーとして、製造業における自動化された機械学習(AutoML)の利用を探求しています。また、BMWグループの予測AIアプリケーションのITリーダーも務めており、コンピュータビジョンと機械学習に特化したコンピュータサイエンスの修士号を持つ背景を活かして、影響力のあるAIソリューションの開発をリードしています。

モハン・ゴウダ・プルショタマ

モハン・ゴウダ・プルショタマは、スイスのAWSプロフェッショナルサービスのAI/MLチームを率いています。この役割で、彼はAWSのグローバルおよび戦略的顧客に、革新的な生成AIソリューションと機械学習プラットフォームの開発を支援しています。AWSに参加する前は、彼はグローバルな経営コンサルティング会社で戦略と分析に焦点を当てて働いていました。彼の情熱は、汎用人工知能と接続車両にあります。