【MLOps入門】MLOps概要
microsoftにもドキュメントがある
Continuous Delivery for Machine Learning
一般的なワークフロー
https://gyazo.com/3599734de5daabbc509074b0e633152a
機械学習プロジェクトにおける課題
以下は一例
学習リソースのスケール
枯渇して、迅速な実験ができない
ex. 並列で実験を回したいが、個別所有のGPUマシンだと1並列しか回せず、共同利用のGPUマシンは混んでいて使えない。(昨日までデータ分析していて、GPUマシンを遊ばせていたのだが。。。)
ローカルで良い実験結果が出る->本番環境への適用、に時間がかかる
ローカルで良い実験結果が出る->本番環境への適用、までに発生する様々なタスクの自動化
(参考)Using MLOps to Bring ML to Production/The Promise of MLOps
ex. ソフトウェアエンジニア: データサイエンティストさん、実験が再現できないんですが。。。というかノートブック(分析、前処理、学習、評価がオールインワン)ですか。。。
実験が再現できず、品質保証ができない
コード・ハイパーパラメータ・モデル・データ・実験結果の整合性が取れたバージョン管理と再現性の担保
ex. (PoCからしばらく経って)このモデルが精度は一番良かったはずだけど、処理速度面で課題があるから、やっぱりあの二番目に精度が良かったパターンに差し替えよう。どのくらい精度に差があったっけ?そのときの学習再現できるよね?
機械学習プロジェクトにおける課題を解決するツール
機械学習プラットフォーム
概要
機械学習ワークフローを全体的にカバーするプラットフォーム
主なスコープ
モデル学習、モデル評価、モデルデプロイ
メリット
学習リソースのスピーディなスケールができる
本番環境へのデプロイ含め、エンドツーエンドで管理ができる(関連サービスを組み合わせつつ実現する)
ツール例
SageMaker
AI Platform
Azure Machine Learning
Kubeflow
実験管理ツール
概要
実験結果を自動で管理するツール
手動ならExcel(スプレッドシート)でやりがちなところ
主なスコープ
モデル学習、モデル評価
メリット
コード・ハイパーパラメータ・モデル・データ・実験結果の整合性が取れたバージョン管理と再現性の担保ができる
実験結果の一覧化・可視化により、考察を得ることができる
ツール例
Trains
Weights and Biases
comet
neptune
mag
参考
MLflowで実験管理入門
機械学習研究者&エンジニアが頭を抱える実験管理に役立つツールを比較した
パイプライン管理ツール
この記事の同じ筆者のまとめ記事