MLOpsの概要と
初学者が気をつけたほうが良いこと
2021/7/31 機械学習の社会実装勉強会
自己紹介
名前:田中 翔 (tsho)
twitter: tshowis
大手販促メディア/人材メディアにてデータ分析者 /データエンジニア
としてレコメンドエンジン等の開発 /実装/運用を担当。
データに関わらずウェブアプリケーションの開発からサーバーサイ
ド、インフラ構築ど幅広く従事。
- MLOps勉強会事務局
本発表は所属する組織とは関係なく、
個人の見解と調べたこと発表いたします。
質問です!MLOpsと聞くと何を思い浮かびますか?
質問です!MLOpsと聞くと何を思い浮かびますか?
など?
MLOps
MLOps
= Machine Learning Operations
= 機械学習の運用
〜機械学習モデルを運用する際の効率化?(
DevOpsの意味を汲んで)
そもそも機械学習モデルの運用とはなに?
例:よく見られるMLOpsの範囲
NIPS, 2015, Hidden Technical Debt in Machine Learning Systems
例:MLOpsツールのカバー範囲の一例
- Data Versioning
- Feature Store
- Experiment Tracking
- Training Orchestration
- Explainability
- Model Serving
- Model Monitoring
データ準備/
探索的データ解析
モデル解釈
モデル実装
モデル運用
MLOps Toys | A Curated List of Machine Learning Projects より
MLOpsのカバー範囲は広い
実際にMLOpsに関する発表などを聞いていると
すべて発表している場合もあるし、部分的に発表している場合もある。
MLOpsは機会学習モデルの運用において、
データの準備から運用監視まで幅広い概念と考えることができる。
大事なことは、MLOpsの話をしている場合、
どこのプロセスを話しているのか確認することが大事です。
MLOpsを導入するには?
いろいろなアプローチがあるので銀の弾丸は無い
1. あたりをつけて進める方法
- 実現可能性 x ROI(投資対効果)を考えて、どのプロセスから自動化 /効率化する良いか検討して進める
2. 好きな技術から進める方法
- 自分が導入したい技術を導入していく。モチベーションが続きやすい
方法1:あたりをつけて進める方法
データ準備 モデリング デプロイ 監視/管理
実現可能性
ROI
?
注意:上記は簡易的なサンプルですので他にも評価方法はあります。
実現可能性
スキルセットや社内インフラなどさまざまな要因でできると思っていたことも、実はできないこともあるのでこの確
認は重要です。考えたり/調査しすぎても時間がもったいないので
PoCをミニマムでやってみて検討するのも良い
と思います。
- 内的要因:チームや本人のスキルセットとしてできるか?など
- 外的要因:社内システムの制限などがあるのか?など
ROI(投資対効果)
自動化などを導入するにあたり業務効率化やインパクトはどれくらいあるのか?
例えば、1モデルができてリリースするまでにかかる時間として
- これまでのやり方:18h/月
- リリースするための計画書準備: 2h
- リリースする人とダブルチェックする人の工数を抑えて作業時間: 1h x 2人 = 2h
- 動作確認:0.5h
- 上記を毎週行う場合: (2h + 2h + 0.5h) x 4 weeks = 18時間 / 月
- CDを導入する場合:4h / 月
- 計画書は不要: 0h
- リリースはボタン一つか自動化されるので: 0.5h(多くて)
- 動作確認:0.5h(念の為するという意味で。 CIを導入や本番環境での自動での動確があれば不要)
上記の場合、(18h - 4h) x 12ヶ月 = 168h / 年
上記以外にも定量的に測ることは難しいが精神的負荷も減って、
他の作業に注力できることもメリットとしてある。
たとえば
データ準備 モデリング デプロイ 監視/管理
上記の場合は、デプロイから自動化を適用していくのが組織として話が進めやすいことが多
い。CI/CDなどのツールを導入するを検討するのが良いパターン。
実現可能性
△ ✕ ○ ✕
ROI
△ ○ ○ ✕
方法2:好きな技術から進める方法
上司など決定権が他にある場合、理解ある人でないと難しいがモチベーションベースで進められるので、進め方
などは正直こちらのほうがうまく進むことが多い
サマリー
MLOpsはまだまだ発展途上であり、且つ意味が広いです。
MLOpsと聞いたらどこの部分?と聞きましょう。
まずはどこの作業に時間がかかっているか計測し、ROIと実現可能性を考え
総合的に検討しもっとも効果的なプロセスから考えるとよいかもしれないです。
もちろん行いたい技術ベースで進めるのも効果があると思いますのでケースバイケースで進めるのが良いと思います
おわり / 参考
Hidden Technical Debt in Machine Learning System
https://papers.nips.cc/paper/2015/file/86df7dcfd896fcaf2674f757a2463eba-Paper.pdf
MLOps toys
https://mlops.toys/
MLOpsはバズワード
https://www.slideshare.net/tetsutarowatanabe/mlops-249382186
MLOps: 機械学習における継続的デリバリーと自動化のパイプライン
https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning

MLOpsの概要と初学者が気をつけたほうが良いこと