SlideShare a Scribd company logo
1 of 32
Mobility Technologies Co., Ltd.
第1回 MLOps 勉強会 Tokyo
先駆者に学ぶMLOpsの実践
株式会社 Mobility Technologies
渡部 徹太郎/齋藤 智輝
2020/8/21
Mobility Technologies Co., Ltd.2
1. MLOpsとは
Agenda
3.到着時間予想PJにおけるMLOpsの実践
2.海外事例紹介「MLOps NYC 19」
Mobility Technologies Co., Ltd.
MLOpsとは1
3
Mobility Technologies Co., Ltd.
自己紹介
4
ID :fetaro
名前:渡部 徹太郎
学生:東京工業大学でデータベースと情報検索の研究
(@日本データベース学会)
職歴:
* 野村総合研究所(NRI)
- オンライントレードシステム基盤
- オープンソース技術部隊
* リクルートテクノロジーズ
- ビッグデータ分析基盤
* MobilityTechnologies
- データエンジニア
エディタ:emacs派→ InteliJ派
趣味:麻雀、自宅サーバ
著書
Mobility Technologies Co., Ltd.
MLOpsとは、システム開発において、
データサイエンティストがやらないこと全て
MLOpsとは
5
と定義して発表を続けます
Mobility Technologies Co., Ltd.
データサイエンティストがやること
6
例:商品レコメンド
ID 性別 年齢 目的
変数
xxx 女 20 … A
yyy 男 30 … B
特徴量生成
データベース or CSV
元データ
推論モデル
の実装
学習
データ
{ 0.1, 0.5, 0.4, …. , 1}
{ 0.1, 0.6, 0.6, …. , 0}
推論
モデル
論文
抽出
推定済み
モデル
学習
評価用
データ
精度 論文
Mobility Technologies Co., Ltd.
MLOpsがやること その1 環境整備・成果物管理
7
ID 性別 年齢 目的
変数
xxx 女 20 … A
yyy 男 30 … B
特徴量生成
データウェアハウス
元データ
推論モデル
の実装
学習
データ
{ 0.1, 0.5, 0.4, …. , 1}
{ 0.1, 0.6, 0.6, …. , 0}
推論
モデル
論文
抽出
推定済み
モデル
学習
評価用
データ
精度 論文
データの準備
アノテーションツール準備
データの
バージョン管理
データの
バージョン管理
計算リソースの準備
(GPU等)
開発ツール準備
ソースコード管理
 データサイエンティストが研究開発するための環境を準備する。
 また、実験の結果を管理する仕組みを準備するよよりよい。
Mobility Technologies Co., Ltd.
 素晴らしい精度が出て、いよいよ本番システムに組み込む事が決まった。
 しかし、本番データを用いたモデル推定には多くのやることがある。
 データサイエンティストの成果物は、
入力が「データウェアハウス」で出力が「推定済みモデル」のバッチ処理コンポーネントとみなせる
MLOpsがやること その2 本番データでのモデル推定
8
データ
ウェア
ハウス
MLバッチ
モデル これを本番システムに組み込む
Mobility Technologies Co., Ltd.
MLOpsがやること その2 本番データでのモデル推定
9
分析システム事業システム
Webサイト
ユーザ
データ収集 データ
レイク
事業
DB
データ
ウェア
ハウス
データ
整備
ML
バッチ モデルアイテム
検索・購入
ログ
モデルを作るためには、事業システムからデータを収集しMLコンポーネントに
渡す全体を作る必要がある
 モデル推定のための計算リソースの確保(GPU等)も必要
このシステムを運用し続ける必要がある。
レポジトリ
モデル
保存
Mobility Technologies Co., Ltd.
 モデルができても、会社は1円も儲からない。利益向上につなげるためにはユーザにおすすめ商
品を提示する必要がある
 推論APIを作る必要がある
 大量の負荷に耐えられるように分散処理は欠かせない
MLOpsがやること その3 推論結果のシステムへの組み込み
分析システム事業システム
Webサイト
ユーザ
推論API
商品レコメ
ンド枠
レポジトリ
モデル
モデル
推論API
モデル
推論API
モデル
ロードバランサ
リリース
管理
リリース
オンライ
ンリクエ
スト
リリース
ページアクセス
おすすめ商品
10
Mobility Technologies Co., Ltd.
おすすめ商品を出して終わりではない
本当に効果があるのか?今でも効果があるのか効果のモニタリングが必要
 レコメンドした場合としていない場合で比較(ABテスト)
MLOpsがやること その4 効果モニタリング
11
分析システム
可視化
ツール
事業システム
推論
API
Web
サイ
ト
行動ログ
購買ログ
3.おすすめ商品
1.カスタマの行動
4.その後の行動 5.記録
2.記録
レコメンドあり
レコメンドなし
6.アラート
データ
ウェア
ハウス
ユーザ
管理者
精度レポート
Mobility Technologies Co., Ltd.
MLOpsとは、システム開発において、
データサイエンティストがやらないこと全て
MLOpsとは
12
たくさんやることがある
参考資料
JapanTaxiにおけるMLOps 〜機械学習の開発運用プロセス〜
https://www.slideshare.net/tetsutarowatanabe/japantaximl-ops
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
https://www.slideshare.net/tetsutarowatanabe/japantaxisagemaker
図解即戦力ビッグデータ分析システムのシステムと開発がしっかりわかる教科書
https://www.amazon.co.jp/dp/B07ZV863GY/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1
Mobility Technologies Co., Ltd.
海外事例紹介
「MLOps NYC 19」2
13
Mobility Technologies Co., Ltd.
 著名なStrata Data Conferenceの近くの会場で開催されたカンファレンス
 間違いなくStrataの参加者を取り込もうと狙ったカンファレンス
 セッションは1並列だが、著名な企業の発表が多く内容の濃いカンファレンスだった
 Uber, Netflix, Twitter, Walmart, Nike, New York Times, Google, Microsoft, Twitter, NVIDIA, Payoneer, Iguazio
 参加費は約$300
「MLOps NYC 19」 にいってきました。
14
動画:https://www.youtube.com/playlist?list=PLH8M0UOY0uy6d_n3vEQe6J_gRBUrISF9m
Mobility Technologies Co., Ltd.
モデル生成は全体のほんの一部
Uberの発表
15
バッチデータ
収集
ストリーム
データ収集
特徴量
ストア
ディープラーニングによる
モデル生成
バッチ
推論
リアルタイム
推論
データレイク
に書き戻し
クライアント
サービスに
予測結果表示
Mobility Technologies Co., Ltd.
MLプロジェクトの60%〜80%がプロダ
クションにならずに頓挫している
 連携不足
 IT担当、エンジニア、データ、そしてデータサ
イエンスのチームの連携不足
 データサイエンティストがエンジニアリングの
知識不足
 ビジネスの理解を得られない
 データの品質が不明瞭
 ビジネスとの握りが曖昧
 ビジネスへの説明不足
 MLのOps(運用)の難しさ
 データサイエンティストが書いたコードは本番
には採用できない
 データのETLにかなり苦労する
Walmartの発表
16
3つのゴールデンルールを作った
1. なぜ重要なのか?
 だれかがそれに金を払うか
 「Cool」なプロダクトはいらない
2. 説明できるか?
 ビジネスの言葉で説明できるか
3. 実装できるか?
 本番化する計画は明瞭か
Mobility Technologies Co., Ltd.
 MLのプロジェクト
 データ探索(〜2週間)
 プロトタイピング(6〜8週間)
 本番化 (12〜14週間)
 リリース後のモデル更新 (〜8週間)
 課題
 プロトタイピング、本番化、リリース後
のモデル更新に時間がかかる
 解決法
 独自フレームワーク「Metaflow」の導入
 Metaflowは以下の開発スタック全体を
ラッピングしてくれる
Netflixの発表
17
Metaflow
Mobility Technologies Co., Ltd.
Strataカンファレンスの求人ボード
データサイエンティスト並にデータエンジニアの求人が多い
18
Mobility Technologies Co., Ltd.
米国でも同じ悩みを抱えていており、
データエンジニアの求人が増えている
海外事例のまとめ
19
詳しくはこちらの資料も御覧ください
MLOps NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
https://www.slideshare.net/tetsutarowatanabe/ml-ops-nyc-19-strata-data-conference-2019-newyork-203911948
Mobility Technologies Co., Ltd.
到着時間予想PJにおける
MLOpsの実践3
20
Mobility Technologies Co., Ltd.
ID
 @tstomoki
名前
 齋藤智輝
学生
 東京大学(学部・大学院)で船の研究をしていました
職歴
 ヤフー株式会社
 ナレッジパネルの開発
 ユーザ位置情報を用いた研究開発
 株式会社バンク
 機械学習モデルの開発・導入
 Mobility Technologies株式会社
 AI技術開発部 アルゴリズムグループ
自己紹介
21
エディタ
 Emacs => Atom => Emacs + PyCharm
役割
データサイエンティスト
兼
データエンジニア
Mobility Technologies Co., Ltd.
Mobility Technologiesとは
22
配車関連事業
広告決済事業 乗務員向けソリューション事業
DRIVE CHART・ドラレコ事業 次世代向けR&D事業
Mobility Technologies Co., Ltd.
到着時間予測システム概要・用途
23
「JapanTaxi」アプリや乗務員用端末、探車の際に機械学習モデルを使用
乗務員向けアプリ
X分
探車範囲の算出
(X分で到着できる車両に配車依頼)
ユーザ向けアプリ
Mobility Technologies Co., Ltd.
ABテストなどによる効果検証
 ユーザアプリ用API
 1%程度のキャンセル率低下
 乗務員用API
 20%以上の配車率増加
到着時間予測システム効果検証
24
※
• キャンセル率
• ユーザが注文した後、タクシーが到着する前にキャンセルしてしまう割合
• 配車率
• 注文に対して実際にタクシーを呼べた割合
(近くにタクシーがいない、乗務員が了承してくれない場合に低下)
Mobility Technologies Co., Ltd.
データサイエンティストの担当プロセス
25
データマート
特徴量
変換用データ
学習データ
特徴量
モデル構築用
データ
学習
データ作成 モデル作成 Jupyter Notebookなどを
データエンジニアにパス
モデル評価
Mobility Technologies Co., Ltd.26
データマート
特徴量
変換用データ
学習データ
特徴量
モデル構築用
データ
モデル作成
データウェアハウス
- 車両位置
- 注文情報, etc.
データ変換
①
学習
データ作成
② ③ ④
モデル評価
Google BigQuery
Python Script
Amazon S3
Amazon SageMaker
データエンジニアの担当プロセス (データ準備)
Mobility Technologies Co., Ltd.
データエンジニアの担当プロセス (成果物の管理)
27
- 推論用スクリプト
- モデル構造
- weights, etc.
モデル成果物
Google BigQuery
Python Script
Amazon S3
Amazon SageMaker
データマート
特徴量
変換用データ
学習データ
特徴量
モデル構築用
データ
モデル作成
データウェアハウス
- 車両位置
- 注文情報, etc.
データ変換
①
学習
データ作成
②
モデル成果物
- 推論用スクリプト
- モデル構造
- weights, etc.
③ ④
モデル評価
モデル評価結果
- 評価用入力
- 評価ログ
モデル評価結果
- 評価サマリ
- 評価詳細
Mobility Technologies Co., Ltd.
データエンジニアの担当プロセス (評価の可視化・判断)
28
- 推論用スクリプト
- モデル構造
- weights, etc.
モデル成果物
データマート
特徴量
変換用データ
学習データ
特徴量
モデル構築用
データ
モデル作成
データウェアハウス
- 車両位置
- 注文情報, etc.
データ変換
①
学習
データ作成
②
モデル成果物
- 推論用スクリプト
- モデル構造
- weights, etc.
③ ④
モデル評価
モデル評価結果
- 評価用入力
- 評価ログ
モデル評価結果
- 評価サマリ
- 評価詳細
リリース
判断
リリース
⑤
Google BigQuery
Python Script
Amazon S3
Amazon SageMaker
Mobility Technologies Co., Ltd.
サービスで参照できるも準備
データエンジニアの担当プロセス(オンライン処理部分)
29
モデルエンドポイント
ML Endpoint
Gateway
特徴量変換
推論コンテナ
Response
App Server
Request
Amazon API Gateway
Amazon Lambda
Amazon SageMaker
リリース
⑤
Mobility Technologies Co., Ltd.
データエンジニアの担当プロセス(リリース後の監視)
30
モデルエンドポイント
Gateway
特徴量変換
推論コンテナ
Request
Response
システム監視
- エラー
- リソース 利用率(CPU, Memory, Disk)
- Model Latency, etc.
ログ
ログ
App Server
※ 非常時に
アラート送出
ログ
精度の詳細な可視化
ML Endpoint
Amazon API Gateway
Amazon Lambda
Amazon SageMaker
Amazon CloudWatch
Amazon Simple
Notification Service
リリース後の監視システムまでを担当
Mobility Technologies Co., Ltd.
機械学習モデルをサービスで運用するにはやることが多い
 データサイエンティストがやらないこと全て(MLOpsの定義)
 定常的にモデル精度やヘルスチェックの必要性
本番用コードの品質維持
 データサイエンティストが書いたコードは本番には採用できない
 システムが落ちないような考え(エラーハンドリングなど)
サイエンティストの負担軽減
 データサイエンティストが全て行うのは複雑、時間がかかる
 データサイエンティストの負担を軽減することでより効率的な開発が可能
まとめ
31
文章·画像等の内容の無断転載及び複製等の行為はご遠慮ください。
Mobility Technologies Co., Ltd.
32
仲間募集中!

More Related Content

What's hot

backbone としての timm 入門
backbone としての timm 入門backbone としての timm 入門
backbone としての timm 入門Takuji Tahara
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!TransformerArithmer Inc.
 
ブレインパッドにおける機械学習プロジェクトの進め方
ブレインパッドにおける機械学習プロジェクトの進め方ブレインパッドにおける機械学習プロジェクトの進め方
ブレインパッドにおける機械学習プロジェクトの進め方BrainPad Inc.
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情Yuta Kikuchi
 
Data-centricなML開発
Data-centricなML開発Data-centricなML開発
Data-centricなML開発Takeshi Suzuki
 
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜SSII
 
モデル高速化百選
モデル高速化百選モデル高速化百選
モデル高速化百選Yusuke Uchida
 
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Yusuke Uchida
 
分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17Takuya Akiba
 
Rustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかRustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかShunsukeNakamura17
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向Motokawa Tetsuya
 
【DL輪読会】Segment Anything
【DL輪読会】Segment Anything【DL輪読会】Segment Anything
【DL輪読会】Segment AnythingDeep Learning JP
 
【メタサーベイ】Vision and Language のトップ研究室/研究者
【メタサーベイ】Vision and Language のトップ研究室/研究者【メタサーベイ】Vision and Language のトップ研究室/研究者
【メタサーベイ】Vision and Language のトップ研究室/研究者cvpaper. challenge
 
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くないChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くないCarnot Inc.
 
多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識佑 甲野
 
CV分野におけるサーベイ方法
CV分野におけるサーベイ方法CV分野におけるサーベイ方法
CV分野におけるサーベイ方法Hirokatsu Kataoka
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII
 
失敗から学ぶ機械学習応用
失敗から学ぶ機械学習応用失敗から学ぶ機械学習応用
失敗から学ぶ機械学習応用Hiroyuki Masuda
 

What's hot (20)

backbone としての timm 入門
backbone としての timm 入門backbone としての timm 入門
backbone としての timm 入門
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!Transformer
 
ブレインパッドにおける機械学習プロジェクトの進め方
ブレインパッドにおける機械学習プロジェクトの進め方ブレインパッドにおける機械学習プロジェクトの進め方
ブレインパッドにおける機械学習プロジェクトの進め方
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
 
Data-centricなML開発
Data-centricなML開発Data-centricなML開発
Data-centricなML開発
 
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
 
モデル高速化百選
モデル高速化百選モデル高速化百選
モデル高速化百選
 
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
 
分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17
 
MLOps入門
MLOps入門MLOps入門
MLOps入門
 
Rustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかRustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったか
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向
 
【DL輪読会】Segment Anything
【DL輪読会】Segment Anything【DL輪読会】Segment Anything
【DL輪読会】Segment Anything
 
【メタサーベイ】Vision and Language のトップ研究室/研究者
【メタサーベイ】Vision and Language のトップ研究室/研究者【メタサーベイ】Vision and Language のトップ研究室/研究者
【メタサーベイ】Vision and Language のトップ研究室/研究者
 
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くないChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くない
 
多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識
 
CV分野におけるサーベイ方法
CV分野におけるサーベイ方法CV分野におけるサーベイ方法
CV分野におけるサーベイ方法
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
 
失敗から学ぶ機械学習応用
失敗から学ぶ機械学習応用失敗から学ぶ機械学習応用
失敗から学ぶ機械学習応用
 

Similar to 先駆者に学ぶ MLOpsの実際

.net micro framework for toppers
.net micro framework for toppers.net micro framework for toppers
.net micro framework for toppersKiyoshi Ogawa
 
エッジヘビーコンピューティングと機械学習
エッジヘビーコンピューティングと機械学習エッジヘビーコンピューティングと機械学習
エッジヘビーコンピューティングと機械学習Preferred Networks
 
ロボットサービス開発の現場から
ロボットサービス開発の現場からロボットサービス開発の現場から
ロボットサービス開発の現場からKohei Kojima
 
ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出Tetsutaro Watanabe
 
IoTデバイスデータ収集の難しい点
IoTデバイスデータ収集の難しい点IoTデバイスデータ収集の難しい点
IoTデバイスデータ収集の難しい点Tetsutaro Watanabe
 
AI/ML開発・運用ワークフロー検討案(日本ソフトウェア科学会 機械学習工学研究会 本番適用のためのインフラと運用WG主催 討論会)
AI/ML開発・運用ワークフロー検討案(日本ソフトウェア科学会 機械学習工学研究会 本番適用のためのインフラと運用WG主催 討論会)AI/ML開発・運用ワークフロー検討案(日本ソフトウェア科学会 機械学習工学研究会 本番適用のためのインフラと運用WG主催 討論会)
AI/ML開発・運用ワークフロー検討案(日本ソフトウェア科学会 機械学習工学研究会 本番適用のためのインフラと運用WG主催 討論会)NTT DATA Technology & Innovation
 
立教大学MBA:AIの最先端技術によるこれからの価値創造
立教大学MBA:AIの最先端技術によるこれからの価値創造立教大学MBA:AIの最先端技術によるこれからの価値創造
立教大学MBA:AIの最先端技術によるこれからの価値創造Osaka University
 
Mobility Technologiesのデータ分析基盤・データ利活用事例のご紹介
Mobility Technologiesのデータ分析基盤・データ利活用事例のご紹介Mobility Technologiesのデータ分析基盤・データ利活用事例のご紹介
Mobility Technologiesのデータ分析基盤・データ利活用事例のご紹介Chigusa Junichiro
 
ストリーム処理勉強会 大規模mqttを支える技術
ストリーム処理勉強会 大規模mqttを支える技術ストリーム処理勉強会 大規模mqttを支える技術
ストリーム処理勉強会 大規模mqttを支える技術Keigo Suda
 
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdataMLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdataNTT DATA Technology & Innovation
 
MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来 MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来 株式会社MonotaRO Tech Team
 
MLプロジェクトのリリースフローを考える
MLプロジェクトのリリースフローを考えるMLプロジェクトのリリースフローを考える
MLプロジェクトのリリースフローを考えるTakashi Suzuki
 
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点- 『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点- Koichi Hamada
 
課題を解決してくれるIoT/AIプロジェクトの進め方 (事例/実践編)
課題を解決してくれるIoT/AIプロジェクトの進め方 (事例/実践編)課題を解決してくれるIoT/AIプロジェクトの進め方 (事例/実践編)
課題を解決してくれるIoT/AIプロジェクトの進め方 (事例/実践編)Masahiro Takechi
 
Io t,ai時代のソフトウェア
Io t,ai時代のソフトウェアIo t,ai時代のソフトウェア
Io t,ai時代のソフトウェアToshiaki Kurokawa
 
[db analytics showcase Sapporo 2018] A11 増え続けるビッグデータをもっと手軽に、もっと速く ~究極の位置データ分析...
[db analytics showcase Sapporo 2018] A11 増え続けるビッグデータをもっと手軽に、もっと速く ~究極の位置データ分析...[db analytics showcase Sapporo 2018] A11 増え続けるビッグデータをもっと手軽に、もっと速く ~究極の位置データ分析...
[db analytics showcase Sapporo 2018] A11 増え続けるビッグデータをもっと手軽に、もっと速く ~究極の位置データ分析...Insight Technology, Inc.
 
ソフトウェアとAIの進化が示唆するもの Final Final revised Final
ソフトウェアとAIの進化が示唆するもの Final Final revised FinalソフトウェアとAIの進化が示唆するもの Final Final revised Final
ソフトウェアとAIの進化が示唆するもの Final Final revised FinalRoy Sugimura, Ph.D
 
20181019日経xTECH EXPO講演 | 今からでも遅くない!事例に学ぶIoT導入のための技術ポイント実践講座
20181019日経xTECH EXPO講演 | 今からでも遅くない!事例に学ぶIoT導入のための技術ポイント実践講座20181019日経xTECH EXPO講演 | 今からでも遅くない!事例に学ぶIoT導入のための技術ポイント実践講座
20181019日経xTECH EXPO講演 | 今からでも遅くない!事例に学ぶIoT導入のための技術ポイント実践講座SORACOM,INC
 
07.テクノスデータサイエンスエンジニアリング(株)_発表資料
07.テクノスデータサイエンスエンジニアリング(株)_発表資料07.テクノスデータサイエンスエンジニアリング(株)_発表資料
07.テクノスデータサイエンスエンジニアリング(株)_発表資料wagatuma
 

Similar to 先駆者に学ぶ MLOpsの実際 (20)

OpenEL for Robot(Japanese)
OpenEL for Robot(Japanese)OpenEL for Robot(Japanese)
OpenEL for Robot(Japanese)
 
.net micro framework for toppers
.net micro framework for toppers.net micro framework for toppers
.net micro framework for toppers
 
エッジヘビーコンピューティングと機械学習
エッジヘビーコンピューティングと機械学習エッジヘビーコンピューティングと機械学習
エッジヘビーコンピューティングと機械学習
 
ロボットサービス開発の現場から
ロボットサービス開発の現場からロボットサービス開発の現場から
ロボットサービス開発の現場から
 
ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出
 
IoTデバイスデータ収集の難しい点
IoTデバイスデータ収集の難しい点IoTデバイスデータ収集の難しい点
IoTデバイスデータ収集の難しい点
 
AI/ML開発・運用ワークフロー検討案(日本ソフトウェア科学会 機械学習工学研究会 本番適用のためのインフラと運用WG主催 討論会)
AI/ML開発・運用ワークフロー検討案(日本ソフトウェア科学会 機械学習工学研究会 本番適用のためのインフラと運用WG主催 討論会)AI/ML開発・運用ワークフロー検討案(日本ソフトウェア科学会 機械学習工学研究会 本番適用のためのインフラと運用WG主催 討論会)
AI/ML開発・運用ワークフロー検討案(日本ソフトウェア科学会 機械学習工学研究会 本番適用のためのインフラと運用WG主催 討論会)
 
立教大学MBA:AIの最先端技術によるこれからの価値創造
立教大学MBA:AIの最先端技術によるこれからの価値創造立教大学MBA:AIの最先端技術によるこれからの価値創造
立教大学MBA:AIの最先端技術によるこれからの価値創造
 
Mobility Technologiesのデータ分析基盤・データ利活用事例のご紹介
Mobility Technologiesのデータ分析基盤・データ利活用事例のご紹介Mobility Technologiesのデータ分析基盤・データ利活用事例のご紹介
Mobility Technologiesのデータ分析基盤・データ利活用事例のご紹介
 
ストリーム処理勉強会 大規模mqttを支える技術
ストリーム処理勉強会 大規模mqttを支える技術ストリーム処理勉強会 大規模mqttを支える技術
ストリーム処理勉強会 大規模mqttを支える技術
 
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdataMLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
 
MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来 MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来
 
MLプロジェクトのリリースフローを考える
MLプロジェクトのリリースフローを考えるMLプロジェクトのリリースフローを考える
MLプロジェクトのリリースフローを考える
 
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点- 『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
 
課題を解決してくれるIoT/AIプロジェクトの進め方 (事例/実践編)
課題を解決してくれるIoT/AIプロジェクトの進め方 (事例/実践編)課題を解決してくれるIoT/AIプロジェクトの進め方 (事例/実践編)
課題を解決してくれるIoT/AIプロジェクトの進め方 (事例/実践編)
 
Io t,ai時代のソフトウェア
Io t,ai時代のソフトウェアIo t,ai時代のソフトウェア
Io t,ai時代のソフトウェア
 
[db analytics showcase Sapporo 2018] A11 増え続けるビッグデータをもっと手軽に、もっと速く ~究極の位置データ分析...
[db analytics showcase Sapporo 2018] A11 増え続けるビッグデータをもっと手軽に、もっと速く ~究極の位置データ分析...[db analytics showcase Sapporo 2018] A11 増え続けるビッグデータをもっと手軽に、もっと速く ~究極の位置データ分析...
[db analytics showcase Sapporo 2018] A11 増え続けるビッグデータをもっと手軽に、もっと速く ~究極の位置データ分析...
 
ソフトウェアとAIの進化が示唆するもの Final Final revised Final
ソフトウェアとAIの進化が示唆するもの Final Final revised FinalソフトウェアとAIの進化が示唆するもの Final Final revised Final
ソフトウェアとAIの進化が示唆するもの Final Final revised Final
 
20181019日経xTECH EXPO講演 | 今からでも遅くない!事例に学ぶIoT導入のための技術ポイント実践講座
20181019日経xTECH EXPO講演 | 今からでも遅くない!事例に学ぶIoT導入のための技術ポイント実践講座20181019日経xTECH EXPO講演 | 今からでも遅くない!事例に学ぶIoT導入のための技術ポイント実践講座
20181019日経xTECH EXPO講演 | 今からでも遅くない!事例に学ぶIoT導入のための技術ポイント実践講座
 
07.テクノスデータサイエンスエンジニアリング(株)_発表資料
07.テクノスデータサイエンスエンジニアリング(株)_発表資料07.テクノスデータサイエンスエンジニアリング(株)_発表資料
07.テクノスデータサイエンスエンジニアリング(株)_発表資料
 

More from Tetsutaro Watanabe

データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎Tetsutaro Watanabe
 
ドライブレコーダの画像認識による道路情報の自動差分抽出
ドライブレコーダの画像認識による道路情報の自動差分抽出ドライブレコーダの画像認識による道路情報の自動差分抽出
ドライブレコーダの画像認識による道路情報の自動差分抽出Tetsutaro Watanabe
 
データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例Tetsutaro Watanabe
 
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめTetsutaro Watanabe
 
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたタクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたTetsutaro Watanabe
 
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用Tetsutaro Watanabe
 
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜Tetsutaro Watanabe
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionTetsutaro Watanabe
 
Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連Tetsutaro Watanabe
 
巨大なサービスと膨大なデータを支えるプラットフォーム

巨大なサービスと膨大なデータを支えるプラットフォーム
巨大なサービスと膨大なデータを支えるプラットフォーム

巨大なサービスと膨大なデータを支えるプラットフォーム
Tetsutaro Watanabe
 
リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例Tetsutaro Watanabe
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - Tetsutaro Watanabe
 
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法Tetsutaro Watanabe
 
ビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けTetsutaro Watanabe
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法Tetsutaro Watanabe
 
MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!Tetsutaro Watanabe
 
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介がっつりMongoDB事例紹介
がっつりMongoDB事例紹介Tetsutaro Watanabe
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!Tetsutaro Watanabe
 

More from Tetsutaro Watanabe (20)

データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎
 
ドライブレコーダの画像認識による道路情報の自動差分抽出
ドライブレコーダの画像認識による道路情報の自動差分抽出ドライブレコーダの画像認識による道路情報の自動差分抽出
ドライブレコーダの画像認識による道路情報の自動差分抽出
 
データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例
 
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
 
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたタクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
 
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
 
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年version
 
Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連
 
巨大なサービスと膨大なデータを支えるプラットフォーム

巨大なサービスと膨大なデータを支えるプラットフォーム
巨大なサービスと膨大なデータを支えるプラットフォーム

巨大なサービスと膨大なデータを支えるプラットフォーム

 
リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例
 
WiredTigerを詳しく説明
WiredTigerを詳しく説明WiredTigerを詳しく説明
WiredTigerを詳しく説明
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
 
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
 
ビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分け
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
 
MongoDB3.2の紹介
MongoDB3.2の紹介MongoDB3.2の紹介
MongoDB3.2の紹介
 
MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!
 
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介がっつりMongoDB事例紹介
がっつりMongoDB事例紹介
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 

先駆者に学ぶ MLOpsの実際

  • 1. Mobility Technologies Co., Ltd. 第1回 MLOps 勉強会 Tokyo 先駆者に学ぶMLOpsの実践 株式会社 Mobility Technologies 渡部 徹太郎/齋藤 智輝 2020/8/21
  • 2. Mobility Technologies Co., Ltd.2 1. MLOpsとは Agenda 3.到着時間予想PJにおけるMLOpsの実践 2.海外事例紹介「MLOps NYC 19」
  • 3. Mobility Technologies Co., Ltd. MLOpsとは1 3
  • 4. Mobility Technologies Co., Ltd. 自己紹介 4 ID :fetaro 名前:渡部 徹太郎 学生:東京工業大学でデータベースと情報検索の研究 (@日本データベース学会) 職歴: * 野村総合研究所(NRI) - オンライントレードシステム基盤 - オープンソース技術部隊 * リクルートテクノロジーズ - ビッグデータ分析基盤 * MobilityTechnologies - データエンジニア エディタ:emacs派→ InteliJ派 趣味:麻雀、自宅サーバ 著書
  • 5. Mobility Technologies Co., Ltd. MLOpsとは、システム開発において、 データサイエンティストがやらないこと全て MLOpsとは 5 と定義して発表を続けます
  • 6. Mobility Technologies Co., Ltd. データサイエンティストがやること 6 例:商品レコメンド ID 性別 年齢 目的 変数 xxx 女 20 … A yyy 男 30 … B 特徴量生成 データベース or CSV 元データ 推論モデル の実装 学習 データ { 0.1, 0.5, 0.4, …. , 1} { 0.1, 0.6, 0.6, …. , 0} 推論 モデル 論文 抽出 推定済み モデル 学習 評価用 データ 精度 論文
  • 7. Mobility Technologies Co., Ltd. MLOpsがやること その1 環境整備・成果物管理 7 ID 性別 年齢 目的 変数 xxx 女 20 … A yyy 男 30 … B 特徴量生成 データウェアハウス 元データ 推論モデル の実装 学習 データ { 0.1, 0.5, 0.4, …. , 1} { 0.1, 0.6, 0.6, …. , 0} 推論 モデル 論文 抽出 推定済み モデル 学習 評価用 データ 精度 論文 データの準備 アノテーションツール準備 データの バージョン管理 データの バージョン管理 計算リソースの準備 (GPU等) 開発ツール準備 ソースコード管理  データサイエンティストが研究開発するための環境を準備する。  また、実験の結果を管理する仕組みを準備するよよりよい。
  • 8. Mobility Technologies Co., Ltd.  素晴らしい精度が出て、いよいよ本番システムに組み込む事が決まった。  しかし、本番データを用いたモデル推定には多くのやることがある。  データサイエンティストの成果物は、 入力が「データウェアハウス」で出力が「推定済みモデル」のバッチ処理コンポーネントとみなせる MLOpsがやること その2 本番データでのモデル推定 8 データ ウェア ハウス MLバッチ モデル これを本番システムに組み込む
  • 9. Mobility Technologies Co., Ltd. MLOpsがやること その2 本番データでのモデル推定 9 分析システム事業システム Webサイト ユーザ データ収集 データ レイク 事業 DB データ ウェア ハウス データ 整備 ML バッチ モデルアイテム 検索・購入 ログ モデルを作るためには、事業システムからデータを収集しMLコンポーネントに 渡す全体を作る必要がある  モデル推定のための計算リソースの確保(GPU等)も必要 このシステムを運用し続ける必要がある。 レポジトリ モデル 保存
  • 10. Mobility Technologies Co., Ltd.  モデルができても、会社は1円も儲からない。利益向上につなげるためにはユーザにおすすめ商 品を提示する必要がある  推論APIを作る必要がある  大量の負荷に耐えられるように分散処理は欠かせない MLOpsがやること その3 推論結果のシステムへの組み込み 分析システム事業システム Webサイト ユーザ 推論API 商品レコメ ンド枠 レポジトリ モデル モデル 推論API モデル 推論API モデル ロードバランサ リリース 管理 リリース オンライ ンリクエ スト リリース ページアクセス おすすめ商品 10
  • 11. Mobility Technologies Co., Ltd. おすすめ商品を出して終わりではない 本当に効果があるのか?今でも効果があるのか効果のモニタリングが必要  レコメンドした場合としていない場合で比較(ABテスト) MLOpsがやること その4 効果モニタリング 11 分析システム 可視化 ツール 事業システム 推論 API Web サイ ト 行動ログ 購買ログ 3.おすすめ商品 1.カスタマの行動 4.その後の行動 5.記録 2.記録 レコメンドあり レコメンドなし 6.アラート データ ウェア ハウス ユーザ 管理者 精度レポート
  • 12. Mobility Technologies Co., Ltd. MLOpsとは、システム開発において、 データサイエンティストがやらないこと全て MLOpsとは 12 たくさんやることがある 参考資料 JapanTaxiにおけるMLOps 〜機械学習の開発運用プロセス〜 https://www.slideshare.net/tetsutarowatanabe/japantaximl-ops JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用 https://www.slideshare.net/tetsutarowatanabe/japantaxisagemaker 図解即戦力ビッグデータ分析システムのシステムと開発がしっかりわかる教科書 https://www.amazon.co.jp/dp/B07ZV863GY/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1
  • 13. Mobility Technologies Co., Ltd. 海外事例紹介 「MLOps NYC 19」2 13
  • 14. Mobility Technologies Co., Ltd.  著名なStrata Data Conferenceの近くの会場で開催されたカンファレンス  間違いなくStrataの参加者を取り込もうと狙ったカンファレンス  セッションは1並列だが、著名な企業の発表が多く内容の濃いカンファレンスだった  Uber, Netflix, Twitter, Walmart, Nike, New York Times, Google, Microsoft, Twitter, NVIDIA, Payoneer, Iguazio  参加費は約$300 「MLOps NYC 19」 にいってきました。 14 動画:https://www.youtube.com/playlist?list=PLH8M0UOY0uy6d_n3vEQe6J_gRBUrISF9m
  • 15. Mobility Technologies Co., Ltd. モデル生成は全体のほんの一部 Uberの発表 15 バッチデータ 収集 ストリーム データ収集 特徴量 ストア ディープラーニングによる モデル生成 バッチ 推論 リアルタイム 推論 データレイク に書き戻し クライアント サービスに 予測結果表示
  • 16. Mobility Technologies Co., Ltd. MLプロジェクトの60%〜80%がプロダ クションにならずに頓挫している  連携不足  IT担当、エンジニア、データ、そしてデータサ イエンスのチームの連携不足  データサイエンティストがエンジニアリングの 知識不足  ビジネスの理解を得られない  データの品質が不明瞭  ビジネスとの握りが曖昧  ビジネスへの説明不足  MLのOps(運用)の難しさ  データサイエンティストが書いたコードは本番 には採用できない  データのETLにかなり苦労する Walmartの発表 16 3つのゴールデンルールを作った 1. なぜ重要なのか?  だれかがそれに金を払うか  「Cool」なプロダクトはいらない 2. 説明できるか?  ビジネスの言葉で説明できるか 3. 実装できるか?  本番化する計画は明瞭か
  • 17. Mobility Technologies Co., Ltd.  MLのプロジェクト  データ探索(〜2週間)  プロトタイピング(6〜8週間)  本番化 (12〜14週間)  リリース後のモデル更新 (〜8週間)  課題  プロトタイピング、本番化、リリース後 のモデル更新に時間がかかる  解決法  独自フレームワーク「Metaflow」の導入  Metaflowは以下の開発スタック全体を ラッピングしてくれる Netflixの発表 17 Metaflow
  • 18. Mobility Technologies Co., Ltd. Strataカンファレンスの求人ボード データサイエンティスト並にデータエンジニアの求人が多い 18
  • 19. Mobility Technologies Co., Ltd. 米国でも同じ悩みを抱えていており、 データエンジニアの求人が増えている 海外事例のまとめ 19 詳しくはこちらの資料も御覧ください MLOps NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ https://www.slideshare.net/tetsutarowatanabe/ml-ops-nyc-19-strata-data-conference-2019-newyork-203911948
  • 20. Mobility Technologies Co., Ltd. 到着時間予想PJにおける MLOpsの実践3 20
  • 21. Mobility Technologies Co., Ltd. ID  @tstomoki 名前  齋藤智輝 学生  東京大学(学部・大学院)で船の研究をしていました 職歴  ヤフー株式会社  ナレッジパネルの開発  ユーザ位置情報を用いた研究開発  株式会社バンク  機械学習モデルの開発・導入  Mobility Technologies株式会社  AI技術開発部 アルゴリズムグループ 自己紹介 21 エディタ  Emacs => Atom => Emacs + PyCharm 役割 データサイエンティスト 兼 データエンジニア
  • 22. Mobility Technologies Co., Ltd. Mobility Technologiesとは 22 配車関連事業 広告決済事業 乗務員向けソリューション事業 DRIVE CHART・ドラレコ事業 次世代向けR&D事業
  • 23. Mobility Technologies Co., Ltd. 到着時間予測システム概要・用途 23 「JapanTaxi」アプリや乗務員用端末、探車の際に機械学習モデルを使用 乗務員向けアプリ X分 探車範囲の算出 (X分で到着できる車両に配車依頼) ユーザ向けアプリ
  • 24. Mobility Technologies Co., Ltd. ABテストなどによる効果検証  ユーザアプリ用API  1%程度のキャンセル率低下  乗務員用API  20%以上の配車率増加 到着時間予測システム効果検証 24 ※ • キャンセル率 • ユーザが注文した後、タクシーが到着する前にキャンセルしてしまう割合 • 配車率 • 注文に対して実際にタクシーを呼べた割合 (近くにタクシーがいない、乗務員が了承してくれない場合に低下)
  • 25. Mobility Technologies Co., Ltd. データサイエンティストの担当プロセス 25 データマート 特徴量 変換用データ 学習データ 特徴量 モデル構築用 データ 学習 データ作成 モデル作成 Jupyter Notebookなどを データエンジニアにパス モデル評価
  • 26. Mobility Technologies Co., Ltd.26 データマート 特徴量 変換用データ 学習データ 特徴量 モデル構築用 データ モデル作成 データウェアハウス - 車両位置 - 注文情報, etc. データ変換 ① 学習 データ作成 ② ③ ④ モデル評価 Google BigQuery Python Script Amazon S3 Amazon SageMaker データエンジニアの担当プロセス (データ準備)
  • 27. Mobility Technologies Co., Ltd. データエンジニアの担当プロセス (成果物の管理) 27 - 推論用スクリプト - モデル構造 - weights, etc. モデル成果物 Google BigQuery Python Script Amazon S3 Amazon SageMaker データマート 特徴量 変換用データ 学習データ 特徴量 モデル構築用 データ モデル作成 データウェアハウス - 車両位置 - 注文情報, etc. データ変換 ① 学習 データ作成 ② モデル成果物 - 推論用スクリプト - モデル構造 - weights, etc. ③ ④ モデル評価 モデル評価結果 - 評価用入力 - 評価ログ モデル評価結果 - 評価サマリ - 評価詳細
  • 28. Mobility Technologies Co., Ltd. データエンジニアの担当プロセス (評価の可視化・判断) 28 - 推論用スクリプト - モデル構造 - weights, etc. モデル成果物 データマート 特徴量 変換用データ 学習データ 特徴量 モデル構築用 データ モデル作成 データウェアハウス - 車両位置 - 注文情報, etc. データ変換 ① 学習 データ作成 ② モデル成果物 - 推論用スクリプト - モデル構造 - weights, etc. ③ ④ モデル評価 モデル評価結果 - 評価用入力 - 評価ログ モデル評価結果 - 評価サマリ - 評価詳細 リリース 判断 リリース ⑤ Google BigQuery Python Script Amazon S3 Amazon SageMaker
  • 29. Mobility Technologies Co., Ltd. サービスで参照できるも準備 データエンジニアの担当プロセス(オンライン処理部分) 29 モデルエンドポイント ML Endpoint Gateway 特徴量変換 推論コンテナ Response App Server Request Amazon API Gateway Amazon Lambda Amazon SageMaker リリース ⑤
  • 30. Mobility Technologies Co., Ltd. データエンジニアの担当プロセス(リリース後の監視) 30 モデルエンドポイント Gateway 特徴量変換 推論コンテナ Request Response システム監視 - エラー - リソース 利用率(CPU, Memory, Disk) - Model Latency, etc. ログ ログ App Server ※ 非常時に アラート送出 ログ 精度の詳細な可視化 ML Endpoint Amazon API Gateway Amazon Lambda Amazon SageMaker Amazon CloudWatch Amazon Simple Notification Service リリース後の監視システムまでを担当
  • 31. Mobility Technologies Co., Ltd. 機械学習モデルをサービスで運用するにはやることが多い  データサイエンティストがやらないこと全て(MLOpsの定義)  定常的にモデル精度やヘルスチェックの必要性 本番用コードの品質維持  データサイエンティストが書いたコードは本番には採用できない  システムが落ちないような考え(エラーハンドリングなど) サイエンティストの負担軽減  データサイエンティストが全て行うのは複雑、時間がかかる  データサイエンティストの負担を軽減することでより効率的な開発が可能 まとめ 31

Editor's Notes

  1. それではここから「到着時間予想PJにおけるMLOpsの実践」について株式会社Mobility Technologiesの齋藤が発表させていただきます。 よろしくお願いいたします。
  2. まず、簡単に自己紹介させてください。 IDはtstomokiで、TwitterやInstagramなどほとんどこのIDで行っていますのでよろしければフォローお願いします。 名前はサイトウトモキと申しまして、表記は色々ありますが一番むずかしい表記の齋藤です。 現在社会人5年目で、学生時代は東大工学部のシステム創世学科というところに所属してました。 現在はシステム創世学科となっておりますが、昔は船舶工学科という船の研究に力を入れており、その流れで私も全長数百メートルほどの大きな船にセンサーを沢山つけてIT技術を使った船舶性能設計やライフサイクル価値を高めるためにシミューレータを作るような研究をしていました。 そんな中、Yahoo! JAPAN研究所のインターンに参加したことやITベンチャーで働かせてもらったこともありヤフーに新卒入社し、検索や位置情報を用いた研究開発をさせてもらっていました。 その後、写真を撮ってすぐに入金するCASHアプリなどを開発するバンクというベンチャーに行ったのですが、位置情報サービスの楽しさを忘れられず現在のMoTにやってきたという流れになります。 エディタ遍歴はこのようになっております。 中学を卒業して、高専という5年生の学校に入ったのですが、プログラミングの先生がEmacsしか認めない過激派だったのでこのようになってしまいましたが今はIDEのコードジャンプ機能などの便利さに気付いてJetbrains社のIDEを使ったり、キーボードマクロ機能を使いたいときはemacsを使うというようなことをしております。 現在の役割としてはデータサイエンティストがメインなのですが、少し経験や手が動くことなどもありデータエンジニアの領域も行なわせていただいております。
  3. ~3:00 60sec
  4. ということで、本題の到着時間予測プロジェクトについて説明させていただきます。 まず、全体の構築したシステムの概要として、現在プロジェクト内のどういった用途で機械学習モデルを使用しているのかについて説明します。 まず、機械学習モデルの基本機能としては 「タクシー車両がある地点Aからある地点Bまで移動するのに掛かる時間」 を予測するというものになります。 こちらの機械学習モデルは、現在大きく分けて用途別に3つの場所で使用されています。 まず1つがこちらのJapanTaxiのユーザ向けアプリになります。 ぜひ実際に使用していただきたいのですが、このようにタクシー車両を呼ぶ際、注文を確定する前に 「注文してからどれくらいでユーザのもとにタクシー車両が到着するのか」 という値を表示するのに使われています。 次が右側の乗務員向けアプリになります。 JapanTaxiアプリと連携しているタクシー車両には、タクシー乗務員の方が使用できるようにタブレットが搭載されているのですが、そちらでも使用されています。 具体的には、 「ユーザが注文後、迎えに行くタクシーが確定した後にどれくらいまでに到着すればよいのか」 という目安の時間を表示するのに使用されています。 最後が下の探車範囲の算出というところになります。 JapanTaxiの基本的なロジックとして、ユーザからの注文あった際、近くの車両にリクエストを送って了解してくれたタクシー車両にお迎えに行ってもらうのですが、 「近くにいる車両の探索(これを探車と呼んでいます)範囲の導出」 に使用されています。 これによって 「5分以内にお迎えにいける車両にリクエストする」 のようなロジックを実現することが出来ます。 機械学習モデルを用いることで、ユーザの位置や指定のタクシー会社・車種などにもよりますが、多くのケースで誤差を数分程度以内で運用できています。
  5. これらそれぞれのシステムを導入した効果を先に話させていただきます。 今回これらを導入することで、ユーザアプリ用APIではユーザによるキャンセル率、これを「ユーザが注文した後、タクシーが到着する前にキャンセルしてしまう割合」として定義しているのですが、この値が1%程度低下し、 乗務員用APIの導入によって配車率、これを「ユーザから注文があった場合に実際にユーザの元へタクシーが到着する割合」として定義しており、近くに車両が存在しない場合や、乗務員による了承が得られない場合などに低くなってしまうのですが、こちらの値が20%以上増加し、サービス側の皆さんにかなり喜んでもらえました。
  6. それでは、ここから、これまで説明させていただいた機械学習モデルの作成までの流れや、どのようなシステム構造・サービスで運用しているのかについて説明します。 まず、初めにデータサイエンティストの担当プロセスについてですが、このようになります。 Kaggleなどのコンテストをイメージしていただけるとわかるかと思うのですが、皆さんのイメージとあっておりますでしょうか。 簡単に説明させていただきますと、まずモデル作成に使用できそうなデータが蓄積されているデータマートから、どのような値が特徴量して利用できそうなのか検証しつつ学習データを作成します。 その際、モデル構築用に元データをエンコードしたり、評価用に、train, valid, testデータなどに分けていき、モデル構造やパラメータ調整などを試行錯誤を行いながらモデルを構築していきます。 構築したモデルを評価した後、十分な精度が得られるまで特徴量の追加やモデル構造の変更などを行っていき、十分な精度が得られた段階でJupyter Notebookなどをデータエンジニアにパスしてサービスへ実装してもらうという流れになるかと思います。 最後のデータエンジニアとの連携部分は色々あるかと思いますが、基本的にデータサイエンティストが担当するのは、特徴量を含めたデータ作成からモデル構築・評価部分までかと思います。
  7. 次にデータエンジニアの担当プロセスについて説明します。 JapanTaxiのインフラを例に、リリースまでの流れを詳細に説明させていただきます。 データサイエンティストの担当プロセスと比較してまず増えるのはデータ準備のプロセスです。 まず、JapanTaxiアプリでは、アプリからの注文情報やタクシー車両のGPS情報などを日々蓄積しています。 こちらがこの「データウェアハウス」と呼んでいるものになっておりまして、こちらの蓄積データを今回の機械学習モデルの構築用に注文データなどに紐付けたデータ(これをデータマートと呼んでいます)に変換します。 これらの入出力は基本的にGoogle BigQuery上に保存されており、データ変換スクリプトもPythonで書かれているものの基本的にはSQLを実行しているものになります。 次に②で、作成したデータマートを特徴量に変換し、train, valid, testデータなどに分けたデータをAWSのS3に保存していきます。 保存場所はローカルでもよいのですが、モデル構築や評価の再現性を担保するために、使用した特徴量などは保存しておくべきです。 その後、モデル構築を行うのですが本モデルでは運用後のことも考慮してAWSのSageMakerというサービスを用いて行いました。 (簡単に説明すると、こちらのサービスではTensorflowなどのフレームワークも使用できデプロイや評価などの際、負荷に応じたインスタンスなどを選択できることを除いてローカルでのモデル開発と同じ様に使用できます。)
  8. 次にSageMakerを使用してモデル作成を行い、推論用のスクリプトだったりモデル構造やモデルの重みなどのファイルが特定のS3バケットに保存されます。 モデル成果物をS3やSagemakerサービス上でversion管理しておくことで、今後リリース時などに不具合が見つかりロールバックする際などに役立ちます。 その後、モデルに対して大量のデータを使って評価を行う「バッチ変換」というSageMakerのサービスと学習データ作成時に保存したtestデータを使用して、構築したモデルの評価を行います。 こちらの評価結果を可視化しやすいようにBigQueryに見やすい形で保存しておくことで、各エリアや各タクシー会社毎の予測精度などを確認することが出来ます。
  9. 最終的に可視化されたモデルの詳細な評価結果を基にモデルリリースの判断を行うことになります。
  10. 次に、アプリからのリクエストから予測結果を返す部分もデータエンジニアの担当かと思うのですが、そちらの流れについて説明します。 先程のリリース作業によって、推論を行うためのSageMakerのエンドポイントと推論用のコンテナ(インスタンス)が準備・更新されます。 その後、実際の運用時にはJapanTaxiアプリからユーザの注文リクエストなどのタイミングで推論リクエストが送られてきます。 アプリから送られてきたリクエストは、JapanTaxi内のアプリ用サーバを通して、機械学習モデルへの推論リクエストが送られます。 今回構築したオンライン処理用のシステムは全てAWSのサービスで構築されており、リクエストの受け口にAPI Gatewayを用いており、推論リクエストをモデルの特徴量に変換する部分をAWS Lambdaで実装し、Sagemakerのエンドポイントにリクエストを送っています。
  11. 最後に、リリース後に、オンライン処理として推論した際の精度やエラー情報などの監視に必要な機構について簡単に説明させていただきます。 基本的に先程説明したデータウェアハウスなどに日次でデータが蓄積されるようになっており、実際の精度などはリアルタイム(実際には1日遅れ程度)に可視化されています。 また、特徴量変換に用いたLambda関数のエラー情報だったりSageMaker上の推論コンテナのCPU利用率のようなメトリクスもAWSのCloudWatchサービスなどを通じて監視しており、 非常時には推論用のインスタンスがオートスケールしたり、特定のメンバーにアラートが送出されるような仕組みとなっています。 データエンジニアの方々やリリース後の精度変化やリソース等に以上がないかを把握するためにこのような指標を毎日確認していかないといけません。
  12. 以上、簡単ではありましたが全体のまとめとさせていただきます。 まず、1つとして「機械学習モデルをサービスで運用するにはやることが多い」です。 「データサイエンティストがやらないこと全てがMLOps」とありましたが、データの準備や本番用インフラの選定だったりデータサイエンティストがやらないことはかなり多く複雑です。 また、デプロイ後のモデル精度やヘルスチェックなどの監視基盤の構築も簡単ではないです。 次に、「本番用コードの品質維持」についてです。 稀に例外もありますが、「データサイエンティストが書いたコードは本番には採用できない」のが多く、多少のバグなども含まれることがあります。 サイエンティストは試行錯誤が多く、運用のことなどは頭から切り離して作業して精度改善効率を上げてもらうべきなので良いのですが、MLOps側ではエラーハンドリングなどを含めそこの役割を担っていかなければなりません。 最後に「サイエンティストの負担軽減」について述べておくと、 運用までの全ての部分をデータサイエンティストに任せてしまうと、サイエンティストが最も力を入れていくべきモデル開発などに時間が割けなくなってしまうので、できるだけサイエンティストの負担を軽減してあげることを考えてあげるのが良いかと思います。 デプロイ作業などを可能な限りデータエンジニアが担当してあげることで、サイエンティストはモデル開発などのコアな部分に集中できるのかなと思っています。 以上です。ご清聴ありがとうございました。