MLOps: Continuous Delivery for Machine Learning on AWS
AWSが2020年12月に公開した、AWSでMLOpsを実践するためのホワイトペーパーです。
MLOps: Continuous Delivery for Machine Learning on AWS
機械学習システムを運用するための要素、MLOpsと関連するAWSサービス機能の説明が書かれています。
前半のIntroductionの章はMLOps全般に関わる概念的な内容です。
Alteryx・Dataiku・Domino Data Lab・KNIMEの章はツール紹介に近い内容となっているため、本記事では割愛しています。
要点まとめ
目次
- MLOps: Continuous Delivery for Machine Learning on AWS
- 要点まとめ
- 目次
- 1. Introduction
- 2~5. Alteryx・Dataiku・Domino Data Lab・KNIME
- 6. AWS reference architecture
1. Introduction
継続的デリバリー(CD)の原則と実践が、ソフトウェアを安全かつ信頼できる方法で継続的に本番環境に提供する。
多くの組織が機械学習が大きな価値を生むと分かり、本番環境にデプロイしようとしたが、本番環境での機械学習システムの運用課題に気づいた。
一般的な問題は、多くの機械学習プロジェクトがPoCから抜けられないこと。
機械学習システムの運用化プロセスを作成することで、組織は機械学習の新しい機会を活用できる。
ソフトウェア開発でMLモデルを使用する場合、バージョニング、品質管理、信頼性、再現性、説明性、監査可能性の課題がある。
チームのサイロ化によりプロセスに摩擦が生じる組織課題がある。
MLOpsはDevOpsを機械学習領域に拡張したもの。
MLOpsは人々が一緒に機械学習システムを構想、開発、デプロイ、運用、改善する文化を指す。
1.1 Continuous delivery for machine learning
継続的デリバリーは、ソフトウェアを本番環境にリリースするための信頼性の高い反復可能プロセスを作成するアプローチです。
機械学習のための継続的デリバリー(CD4ML)は、コード、データ、モデルに基づく機械学習アプリケーションを安全な小さいインクリメントで生産し、信頼性の高いリリースサイクルでリリースするアプローチ。
CD4MLのコア原則には、職務横断チームの重要性、変化する多様な変更ソースの取り込み、小さな変更の高頻度の実施、フィードバックループが含まれる。
1.2 The different process steps of CD4ML
CD4MLエンドツーエンドのプロセス要素
- モデル開発
- モデル評価・実験
- モデルのサービス応用化
- テスト
- モデルデプロイ
- 監視と可観測性
1.2.1 Model building
データサイエンティストが異なるアルゴリズムの組み合わせやパラメータ調整を行い、最適なモデルを探索・実験する。
自動化された再現可能な機械学習パイプラインは、他のデータサイエンティストが同じコードベースで共同作業し、異なる環境やデータセットに対しての作業を可能にする
1.2.2 Model evaluation and experimentation
データサイエンスプロセスは研究志向であり、複数の実験が並行して実行され、その多くが本番環境に投入されないことが一般的。
CD4MLは、異なる実行からの結果を追跡、視覚化、比較するだけでなく、有効モデルを本番環境に投入できるようサポートする必要がある。
1.2.3 Productionize the model
適切なモデルが見つかると、モデルが本番環境でどのように提供され、使用されるかを決定する必要がある。
モデルとその使用方法との間にはインターフェイス(API)が存在し、インターフェイスが変更されるとシステム統合のバグが発生する可能性がある。
1.2.4 Testing and quality
機械学習のワークフローでは、従来のソフトウェアシステムのテストとは異なるテストが必要。
テストの例: データの検証・品質テスト、コンポーネントの統合テスト、モデルの精度指標の評価、モデルのバイアスと公平性の検証。
CD4MLプロセスでは、モデルスコアなどのメトリクス収集を自動化し、トレンドの時間変化を追跡できる。
1.2.5 Deployment
最小限のリスクで本番環境にモデルをデプロイする方法
- 同一タスクを実行する複数モデルのデプロイ
- 新しいモデルのシャドウデプロイ
- ユーザーセグメント別のモデルデプロイ
- 継続的に学習するオンライン学習モデルのデプロイ
弾力的なクラウドインフラストラクチャは異なるデプロイシナリオを実装するための重要な要素
1.2.6 Monitoring and observability and closing the feedback loop
本番環境の実際のデータに対するモデルパフォーマンスを理解するために、監視、可観測性が必要。
Human in the loop は、本番環境からキャプチャされた新しいデータを人が分析、整理、ラベリングを行い、将来のモデルを改善するための新しい学習データセットを作成すること。
1.3 The technical components of CD4ML
CD4MLの技術的要素
- 発見可能でアクセス可能なデータ
- バージョン管理とアーティファクトリポジトリ
- 継続的デリバリーのオーケストレーション
- 複数の環境のためのインフラストラクチャ
- モデルパフォーマンス評価の追跡
- モデルの監視と可観測性
1.3.1 Discoverable and accessible data
良い機械学習モデルには良いデータが必要。データは簡単に発見できアクセス可能でなければならない。異なる利害関係者のニーズを考慮して設計する必要がある。
1.3.2 Version control and artifact repositories
バージョン管理ツールはチームが効率的に作業し、結果の再現性のために必須。機械学習プロジェクトはデータの複雑性が加わる。
1.3.3 Continuous delivery orchestration
継続的デリバリーのオーケストレーションツールを使用することで、エンドツーエンドのCD4MLプロセスを実装するための複雑な依存関係とワークフローをモデル化できる。
これらのツールは、デプロイパイプラインの実行を自動化し、研究から本番環境へのモデルの昇格に必要なデータガバナンスプロセスをモデル化する。
1.3.4 Infrastructure for multiple environments
クラウドインフラストラクチャを使用することはCD4MLに多くの利点があるが、厳格な要件ではない。
- 必要に応じてリソースを増減できる弾力性とスケーラビリティ
- 機械学習モデルの学習に特化した専用ハードウェアの利用が可能
- データと機械学習プラットフォーム管理に特化したサービスへのアクセス
- インフラの使用状況に基づく従量制課金モデルの利用が可能
1.3.5 Model performance assessment tracking
モデル、パラメータ、結果を開発チーム全体が透明な方法で追跡できることが重要。
1.3.6 Model monitoring and observability
本番環境の機械学習モデルを、以下の疑問に答えるために継続的に監視する必要がある
- モデルの性能はどうか?
- モデルに供給される実際のデータは何?
- データは学習データと異なる特性を持つか?
- パフォーマンスは低下しているか?
- データやモデルのパフォーマンスに偏りはあるか?
2~5. Alteryx・Dataiku・Domino Data Lab・KNIME
AWS Partner Network(APN)企業が提供するサービスでCD4MLプロセスを実現する方法を紹介する章。
ツールについての話がメインなので割愛。
6. AWS reference architecture
MLOpsのトピックと、紹介されてる関連AWSサービスの形式でまとめる。
6.1 Model building
6.1.1 Discoverable and accessible assets
- データレイクの活用
- データの拡張と取り込み
- AWS Data Exchange
- データラベリング
- Amazon SageMaker Ground Truth
- 特徴量の共有と提供
- Amazon SageMaker Feature Store
6.1.2 Model experimentation
- 実験のためのプラットフォーム
- セキュリティとアクセス管理
- 弾力的なプラットフォームの提供
- Amazon SageMaker Studio
- 効率的な実験ワークロードの管理
- Amazon SageMaker training job
- バージョン管理と共有
- AWS CodeCommit
- 自動化された実験
6.2 Productionize the model
6.2.1 Scale model training
6.2.2 Automate auditable pipelines
- MLプロジェクトのパッケージ化とオーケストレーション
- Amazon SageMaker Pipelines
- デバッグとトレーニング
- Amazon SageMaker Debugger
- モデルの再コンパイルと最適化
- Amazon SageMaker Neo
- MLパイプラインと他サービスの統合
6.3 Testing and quality
6.3.1 AI fairness and explainability
- バイアス検出と説明可能なAI(XAI)の導入
- データ内のバイアスの測定と軽減
- 学習済みモデルの予測バイアスの特定
- SHAPを使用したモデルの説明
- Amazon SageMaker Clarify
6.4 Deployment
6.5 Monitoring and observability and closing the feedback
6.5.1 Model monitoring
- ドリフト検知
- SageMaker Model Monitor
6.5.2 Traceability and auditing
- モデルソースの追跡
- SageMaker Pipeline
6.5.3 Human review and continuous improvement
- MLに対する人間のレビュー
- Amazon Augmented AI(A2I)
6.6 High-level AI services
6.6.1 Productionizing AWS AI services
6.7 AWS: Your journey ahead
MLOpsの成熟への道のりは進化的なプロセス。AWSはこのプロセスをサポートする。