MLOps: CI/CD, CT, CMの役割について考える

はじめに

機械学習モデル単体でユーザにビジネス価値を与えることは難しく、機械学習システム(プロダクト)に組み込み、運用することで初めてビジネス価値が生まれるケースが多い。そのため機械学習システムのライフサイクル全体を継続的な自動化と監視によって効率化し、クイックなシステムリリースを行うことはビジネススピードの向上という観点からも重要である。そこで今回はMLOpsにおける継続的な自動化と監視の役割を担うCI/CD, CT, CMについてまとめる。

機械学習システムにおける機械学習モデルの占める領域
※引用元: MLOps: 機械学習における継続的デリバリーと自動化のパイプライン

MLOpsで実現したいこと

MLOpsの目的は、以下の3つのプロセスを最適化しクイックに回すことで機械学習システムを通じてユーザにビジネス価値を与えることである。その手段の一つとしてCI/CD+CT+CMがある。

  • モデルの実験と開発(データサイエンティスト)

  • 機械学習システムの開発とモデルのデプロイ(エンジニア)

  • 機械学習システムの運用(システム運用者)

機械学習システムのライフサイクル
※引用元: Machine Learning Operations (MLOps) - Neal Analytics

MLOpsを実現するために必要な要素

  1. データサイエンティス, エンジニア, システム運用者のコラボレーション

  2. 機械学習システムのライフサイクルの自動化

  3. 再現性を担保した機械学習パイプラインの構築

  4. 機械学習システムの運用、監視

CI/CD+CT+CMの役割

CI/CD+CT+CMの役割を以下の表にまとめた。MLOpsを実現するためにはDevOpsに加えて、MLOps特有の要素が必要になる。

CI/CD, CT, CMの役割

まとめ

今回はMLOpsにおけるCI/CD, CT, CMの役割についてまとめた。

参考

www.amazon.co.jp

www.redhat.com

cloud.google.com