SlideShare uma empresa Scribd logo
1 de 22
1
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
JapanTaxiにおける ML Ops
〜機械学習の開発運用プロセス〜
CCSE2019
2019/7/13
JapanTaxi
次世代モビリティ事業部
渡部徹太郎
2
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
2
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
自己紹介
ID : fetaro
名前:渡部 徹太郎
研究:東京工業大学でデータベースと情報検索の研究(@日本データベース学会)
前職:
- 大手SIer: オンライントレードシステム基盤
- 大手SIer: オープンソース技術部隊
- 大手インターネットサービス: ビッグデータ分析基盤
現職:
- JapanTaxi:次世代モビリティ研究開発
副業 :
- ビッグデータコンサルタント
- 非常勤講師
エディタ : emacs派
趣味 : 自宅サーバ 日本AWSユーザ会(JAWS)
ビッグデータ支部
3
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
3
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
自己紹介
ID : fetaro
名前:渡部 徹太郎
研究:東京工業大学でデータベースと情報検索の研究(@日本データベース学会)
前職:
- 大手SIer: オンライントレードシステム基盤
- 大手SIer: オープンソース技術部隊
- 大手インターネットサービス: ビッグデータ分析基盤
現職:
- JapanTaxi:次世代モビリティ研究開発
副業 :
- ビッグデータコンサルタント
- 非常勤講師
エディタ : emacs派
趣味 : 自宅サーバ 日本AWSユーザ会(JAWS)
ビッグデータ支部
私は
データサイエンティスト .
データエンジニア
4
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
4
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
今日話すこと
研究や機械学習 .
いかに本番システムで機械学習を動かすか
(=利益に直結させるか)
5
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
5
Proprietary and Confidential ©2019 JapanTaxi, Inc. All Rights Reserved
700万DL超 日本No1タクシーアプリ『JapanTaxi』
アプリマップ上で指定したピン位置にタクシーを手配。
全国47都道府県で約7万台と、全国のタクシー車両1/3がアプリで呼べる。
Google Mapsや音声AIなど様々な注文チャネル、決済、経費精算に対応。
*App Annie調べ タクシー配車/ライドシェアアプリ内における、日本国内累計ダウンロード数/月間平均アクティブユーザー数(iOS/Google Play合算値)調査期間:2017年10月1日〜2018年9月30日
*Apple と Apple ロゴは米国および他の国で登録された Apple Inc. の商標です。App Store は Apple Inc.のサービスマークです。Android、Google Play、Google Playロゴは、Google LLC の商標です。
外部注文チャネル 地図・経路検索
Google Maps iphone map
経費精算
Concur MoneyForward
タクシー配車アプリ『JapanTaxi』
海外
KakaoT TaxiGomy route
iphone siri Alexa/echo spot mydaiz LINE clova
Yahoo!乗換案内
外部注文チャネル 音声AI
NAVITIME
6
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
6
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
課題:注文キャンセルによる乗車機会の損失
キャンセル配車注文
車を探す 配車決定を通知
受諾 乗車機会の損失
ユーザー
タクシー会社配車システム
ドライバー
キャンセル通知
迎車開始
7
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
7
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
原因:到着時間の期待値のギャップ
5分くらいで
来るかな?
それなら
他の交通手段を
使おう
キャンセル配車注文
車を探す 配車決定を通知
受諾 乗車機会の損失
ユーザー
タクシー会社配車システム
ドライバー
キャンセル通知
迎車開始
10分
かかります
8
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
8
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
解決策:期待値調整をするために到着予想時間を表示
5分くらいで
来るかな?
配車注文
しない
ユーザー
タクシー会社配車システム
ドライバー
到着時間
予想システム
10分
かかるなら
他を探そう
乗車機会の損失
解決!!
10分
かかります
9
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
9
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
解決手段:ディープラーニングにより到着時間を予測する
候補1
目的地
• ポイント:お迎え場所に向かうタクシーは確定していない
お迎え場所
候補2
候補3
候補4
10
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
10
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
実装:Attention機構を使ったお迎え時間予測モデル
配車候補の車両の特徴量
• 出発地の緯度経度
• お迎え場所緯度経度
• 出発時の方向・速度
• お迎え場所への方向・直線距離
• 直線距離が近い順番
車両以外の環境の特徴量
• 日、曜日、時間
• 祝日、休日
Attention機構
• 機械翻訳や画像認識などで使われる
ネットワーク構造
• 入力に応じて注目するべき特徴量に大
きな重みが付与される
• 実際に配車される車両の重みが大きく
なることを期待
到着時間
11
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
11
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
結果:ABテストの結果
注文率の低下は抑止できた
狙い通り
キャンセル率は
低下
12
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
12
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
めでたしめでたし・・・・
Ops(運用)に課題あり!!
13
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
13
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
• 課題1:再現できない成果物
• ワークフローがJupyter Notebookでかかれている
• バージョン管理されない学習データ
• 課題2:精度評価がなされないモデル
• モデルがどういう状態が正しいか定義されていない
• 精度モニタリングがなく、経年劣化に気付けない
• 課題3:あぶなっかしい本番システム
• リリースは手動で一括切り替え
• エラー件数監視なし、応答速度監視なし
• 課題4:確保されない運用人材
• 作ったデータサイエンティストは次の案件にアサイン
Ops(運用)の課題
14
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
14
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
• 対応策
• Jupyter Notebookに書かれたワークフローをバッチ処理化
• 処理を再実行可能な単位に分割
• 分割単位:データマート生成のSQL処理、学習データ生成、モデル推定、デプロイ
• 運用に必要な機能の追加
• ログの出力、設定をファイルに分離、エラーハンドリング、テストコード作成 etc
• ML成果物のバージョン管理
• 学習データ:生成したソースコードのgitコミット番号をデータ名に付与
• モデル:AWS Sagemakerでバージョン管理
• 手動作業の撲滅
• ジョブ実行ツール(Jenkins)で自動化
課題1「再現されない成果物」の対応
15
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
15
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
データウェアハウス
(BigQuery)
ストレージ
(S3)
ストレージ
(S3)
課題1「再現されない成果物」の対応
生データ ML用
データ
マート
学習
データ
ver C
モデル
モデル生成
ジョブ
(Sagemaker)
学習データ
生成ジョブ
(Python)
学習データ
マート生成ジョブ
(SQL)
ジョブ実行基盤
(Jenkins)
SQL
git
モデル生成
プログラム
学習データ
生成
プログラム
エンジニアサイエンティスト
16
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
16
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
• 対応策
• モデルの精度評価方法の定義
• 精度異常しきい値の定義と監視
• 5分以上早く予測していしまった割合
• 5分以上予測がズレた割合
• 予測分布の目視確認
• タクシー会社ごとの予測分布を目視で確認し、前週と比較して大きな違いがないか
• デプロイ前の精度評価
• 新しいモデルをデプロイする前に、精度を確認
• デプロイ後の定期的な精度評価
• 経年劣化していないことを確認するために、毎週最新のデータを使って精度を確認
• 敷居を超えていた場合、チャットツール(Slack)にアラートメール
• 予測分布はBIツール(Tableau)で可視化して目視確認
課題2「精度評価がなされないモデル」の対応
17
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
17
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
課題2「精度評価がなされないモデル」の対応
ストレージ
(S3)
モデル
バッチ推論
(Sagemaker
Batch Transform)
データウェ
アハウス
BigQuery
ストレージ
(S3)
ML用
データ
マート
評価
データ
評価データ
生成ジョブ
(Python)
ストレージ
(S3)
評価
結果
データウェ
アハウス
BigQuery
評価
結果
マート
BIツール
(Tableau)
ロード
サイエンティスト
モデル
ジョブ実行基盤
(Jenkins)
PushMetrics
チャット
(Slack)
エンジニア
18
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
18
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
• 対応策
• 自動リリース
• ジョブ実行ツール(Jenkins)でリリースジョブを作成
• カナリアリリース
• いきなり新しいモデルで置き換えるのではなく、まずは10%だけ新しいモデルに置き換
える
• 問題がなければすべて新しいモデルでリリース
• これを「カナリアリリース」という。由来は「炭鉱のカナリア」
• 実現するためにAWS Sagemaker Endpointの機能を利用
• 監視とアラート
• 応答速度とエラー数の監視
• 実現するためにAWS CloudWatchの利用
課題3「あぶなっかしい本番システム」の対応
19
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
19
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
課題3「あぶなっかしい本番システム」の対応
S3
新モデル
旧モデル
推論
Sagemaker
Endpoint
処理
(Lambda)
API
(API
Gateway)
新
JapanTaxi
アプリ
監視
(Cloud Watch)
応答時間 応答時間
エラー率
応答時間
旧
ロード
ロード
自動リリース
(jenkins)
90%
10%
エンジニア
カスタマ
20
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
20
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
• 対応策
課題4「確保されない運用人材」の対応
JapanTaxiに入社した!
fetaro
21
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
21
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
一緒に働いてくれる仲間を募集中!
クラウド
Kubernetes
車載デバイス(IoT)
自社製の車載デバイスからデータを収集
ディープラーニングの分散処理
AWS, GCP両刀使い
データエンジニアの仕事データサイエンティストの仕事
タクシービッグデータ解析
白線検出
例)ドライブレコーダ動画解析
ガソリンスタンド
料金検出
22
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
〒102-0094 東京都千代田区紀尾井町3-12
3-12 Kioicho Chiyoda-ku, Tokyo 102-0094 Japan
TEL 03-6265-6265 FAX 03-3239-8115
www.japantaxi.co.jp
文章·画像等の内容の無断転載及び複製等の行為はご遠慮ください。
Proprietary and Confidential ©2017 JapanTaxi, Inc.
All Rights Reserved

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

正しいものを正しくつくる
正しいものを正しくつくる正しいものを正しくつくる
正しいものを正しくつくる
 
機械学習システムのアーキテクチャアラカルト
機械学習システムのアーキテクチャアラカルト機械学習システムのアーキテクチャアラカルト
機械学習システムのアーキテクチャアラカルト
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
 
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
 
[SAPPORO CEDEC] サービスの効果を高めるグリー内製ツールの技術と紹介
[SAPPORO CEDEC] サービスの効果を高めるグリー内製ツールの技術と紹介[SAPPORO CEDEC] サービスの効果を高めるグリー内製ツールの技術と紹介
[SAPPORO CEDEC] サービスの効果を高めるグリー内製ツールの技術と紹介
 
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
 
MLOpsの概要と初学者が気をつけたほうが良いこと
MLOpsの概要と初学者が気をつけたほうが良いことMLOpsの概要と初学者が気をつけたほうが良いこと
MLOpsの概要と初学者が気をつけたほうが良いこと
 
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
 
MLOps入門
MLOps入門MLOps入門
MLOps入門
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
DeNAのインフラ戦略 〜クラウドジャーニーの舞台裏〜 [DeNA TechCon 2019]
DeNAのインフラ戦略 〜クラウドジャーニーの舞台裏〜 [DeNA TechCon 2019]DeNAのインフラ戦略 〜クラウドジャーニーの舞台裏〜 [DeNA TechCon 2019]
DeNAのインフラ戦略 〜クラウドジャーニーの舞台裏〜 [DeNA TechCon 2019]
 
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
 
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 

Semelhante a JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜

[Ridge-i] Deep Learning Lab - ディープラーニング 導入の課題と実例
[Ridge-i] Deep Learning Lab - ディープラーニング 導入の課題と実例[Ridge-i] Deep Learning Lab - ディープラーニング 導入の課題と実例
[Ridge-i] Deep Learning Lab - ディープラーニング 導入の課題と実例
Ridge-i
 
Prig 残業泥棒 - 01. プロローグ 120121 杉浦
Prig   残業泥棒 - 01. プロローグ 120121 杉浦Prig   残業泥棒 - 01. プロローグ 120121 杉浦
Prig 残業泥棒 - 01. プロローグ 120121 杉浦
urasandesu
 

Semelhante a JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜 (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 注目セッションまとめ
 
[Ridge-i] Deep Learning Lab - ディープラーニング 導入の課題と実例
[Ridge-i] Deep Learning Lab - ディープラーニング 導入の課題と実例[Ridge-i] Deep Learning Lab - ディープラーニング 導入の課題と実例
[Ridge-i] Deep Learning Lab - ディープラーニング 導入の課題と実例
 
ノーツが日本を救う(2002/3/13)
ノーツが日本を救う(2002/3/13)ノーツが日本を救う(2002/3/13)
ノーツが日本を救う(2002/3/13)
 
Prig 残業泥棒 - 01. プロローグ 120121 杉浦
Prig   残業泥棒 - 01. プロローグ 120121 杉浦Prig   残業泥棒 - 01. プロローグ 120121 杉浦
Prig 残業泥棒 - 01. プロローグ 120121 杉浦
 
デブサミ2020 事業グロースを加速させる「分析基盤」の作り方 japantaxi
デブサミ2020 事業グロースを加速させる「分析基盤」の作り方 japantaxiデブサミ2020 事業グロースを加速させる「分析基盤」の作り方 japantaxi
デブサミ2020 事業グロースを加速させる「分析基盤」の作り方 japantaxi
 
[db tech showcase Tokyo 2018] #dbts2018 #D23 『機械学習の自動化を実現するDataRobotによるAIの民主化とは』
[db tech showcase Tokyo 2018] #dbts2018 #D23 『機械学習の自動化を実現するDataRobotによるAIの民主化とは』[db tech showcase Tokyo 2018] #dbts2018 #D23 『機械学習の自動化を実現するDataRobotによるAIの民主化とは』
[db tech showcase Tokyo 2018] #dbts2018 #D23 『機械学習の自動化を実現するDataRobotによるAIの民主化とは』
 
オープンデータ利活用への道のり@未来型不動産サービス「IESHIL(イエシル)」の事例
オープンデータ利活用への道のり@未来型不動産サービス「IESHIL(イエシル)」の事例オープンデータ利活用への道のり@未来型不動産サービス「IESHIL(イエシル)」の事例
オープンデータ利活用への道のり@未来型不動産サービス「IESHIL(イエシル)」の事例
 
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
 
Redmine + Lychee導入のアンチパターン
Redmine + Lychee導入のアンチパターンRedmine + Lychee導入のアンチパターン
Redmine + Lychee導入のアンチパターン
 
[db tech showcase Tokyo 2015] E15:Hadoop大量データ処理技術と日立匿名化技術によるプライバシー保護とデータ活用 by...
[db tech showcase Tokyo 2015] E15:Hadoop大量データ処理技術と日立匿名化技術によるプライバシー保護とデータ活用 by...[db tech showcase Tokyo 2015] E15:Hadoop大量データ処理技術と日立匿名化技術によるプライバシー保護とデータ活用 by...
[db tech showcase Tokyo 2015] E15:Hadoop大量データ処理技術と日立匿名化技術によるプライバシー保護とデータ活用 by...
 
脆弱性スキャナVulsの紹介とMackerelメタデータと連携した脆弱性管理
脆弱性スキャナVulsの紹介とMackerelメタデータと連携した脆弱性管理脆弱性スキャナVulsの紹介とMackerelメタデータと連携した脆弱性管理
脆弱性スキャナVulsの紹介とMackerelメタデータと連携した脆弱性管理
 
JapanTaxi R&Dの取り組み事例
JapanTaxi R&Dの取り組み事例JapanTaxi R&Dの取り組み事例
JapanTaxi R&Dの取り組み事例
 
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
 
ITインフラsummit 2017発表資料
ITインフラsummit 2017発表資料ITインフラsummit 2017発表資料
ITインフラsummit 2017発表資料
 
ドライブレコーダーの映像で Scene Text Recognitionする
ドライブレコーダーの映像で Scene Text Recognitionするドライブレコーダーの映像で Scene Text Recognitionする
ドライブレコーダーの映像で Scene Text Recognitionする
 
Jsai2018
Jsai2018Jsai2018
Jsai2018
 
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点- 『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
 

Mais de Tetsutaro Watanabe

Mais de Tetsutaro Watanabe (20)

データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎
 
ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出
 
IoTデバイスデータ収集の難しい点
IoTデバイスデータ収集の難しい点IoTデバイスデータ収集の難しい点
IoTデバイスデータ収集の難しい点
 
ドライブレコーダの画像認識による道路情報の自動差分抽出
ドライブレコーダの画像認識による道路情報の自動差分抽出ドライブレコーダの画像認識による道路情報の自動差分抽出
ドライブレコーダの画像認識による道路情報の自動差分抽出
 
データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例
 
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたタクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
 
ビッグデータ処理データベースの全体像と使い分け
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のキホン!
 
MongoDBの監視
MongoDBの監視MongoDBの監視
MongoDBの監視
 

JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜

  • 1. 1 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved JapanTaxiにおける ML Ops 〜機械学習の開発運用プロセス〜 CCSE2019 2019/7/13 JapanTaxi 次世代モビリティ事業部 渡部徹太郎
  • 2. 2 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 2 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 自己紹介 ID : fetaro 名前:渡部 徹太郎 研究:東京工業大学でデータベースと情報検索の研究(@日本データベース学会) 前職: - 大手SIer: オンライントレードシステム基盤 - 大手SIer: オープンソース技術部隊 - 大手インターネットサービス: ビッグデータ分析基盤 現職: - JapanTaxi:次世代モビリティ研究開発 副業 : - ビッグデータコンサルタント - 非常勤講師 エディタ : emacs派 趣味 : 自宅サーバ 日本AWSユーザ会(JAWS) ビッグデータ支部
  • 3. 3 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 3 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 自己紹介 ID : fetaro 名前:渡部 徹太郎 研究:東京工業大学でデータベースと情報検索の研究(@日本データベース学会) 前職: - 大手SIer: オンライントレードシステム基盤 - 大手SIer: オープンソース技術部隊 - 大手インターネットサービス: ビッグデータ分析基盤 現職: - JapanTaxi:次世代モビリティ研究開発 副業 : - ビッグデータコンサルタント - 非常勤講師 エディタ : emacs派 趣味 : 自宅サーバ 日本AWSユーザ会(JAWS) ビッグデータ支部 私は データサイエンティスト . データエンジニア
  • 4. 4 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 4 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 今日話すこと 研究や機械学習 . いかに本番システムで機械学習を動かすか (=利益に直結させるか)
  • 5. 5 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 5 Proprietary and Confidential ©2019 JapanTaxi, Inc. All Rights Reserved 700万DL超 日本No1タクシーアプリ『JapanTaxi』 アプリマップ上で指定したピン位置にタクシーを手配。 全国47都道府県で約7万台と、全国のタクシー車両1/3がアプリで呼べる。 Google Mapsや音声AIなど様々な注文チャネル、決済、経費精算に対応。 *App Annie調べ タクシー配車/ライドシェアアプリ内における、日本国内累計ダウンロード数/月間平均アクティブユーザー数(iOS/Google Play合算値)調査期間:2017年10月1日〜2018年9月30日 *Apple と Apple ロゴは米国および他の国で登録された Apple Inc. の商標です。App Store は Apple Inc.のサービスマークです。Android、Google Play、Google Playロゴは、Google LLC の商標です。 外部注文チャネル 地図・経路検索 Google Maps iphone map 経費精算 Concur MoneyForward タクシー配車アプリ『JapanTaxi』 海外 KakaoT TaxiGomy route iphone siri Alexa/echo spot mydaiz LINE clova Yahoo!乗換案内 外部注文チャネル 音声AI NAVITIME
  • 6. 6 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 6 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 課題:注文キャンセルによる乗車機会の損失 キャンセル配車注文 車を探す 配車決定を通知 受諾 乗車機会の損失 ユーザー タクシー会社配車システム ドライバー キャンセル通知 迎車開始
  • 7. 7 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 7 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 原因:到着時間の期待値のギャップ 5分くらいで 来るかな? それなら 他の交通手段を 使おう キャンセル配車注文 車を探す 配車決定を通知 受諾 乗車機会の損失 ユーザー タクシー会社配車システム ドライバー キャンセル通知 迎車開始 10分 かかります
  • 8. 8 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 8 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 解決策:期待値調整をするために到着予想時間を表示 5分くらいで 来るかな? 配車注文 しない ユーザー タクシー会社配車システム ドライバー 到着時間 予想システム 10分 かかるなら 他を探そう 乗車機会の損失 解決!! 10分 かかります
  • 9. 9 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 9 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 解決手段:ディープラーニングにより到着時間を予測する 候補1 目的地 • ポイント:お迎え場所に向かうタクシーは確定していない お迎え場所 候補2 候補3 候補4
  • 10. 10 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 10 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 実装:Attention機構を使ったお迎え時間予測モデル 配車候補の車両の特徴量 • 出発地の緯度経度 • お迎え場所緯度経度 • 出発時の方向・速度 • お迎え場所への方向・直線距離 • 直線距離が近い順番 車両以外の環境の特徴量 • 日、曜日、時間 • 祝日、休日 Attention機構 • 機械翻訳や画像認識などで使われる ネットワーク構造 • 入力に応じて注目するべき特徴量に大 きな重みが付与される • 実際に配車される車両の重みが大きく なることを期待 到着時間
  • 11. 11 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 11 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 結果:ABテストの結果 注文率の低下は抑止できた 狙い通り キャンセル率は 低下
  • 12. 12 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 12 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved めでたしめでたし・・・・ Ops(運用)に課題あり!!
  • 13. 13 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 13 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved • 課題1:再現できない成果物 • ワークフローがJupyter Notebookでかかれている • バージョン管理されない学習データ • 課題2:精度評価がなされないモデル • モデルがどういう状態が正しいか定義されていない • 精度モニタリングがなく、経年劣化に気付けない • 課題3:あぶなっかしい本番システム • リリースは手動で一括切り替え • エラー件数監視なし、応答速度監視なし • 課題4:確保されない運用人材 • 作ったデータサイエンティストは次の案件にアサイン Ops(運用)の課題
  • 14. 14 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 14 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved • 対応策 • Jupyter Notebookに書かれたワークフローをバッチ処理化 • 処理を再実行可能な単位に分割 • 分割単位:データマート生成のSQL処理、学習データ生成、モデル推定、デプロイ • 運用に必要な機能の追加 • ログの出力、設定をファイルに分離、エラーハンドリング、テストコード作成 etc • ML成果物のバージョン管理 • 学習データ:生成したソースコードのgitコミット番号をデータ名に付与 • モデル:AWS Sagemakerでバージョン管理 • 手動作業の撲滅 • ジョブ実行ツール(Jenkins)で自動化 課題1「再現されない成果物」の対応
  • 15. 15 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 15 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved データウェアハウス (BigQuery) ストレージ (S3) ストレージ (S3) 課題1「再現されない成果物」の対応 生データ ML用 データ マート 学習 データ ver C モデル モデル生成 ジョブ (Sagemaker) 学習データ 生成ジョブ (Python) 学習データ マート生成ジョブ (SQL) ジョブ実行基盤 (Jenkins) SQL git モデル生成 プログラム 学習データ 生成 プログラム エンジニアサイエンティスト
  • 16. 16 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 16 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved • 対応策 • モデルの精度評価方法の定義 • 精度異常しきい値の定義と監視 • 5分以上早く予測していしまった割合 • 5分以上予測がズレた割合 • 予測分布の目視確認 • タクシー会社ごとの予測分布を目視で確認し、前週と比較して大きな違いがないか • デプロイ前の精度評価 • 新しいモデルをデプロイする前に、精度を確認 • デプロイ後の定期的な精度評価 • 経年劣化していないことを確認するために、毎週最新のデータを使って精度を確認 • 敷居を超えていた場合、チャットツール(Slack)にアラートメール • 予測分布はBIツール(Tableau)で可視化して目視確認 課題2「精度評価がなされないモデル」の対応
  • 17. 17 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 17 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 課題2「精度評価がなされないモデル」の対応 ストレージ (S3) モデル バッチ推論 (Sagemaker Batch Transform) データウェ アハウス BigQuery ストレージ (S3) ML用 データ マート 評価 データ 評価データ 生成ジョブ (Python) ストレージ (S3) 評価 結果 データウェ アハウス BigQuery 評価 結果 マート BIツール (Tableau) ロード サイエンティスト モデル ジョブ実行基盤 (Jenkins) PushMetrics チャット (Slack) エンジニア
  • 18. 18 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 18 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved • 対応策 • 自動リリース • ジョブ実行ツール(Jenkins)でリリースジョブを作成 • カナリアリリース • いきなり新しいモデルで置き換えるのではなく、まずは10%だけ新しいモデルに置き換 える • 問題がなければすべて新しいモデルでリリース • これを「カナリアリリース」という。由来は「炭鉱のカナリア」 • 実現するためにAWS Sagemaker Endpointの機能を利用 • 監視とアラート • 応答速度とエラー数の監視 • 実現するためにAWS CloudWatchの利用 課題3「あぶなっかしい本番システム」の対応
  • 19. 19 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 19 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 課題3「あぶなっかしい本番システム」の対応 S3 新モデル 旧モデル 推論 Sagemaker Endpoint 処理 (Lambda) API (API Gateway) 新 JapanTaxi アプリ 監視 (Cloud Watch) 応答時間 応答時間 エラー率 応答時間 旧 ロード ロード 自動リリース (jenkins) 90% 10% エンジニア カスタマ
  • 20. 20 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 20 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved • 対応策 課題4「確保されない運用人材」の対応 JapanTaxiに入社した! fetaro
  • 21. 21 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 21 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 一緒に働いてくれる仲間を募集中! クラウド Kubernetes 車載デバイス(IoT) 自社製の車載デバイスからデータを収集 ディープラーニングの分散処理 AWS, GCP両刀使い データエンジニアの仕事データサイエンティストの仕事 タクシービッグデータ解析 白線検出 例)ドライブレコーダ動画解析 ガソリンスタンド 料金検出
  • 22. 22 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 〒102-0094 東京都千代田区紀尾井町3-12 3-12 Kioicho Chiyoda-ku, Tokyo 102-0094 Japan TEL 03-6265-6265 FAX 03-3239-8115 www.japantaxi.co.jp 文章·画像等の内容の無断転載及び複製等の行為はご遠慮ください。 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved