CI/CD(ML)とは
CI/CD(ML)とは、機械学習システムにおける継続的インテグレーション(CI)と継続的デリバリー/デプロイメント(CD)のプラクティスです。従来のソフトウェアCI/CDにデータとモデルの検証を加え、コードの変更だけでなくデータの変更やモデルの再学習もパイプラインで自動化します。
| ひとことで言うと | 機械学習システムの検証と配備を自動化する仕組み。 |
|---|---|
| 通常のCI/CDとの違い | コードだけでなく、データとモデルもテスト・管理の対象になる。 |
| 注意点 | モデルの精度が基準を下回ったら、自動でデプロイを止める仕組みを入れる。 |
ML特有のCI/CD要件
通常のソフトウェア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の重要なツールです。