機械学習のための継続的インテグレーション/継続的デリバリー入門
Machine Learning のための CI/CD
Ravi Bhadauria
Machine Learning Engineer
SDLC の概要
SDLC
:
S
oftware
D
evelopment
L
ife
C
ycle(ソフトウェア開発ライフサイクル)
ソフトウェア開発を最初から最後まで体系的に扱う手法です
SDLCワークフロー
とは、特定の目標を達成するための一連の手順を指します:
ビルド
:コードのコンパイルやパッケージ化、依存関係の解決を行う工程です
テスト
:コードベースの機能性、品質、信頼性を確認する工程です
デプロイ
:特定の環境でソフトウェアを利用可能にする工程です
機械学習における SDLC
機械学習の開発は複雑で時間がかかることがあります
モデルは動的に進化するアルゴリズムです
データエンジニアリングが重要です
継続的インテグレーション/継続的デリバリーはエラーを減らし、高品質な ML ソフトウェアの迅速な提供を実現します
効率的な機械学習と実験に不可欠です
1
https://cloud.google.com/blog/products/ai-machine-learning/making-the-machine-the-machine-learning-lifecycle
CI/CD とは?
継続的インテグレーション(CI)
:コードの変更を頻繁にビルド、テストし、共有リポジトリにマージする手法です
開発者が統合の問題を早期に発見し、一貫性のあるコードベースを維持できます
継続的デリバリー(CD)
:コードの変更をいつでも本番環境にデプロイできる状態を保ちますが、手動承認が必要です
継続的デプロイメント(CD)
:手動介入なしでコードの変更を自動的に本番環境にデプロイします
機械学習における CI/CD
データ依存関係
:データのバージョン管理と運用戦略
実験
:ハイパーパラメータチューニングの自動化
モデルのバージョン管理
:コラボレーションの改善
テストのパラダイム
:従来の機能テストや単体テストを超える範囲
継続的デプロイメントの課題
:モデルの提供、監視、更新における複雑さ
このコースの範囲
まとめ
ソフトウェア開発ライフサイクル(SDLC)のワークフローには、コードのビルド、テスト、デプロイが含まれます
継続的インテグレーション(CI)により、頻繁なコードのマージと問題の早期発見が可能になります
継続的デリバリー(CD)では、手動承認を経てコードの変更をデプロイできます
継続的デプロイメント(CD)は、手動介入なしでコードのデプロイを自動化します
機械学習における CI/CD は次のことを可能にします
データのバージョン管理
モデルの構築とバージョン管理
実験の自動化
テスト
デプロイ
練習しましょう!
Machine Learning のための CI/CD
Preparing Video For Download...