CI/CD(ML)

CI/CD for Machine Learning

CI/CD(ML)とは

CI/CD(ML)とは、機械学習システムにおける継続的インテグレーション(CI)と継続的デリバリー/デプロイメント(CD)のプラクティスです。従来のソフトウェアCI/CDにデータとモデルの検証を加え、コードの変更だけでなくデータの変更やモデルの再学習もパイプラインで自動化します。

ML特有のCI/CD要件

通常のソフトウェアCI/CDではコードのビルドとテストが中心ですが、MLのCI/CDではデータの品質検証、特徴量の検証、モデルの学習、モデルの性能評価、モデルの公平性チェック、デプロイ後のモニタリングなど、データとモデルに関わる追加のステップが必要です。

パイプラインの構成

ML CI/CDパイプラインは一般的に、データの取得・検証、特徴量エンジニアリング、モデルの学習・評価、モデルの検証(精度、公平性、ロバスト性)、モデルのレジストリ登録、ステージング環境へのデプロイ、統合テスト、本番環境へのデプロイという流れで構成されます。

ツールと実装

GitHub Actions、GitLab CI/CD、Jenkins、CircleCIなどの汎用CI/CDツールにML固有のステップを組み込む方法と、Kubeflow Pipelines、Vertex AI Pipelines、SageMaker Pipelinesなどの専用ツールを利用する方法があります。DVC(Data Version Control)やCML(Continuous Machine Learning)もML CI/CDの重要なツールです。