Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

1,393 views

Published on

JapnTaxiで本番運用している機械学習プロダクトについて、データサイエンティストの成果物をどのように運用に乗せているかを説明します。

Published in: Engineering
  • Be the first to comment

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

  1. 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. 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. 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. 4 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 4 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 今日話すこと 研究や機械学習 . いかに本番システムで機械学習を動かすか (=利益に直結させるか)
  5. 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. 6 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 6 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 課題:注文キャンセルによる乗車機会の損失 キャンセル配車注文 車を探す 配車決定を通知 受諾 乗車機会の損失 ユーザー タクシー会社配車システム ドライバー キャンセル通知 迎車開始
  7. 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. 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. 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. 10 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 10 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 実装:Attention機構を使ったお迎え時間予測モデル 配車候補の車両の特徴量 • 出発地の緯度経度 • お迎え場所緯度経度 • 出発時の方向・速度 • お迎え場所への方向・直線距離 • 直線距離が近い順番 車両以外の環境の特徴量 • 日、曜日、時間 • 祝日、休日 Attention機構 • 機械翻訳や画像認識などで使われる ネットワーク構造 • 入力に応じて注目するべき特徴量に大 きな重みが付与される • 実際に配車される車両の重みが大きく なることを期待 到着時間
  11. 11. 11 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 11 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 結果:ABテストの結果 注文率の低下は抑止できた 狙い通り キャンセル率は 低下
  12. 12. 12 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 12 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved めでたしめでたし・・・・ Ops(運用)に課題あり!!
  13. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

×