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の重要なツールです。