JUNE 27-30

JOIN NOW

MLOps

用語集のトップページへ

MLOps とは

MLOps は、Machine Learning Operations(機械学習オペレーション)の略語です。機械学習エンジニアリングの中核となる MLOps は、機械学習モデルを本番環境に移行し、維持・監視のプロセスを効率化することに重点を置いています。MLOps は、多くの場合、データサイエンティスト、DevOps エンジニア、IT 部門で構成されるチーム間のコラボレーションを担います。

MLOps サイクル

MLOps の活用法

MLOps は、機械学習や AI ソリューションの構築と品質向上に有効なアプローチです。MLOps のアプローチを取り入れることで、機械学習モデルの適切な監視、検証、ガバナンスを備えた CI/CD(継続的インテグレーションと継続的デプロイメント)が可能になり、データサイエンティストと機械学習のエンジニアのコラボレーションが促進され、モデルの開発と実運用化が加速します。

MLOps の必要性

機械学習のライフサイクルは、データ取り込み、データ準備、モデルのトレーニング、チューニング、デプロイメント、監視、説明可能性といった多くの複雑な要素で構成されており、機械学習の製品化は容易ではありません。また、データエンジニア、データサイエンティスト、機械学習エンジニアからなるチーム間の連携や引き継ぎも必要です。これら全てのプロセスを同期、連動させるためには、厳格な運用が必須となります。MLOps の概念は、機械学習のライフサイクルにおける実験フェーズ、反復、継続的な改善を包括しています。

MLOps のメリット

MLOps の主なメリットは、機械学習のライフサイクルにおける効率性、拡張性、リスク軽減です。

効率性:データチームは、MLOps によりモデル開発の迅速化、高品質な機械学習モデルの提供、迅速なデプロイメントと製品化が可能になります。
拡張性:MLOps は、広範なスケーラビリティと管理を可能にし、継続的インテグレーション、継続的デリバリー、継続的デプロイメントを目的として、数千のモデルを監督、制御、管理、監視できます。具体的には、MLOps が機械学習パイプラインの再現性を確保し、データチーム間の緊密なコラボレーションを可能にするため、DevOps や IT 部門との衝突を減らし、リリースサイクルを高速化します。
リスク軽減:機械学習モデルは、規制の精査やドリフトチェックが必要になるケースが多々あります。MLOps により、こうした要求に対するより高い透明性と迅速な対応が可能になり、組織や業界のポリシーへの準拠が確実になります。

MLOps の構成要素

MLOps コンポーネント

機械学習プロジェクトにおける MLOps は、プロジェクトに応じて範囲を絞ることも、拡大することも可能です。例えば、データパイプラインからモデル作成までの全てを網羅する場合もあれば、他のプロジェクトでは、モデルのデプロイメントプロセスのみの実装が必要な場合もあります。多くの企業では、次の領域に MLOps の原則を導入しています。
  • 探索的データ解析(EDA)
  • データ準備と特徴量エンジニアリング
  • モデルのトレーニングとチューニング
  • モデルのレビューとガバナンス
  • モデル推論とサービング
  • モデル監視
  • モデル再トレーニングの自動化

MLOps のベストプラクティス

MLOps のベストプラクティスは、MLOps の原則が適用される段階によって区別できます。
  • 探索的データ解析(EDA):再現性、編集性、共有性のあるデータセット、表、可視化方法を作成することで、機械学習のライフサイクルにおいてデータを繰り返し探索、共有、準備できます。
  • データ準備と特徴量エンジニアリング:データの変換、集約、重複排除を繰り返すことで、洗練された特徴量を作成できます。特徴量ストアを活用して、データチーム間で特徴量を可視化し、共有することが重要です。
  • モデルのトレーニングとチューニング:scikit-learn や Hyperopt などの一般的なオープンソースライブラリを使用して、モデルのトレーニングと性能の改善ができます。より簡潔な方法として、AutoML などの自動機械学習ツールを使ってテストを実行し、レビューやデプロイが可能なコードを作成します。
  • モデルのレビューとガバナンス:モデルの系統、モデルのバージョンを追跡し、ライフサイクルを通じてモデルの成果物および移行を管理します。MLflow のようなオープンソースの MLOps プラットフォームを使用して、機械学習モデルの発見、共有、コラボレーションを行うことも可能です。
  • モデル推論とサービング:モデルの更新頻度、推論要求時間などの本番環境に特化した管理を、テストと QA で行います。DevOps の原則を取り入れたリポジトリやオーケストレータなどの CI/CD ツールを利用して、本番前のパイプラインを自動化します。
  • モデルのデプロイと監視:パーミッションの設定やクラスタの作成を自動化し、登録されたモデルを本番稼動に備えます。REST API モデルのエンドポイントを有効にしてください。
  • モデル再トレーニングの自動化:トレーニングデータと推論データの違いによるモデルドリフトが発生した場合、アラートと自動化により是正措置を講じます。

MLOps と DevOps の違い

MLOps は、機械学習プロジェクトに特化したエンジニアリングプラクティスのセットです。ソフトウェアエンジニアリングで広く採用されている DevOps の原則が基になっています。一方、DevOps は、アプリケーションの出荷に対して迅速かつ継続的な反復アプローチを提供します。MLOps では、DevOps の原則をベースに機械学習モデルを本番環境に導入します。どちらもソフトウェアの品質改善、パッチやリリースの迅速化、顧客満足度の向上という成果をもたらします。

MLOps プラットフォーム

MLOps プラットフォームは、データサイエンティストやソフトウェアエンジニアに反復的なデータ探索、実験追跡、特徴量エンジニアリング、モデル管理のためのリアルタイムな共同編集機能、制御されたモデルの移行、デプロイメント、監視を促進するコラボレーション環境を提供します。MLOps は、機械学習のライフサイクルにおける運用と同期の両側面を自動化します。

MLflow

MLflow のフルマネージド環境であり、世界をリードするオープンな MLOps プラットフォームの Databricks をお試しください。https://databricks.com/jp/try/databricks-free-ml

関連リソース


用語集のトップページへ