SlideShare a Scribd company logo
MLOpsのはじめ方
2021/04/21
shibui yusuke
自己紹介
shibui yusuke
● 自動運転スタートアップのティアフォー所属
● よろず屋
● MLOpsコミュニティのオーガナイザー
● もともとクラウド基盤の開発、運用。
● ここ5年くらいMLOpsで仕事。
● Github: @shibuiwilliam
● Qiita: @cvusk
● FB: yusuke.shibui
● 最近やってること: FlutterとIstio
cat : 0.55
dog: 0.45
human : 0.70
gorilla : 0.30
物体検知
今日話すこと
MLOps勉強会でMLOpsをどう取り入れていくのかって話をしてなくない?
CatOps!
放置しているとネコに
椅子を奪われる。
ネコ障害対応(餌、遊ぶ)。
「遊ぶ」を自動化する。
椅子に座っていても
ハンズフリーで遊べる。
day
奪
わ
れ
回
数
ハンズフリー導入
飽き始める
Dev
Data-driven
4
Ops
なぜ機械学習にDevOpsが必要か
● 機械学習の有用性を試す
PoCから次の段階に行くためには機械学習の
DevOpsが必要
● 機械学習を含むプロダクトの価値を継続的に引き出すのが
MLOps
0->1の次を目指す
PoCの数々
ようやく成功した
プロダクト
成長するには
なにが足りない?
→ビジネス指標から機械学習を評価する
→機械学習だけにフォーカスしない
機械学習を使ったプロダクト例
画像処理
写真を撮る
タイトル入力
説明入力
登録する
自然言語処理
違反検知
登録情報から違反を
フィルタリング
入力情報から
入力補助
超解像による
画質改善
ねこ
検索 協調フィルタリングや
ランク学習による
並べ替え
あるコンテンツ登録アプリ
画像分類と
検索
機械学習を使ったプロダクト例
画像処理
写真を撮る
タイトル入力
説明入力
登録する
自然言語処理
違反検知
登録情報から違反を
フィルタリング
入力情報から
入力補助
超解像による
画質改善
ねこ
検索 協調フィルタリングや
ランク学習による
並べ替え
あるコンテンツ登録アプリ
画像分類と
検索タグ
どう学習する?
→定期的
→不定期
→評価が悪くなったとき
いつ推論する?
→検索時
→データ登録時
→1時間ごとにまとめて
どう評価する?
→Accuracy, Confusion Matrix
→検索数、CTR、いいね数
MLOpsのはじめ方
Good
● プロダクトの課題からはじめる
● リリースからはじめる
● プロダクトの価値からはじめる
Bad
● 機械学習からはじめる
● 汎用基盤からはじめる
● 技術的な課題からはじめる
Issueからはじめる
プロダクトを設計する
● 課題:
画像データの検索に時間がかかっている
● 状況:
大量の画像データが保存されており、
有効活用したいが必要な画像を
検索することができない
● 成功の定義:
利用者が画像を選択するまでの時間を
**分以内に短縮する
検索を容易にするために画像にタグをつける
ネコ 月
ネコ
ネコ
ネコ
ネコ
宗谷岬
空
山
木
コアラ
フライパン
カーテン
夜
上海
デザート
フルーツ
イヌ
使い方を考える
ネコ
ネコ
イヌ
・・・
ネコ
個数 位置
明るさ 場所
容易さ 便利さ
画像をアップロード
用途次第
カテゴリを選択
画像分類
フリーテキスト入力
画像分類+自然言語処理
フリーテキストと属性
画像分類+物体検知+
自然言語処理
画像から類似画像を検索
特徴量抽出+ANN
3
暗 外
上
評価方法を考える
● 目的を手段で要素分解する仮説を立てる
● はやめに仮説検証できる技術を選択する
目的のコンテンツを
収集するまでの時間
日時検索 画像認識
目的のコンテンツを
収集するまでの時間
適切にタグ付けされた
コンテンツ数と正解率
目的のコンテンツを
収集するまでの時間
画像分類の
Accuracy
物体検知の
Ave. Precision
機械学習の目的と価値と可否を定義する
● この写真にどうタグをつける?
カテゴリ数
画像分類
物体検知
セグメンテーション
データを作る所要時間
検索カテゴリ
ランキング
最低限使える
だいぶ便利
いらない
学習の頻度と推論のタイミングを決める
データ収集時
定期バッチ
検索時
不定期
定期的
学習
推論
推論器が常時稼働し
ている必要あり 類似画像検索
バッチジョブが
必要
アノテーションと
バッチジョブが必要
ときどきサーバを
起動して実行
データ収集 検索 使う
学習を管理する
実験フェーズ
個人の効率性>共有の価値
チーム開発フェーズ
共有の価値>個人の効率性
学習経過を記録
学習結果を記録
データを記録
コードを管理
実行環境を管理
可視化
(参考)機械学習の管理系ライブラリ
● モデルの管理
○ modeldb: https://github.com/VertaAI/modeldb
○ keepsake: https://keepsake.ai/
● データも管理
○ DVC: https://dvc.org/
● 学習の経過も記録
○ TensorBoard: https://www.tensorflow.org/tensorboard
● 学習パイプラインと経過とモデルを記録
○ mlflow: https://mlflow.org/
● 学習パイプラインと基盤
○ Metaflow: https://metaflow.org/
○ KubeFlow: https://www.kubeflow.org/
● 学習済みモデルを解析
○ Tensorflow Model Analysis: https://www.tensorflow.org/tfx/guide/tfma
○ Netron: https://github.com/lutzroeder/netron
推論システムを作る
モデルファイル
推論コード
or
データベース
ストレージ
キュー
ワーカー
推論
推論ビルド
キャッシュ
検索UI
検索システム
(参考)機械学習の推論ライブラリ
● TensorFlow, Keras
○ サーバサイド:TensorFlow Serving https://www.tensorflow.org/tfx/guide/serving
○ スマホ:TensorFlow Lite https://www.tensorflow.org/lite?hl=ja
● PyTorch
○ サーバサイド:ONNX Runtime https://github.com/microsoft/onnxruntime
○ サーバサイド:Torch Serve https://pytorch.org/serve/
○ スマホ:PyTorch Mobile https://pytorch.org/mobile/home/
● scikit-learn
○ サーバサイド:ONNX Runtime https://github.com/microsoft/onnxruntime
間違いを修正する
ネコ
イヌ
検知方法
通報
他モデルの
推論と比較
閲覧率
見つける
対策
再学習
特定カテゴリ
新モデル
完全
新モデル
違う
アルゴリズム
リリース基準を作る
機械学習の基準
システムの基準
セキュリティの基準
Precision
RMSE
データと推論の偏り
Accuracy
F-score
ログ
監視
テスト網羅率
負荷
遅延
コストの基準
・・・
切り戻す基準
● 手法1
推論するデータを分ける
O コスト
O 全ユーザから新モデルの評価を得る
X 同じデータの比較ができない
● 手法2
アクセスするユーザを分ける
O 同じデータで比較できる
O 新モデルへの移行が比較的簡単
X コスト
A/Bテストを作る
新モデル
現モデル
新モデル
現モデル
アンチパターン:機械学習だけ更新する
ねこ
v1
v2
v3
・・・
汎用的に使えるモデル
部分的に物体検知を活用
動物の検索に有効
同じUI/UXで
効果ある?
まとめ
本を出版します!
● AIエンジニアのための
機械学習システムデザインパターン
● 2021年5月17日出版
● https://www.amazon.co.jp/dp/4798169447/

More Related Content

PPTX
MLOpsはバズワード
PPTX
MLflowで学ぶMLOpsことはじめ
PDF
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
PDF
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
PDF
運用してわかったLookerの本質的メリット : Data Engineering Study #8
PDF
ML Ops 実装の現場から
PPTX
MLOps入門
PDF
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
MLOpsはバズワード
MLflowで学ぶMLOpsことはじめ
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
運用してわかったLookerの本質的メリット : Data Engineering Study #8
ML Ops 実装の現場から
MLOps入門
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021

What's hot (20)

PDF
Rosbag search system
PPTX
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
PDF
Statistical Semantic入門 ~分布仮説からword2vecまで~
PPTX
AutoGluonではじめるAutoML
PDF
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
PDF
MLOpsの概要と初学者が気をつけたほうが良いこと
PPTX
ビッグデータ処理データベースの全体像と使い分け
2018年version
PPTX
backbone としての timm 入門
PDF
ビッグデータ処理データベースの全体像と使い分け
PPTX
【DL輪読会】大量API・ツールの扱いに特化したLLM
PDF
AWSではじめるMLOps
PDF
PlaySQLAlchemy: SQLAlchemy入門
PDF
トップエンジニアが実践する思考整理法~テクニカルライティングを用いた課題解決の基本
PPTX
先駆者に学ぶ MLOpsの実際
PDF
Kubernetesによる機械学習基盤への挑戦
PDF
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PPTX
学習時に使ってはいないデータの混入「リーケージを避ける」
PDF
機械学習で泣かないためのコード設計
PDF
Data-centricなML開発
PPTX
Power BI をアプリに埋め込みたい? ならば Power BI Embedded だ!
Rosbag search system
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
Statistical Semantic入門 ~分布仮説からword2vecまで~
AutoGluonではじめるAutoML
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
MLOpsの概要と初学者が気をつけたほうが良いこと
ビッグデータ処理データベースの全体像と使い分け
2018年version
backbone としての timm 入門
ビッグデータ処理データベースの全体像と使い分け
【DL輪読会】大量API・ツールの扱いに特化したLLM
AWSではじめるMLOps
PlaySQLAlchemy: SQLAlchemy入門
トップエンジニアが実践する思考整理法~テクニカルライティングを用いた課題解決の基本
先駆者に学ぶ MLOpsの実際
Kubernetesによる機械学習基盤への挑戦
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
学習時に使ってはいないデータの混入「リーケージを避ける」
機械学習で泣かないためのコード設計
Data-centricなML開発
Power BI をアプリに埋め込みたい? ならば Power BI Embedded だ!
Ad

Similar to Getting started with MLOps (16)

PDF
How to start MLOps
PDF
Lets start mlops
PDF
Devsumi 2021 MLOps for Self-driving car
PDF
Quality of ml_system
PDF
Launchable and efficient test execution
PDF
machine_learning_failure_apocalypse.pdf
PDF
Ml system in_python
PDF
Testing machine learning development
PDF
Traffic light detection for self driving car
PDF
Generative AIと検索を組み合わせた新たな体験の模索
PDF
機械学習システム構築実践ガイド
PDF
MLOps failure(1_108)
PDF
Creative as Software Engineering for GenAI LT
PPTX
STM32H745を四足歩行させる話
PDF
Reviewing_machine_learning_program.pdf
PDF
機械学習でテスト実行を効率化するLaunchable.pdf
How to start MLOps
Lets start mlops
Devsumi 2021 MLOps for Self-driving car
Quality of ml_system
Launchable and efficient test execution
machine_learning_failure_apocalypse.pdf
Ml system in_python
Testing machine learning development
Traffic light detection for self driving car
Generative AIと検索を組み合わせた新たな体験の模索
機械学習システム構築実践ガイド
MLOps failure(1_108)
Creative as Software Engineering for GenAI LT
STM32H745を四足歩行させる話
Reviewing_machine_learning_program.pdf
機械学習でテスト実行を効率化するLaunchable.pdf
Ad

More from yusuke shibui (10)

PDF
DevSummit_2022_summer_MLOps.pdf
PDF
Machine learning CI/CD with OSS
PDF
Twillio deadshot made me happy
PDF
ML system design_pattern
PDF
Machine learning quality for production
PDF
TFLite_and_PyTorch_Mobile
PDF
Mercari Image search 1st Anniversary
PDF
Machine learning and_system_design
PDF
Machine learning microservice_management
PDF
Mercari ML Meetup
DevSummit_2022_summer_MLOps.pdf
Machine learning CI/CD with OSS
Twillio deadshot made me happy
ML system design_pattern
Machine learning quality for production
TFLite_and_PyTorch_Mobile
Mercari Image search 1st Anniversary
Machine learning and_system_design
Machine learning microservice_management
Mercari ML Meetup

Getting started with MLOps