MLOps の概要と始め方
2022/3/15

Table of Contents

はじめに

01

MLOps とは？

02

MLOps の始め方

03

本発表の対象内

本発表の対象外●

これまで MLOps を行ったことがないビジネスユーザー●

今後 MLOps の導入を検討している PM, PdM●

MLOps を始めたいエンジニア●

既に MLOps を導入している方01
はじめに自己紹介

名前：田中 翔 twitter: @tshowis
機械学習のビジネス検討からデプロイ、運用のコンサルティングを担当
Place Image Here
これまでサーバサイド エンジニア、データ分析者、プロジェクト マネージャー、データエンジニアなど企画検討から運用まで一気通貫で機械学習プロジェクトに関わった経験MLOps コミュニティ / 勉強会
2020 年より MLOps コミュニティ/ 勉強会を運営。

次回は 2022/3/23 に座談会を開催予定ですのでみなさまのご参加お待ちしています。
発表者も随時募集中！（現在は 5 月以降）

Place Image Here02MLOps とは？

Hidden Technical Debt inMachine Learning Systems

2015 年 NIPS で発表された D. Scullery etal の論文。機械学習を本番活用するため
Place Image Hereにはさまざまな技術要素があることを記述。
出典: Hidden Technical Debt in Machine Learning Systems

MLOps: 機械学習における継続的デリバリーと自動化のパイプライン

Google Cloud が提案している
MLOps の定義とレベル別アーキテク
Place Image Hereチャ

出典: MLOps: Continuous delivery and automation
pipelines in machine learning | Google CloudGoogle Cloud が定義している MLOps と要素
MLOps は、ML システム開発（Dev）と ML システム オペレーション（Ops）の統合を目的とする ML エンジニアリングの文化と手法です。MLOps を実践すると、統合、テスト、リリース、デプロイ、インフラストラクチャ管理など、ML システム構築のすべてのステップで自動化とモニタリングを推進できます。

・ソースコード管理・サービスのテストとビルド（ CI）
・継続的デリバリー（ CD）
・データモデルの検証 etc.

出典: Google Cloud, MLOps: Continuous delivery and automation pipelines in machine learning他の定義で見かける要素（主観）●Explainable AI (=Explainability)：説明可能性 （SHAP, LIME etc.）●

実験管理（Experiment Tracking）●

継続的トレーニング（CT）●

ハイパーパラメーターの自動チューニング など

出典: MLOps Toys

MLOps は機械学習を活用したシステムを運用するうえでの自動化/効率化の集合体といえそう

MLOps というワードを聞く際には、ML を用いた環境で ”何を” 自動化/効率化するのかに焦点をあてる必要がある

03
MLOps の始め方
特にエンタープライズ向け

状況もさまざま、始め方もさまざま

もちろんシンプルに考えるなら、 ML を導入しているシステムで MLOps を実施されたほうが良いと思います。

もちろん状況に応じて制約条件があると思いますので、単純に導入できないケースが多い印
象です。

すでに ML をシステムに導入しているけど運用の効率化を検討できるケースでどのように導入できるか考えてみましょう。

MLOps を導入するまでのフロー例

0102030405

状況把握

計測

選択と検証

評価

導入

現状どのようなフローになっどこのプロセスにどれくらいボトルネックで且つ改善するこ

実際に導入判断するために検MLOps の導入！ているか可視化し、状況を把 の工数/時間がかかっているとでビジネスインパクトが大きい

証した際の効果を評価する

握する

計測して確認する箇所を選択して、改善できるか検証する

定量的な評価だけでなく定性的な評価も場合によっては必要※この流れを忠実に従う必要はなく、必要に応じて取捨選択をする必要があります。

例：レコメンドシステム ~ 01. 状況把握~
行動閲覧
データ

CRM
データ
User

未対応

データ抽
出

前処理

Websiteモデリン
グ*仮想のシステム

PredictionServer手動

自動未対応例：レコメンドシステム ~ 02. 計測 ~
行動閲覧
データ

2h

手動

自動データ抽
出
3h

CRM
データ
User

Website

前処理

予測結果、精度

3h
5h~200 ms*仮想のシステム

モデリン
グ
Prediction
Serverモデル
管理例：レコメンドシステム ~ 03. 選択と検証 ~

未対応

手動

自動

課題と改善見込み
データ抽
行動閲覧 5 hour
・デプロイ時間：手動作業やダブルチェック等で出
データ 4 回2hx 5 hour = 20 h / 月→ デプロイが毎週実施しているので月あたり→ 2 hourに短縮できると見込み（4 回 x 3 hour = 12 h / 月）
3h

User

・精度低下による売上毀損を検知できない→ 精度指標 5% CRM
低下することで売上 100 万円 / 月に影響 前処理
予測結データ1, 2 ヶ月間隔で精度が数%減少を確認→ 過去のデータから
果、精度→ 開発費と精度/売上の関係から数ヶ月以内にリターン可（損益分岐点）
Website3h

・モデルの ver 管理がされておらず一つ前以上の改善検証結果
rollback が迅速にできない
5h→1h→ 過去にモデルを rollback 経験は半年に 1 回ほどなので影響は軽微
モデリン
グなど*仮想のシステム

Prediction
Serverモデル
管理例：レコメンドシステム ~ 03. 選択と検証 ~
行動閲覧
データ

2h

未対応

手動

自動データ抽
出
3h

CRM
データ
User

Website

前処理

予測結果、精度

3h
5h
モデリン
グ
*仮想のシステム

Prediction
Server

モデル
管理

未対応

例：レコメンドシステム ~ 04. 評価 ~
行動閲覧
データ

2h

手動

自動データ抽
出
3h

CRM
データ
User

Website

前処理

予測結果、精度精度低下を確認

3h5h → 1h
モデリン
グ*仮想のシステム

Prediction
Server

モデル
管理

未対応

例：レコメンドシステム ~ 05. 導入 ~
行動閲覧
データ

2h

手動

自動データ抽
出
3h

CRM
データ
UserWebsite

予測結果、精度

前処理

3h

モデリン
グ
*仮想のシステム

Prediction
Serverモデル
管理その他にも検討できる項目例
・モデリング時の実験含めたソースコードと結果の管理
・各モデリング時の特徴量や実験管理のメタデータ管理
・検証環境と本番環境の環境差異をなくすための環境準備
・モデリングと本番運用時のソースコード共通化 など

MLOps を導入するまでのフロー例

01

02

03

04

05

状況把握

計測

選択と検証

評価

導入

現状どのようなフローになっどこのプロセスにどれくらいボトルネックで且つ改善するこ

実際に導入判断するために検MLOps の導入！ているか可視化し、状況を把 の工数/時間がかかっているとでビジネスインパクトが大きい

証した際の効果を評価する

握する

計測して確認する箇所を選択して、改善できるか検証する

定量的な評価だけでなく定性的な評価も場合によっては必要※この流れを忠実に従う必要はなく、必要に応じて取捨選択をする必要があります。

MLOps を導入するまでのフロー例

01

02

状況把握

計測

現状どのようなフローになっどこのプロセスにどれくらいボトルネックで且つ改善するこ

実際に導入判断するために検ているか可視化し、状況を把 の工数/時間がかかっているとでビジネスインパクトが大きい証した際の効果を評価する

握する

03

04

選択と検証
評価
状況に応じて改善箇所を確認し、

05
導入
MLOpsの導入！

箇所を選択して、改善できるか改善していくことで継続的なビジネスへのML 適用が可能
計測して確認する
定量的な評価だけでなく定性的検証するな評価も場合によっては必要※この流れを忠実に従う必要はなく、必要に応じて取捨選択をする必要があります。

04
まとめ

まとめ
MLOps はいろいろな定義がありますので MLOps という言葉にとらわれず、どの話をしているのか確認していくことが大事です。

ML を導入したシステムで効率化できていないかな？と検討したい方は、どこに課題があるのか確認し、改善幅が大きいプロセスの改善から導入することをおすすめします。

Thank you.