CI/CD(ML)

CI/CD for Machine Learning

CI/CD(ML)とは

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

表:CI/CD(ML)の要点まとめ
ひとことで言うと機械学習システムの検証と配備を自動化する仕組み。
通常のCI/CDとの違いコードだけでなく、データとモデルもテスト・管理の対象になる。
注意点モデルの精度が基準を下回ったら、自動でデプロイを止める仕組みを入れる。

ML特有のCI/CD要件

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

図:MLのCI/CDパイプライン
1コード変更リポジトリへ反映
▶
2データを検証件数・分布をチェック
▶
3学習と評価自動で再学習
▶
4基準を満たすか満たさなければ停止
▶
5自動デプロイ本番へ安全に反映

パイプラインの構成

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