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.

MOV お客さま探索ナビの GCP ML開発フローについて

572 views

Published on

DeNAのAI本部AIシステム部 鈴木隆史 が 2019/10/31 に MOBILITY:dev で 登壇した内容をご紹介します。

Published in: Automotive
  • Be the first to comment

  • Be the first to like this

MOV お客さま探索ナビの GCP ML開発フローについて

  1. 1. MOV お客さま探索ナビの GCP ML開発フローについて 鈴木 隆史 AI本部 AIシステム部 MLエンジニアリンググループ 株式会社ディー・エヌ・エー
  2. 2. 自己紹介 鈴木 隆史 | Takashi Suzuki AI本部 AIシステム部 MLエンジニアリンググループ 前職では新卒でITメガベンチャーに入社し、サーバーサイドエンジニアとしてゲーム開発と ビッグデータを活用したサービス分析をリード。 その後、大規模データ基盤の新規構築と運用保守などのデータエンジニアリング業務と、レ コメンドアルゴリズムの設計開発やチャットボット開発などのMLエンジニアリング業務に 従事していた。 2019年にDeNAに入社し、オートモーティブ事業における機械学習の実験基盤やパイプライ ンの設計開発を行っている。 2
  3. 3. アジェンダ 3 サービス システム概要 ML開発フロー 1 2 3 まとめ4
  4. 4. サービス 4 1
  5. 5. タクシー配車アプリ MOV 5
  6. 6. お客さま探索ナビ 6 この車両にとって 最適な走行経路は何か?
  7. 7. システム概要 7 2
  8. 8. 全体システム構成 8
  9. 9. 9 コンポーネント概要 リアルタイム データ処理 ● 車両データのETL ● DWH ● データ前処理 需要供給予測 ● 特徴量作成 ● MLモデル予測 走行ルート推薦 ● 最適方策の獲得 ● 全体最適化
  10. 10. リアルタイム需要供給予測 10 直近の乗車数 周辺の乗車数 各種統計量 MLモデル 直後30分に発生 する乗車数
  11. 11. ML開発フロー 11 3
  12. 12. 本番環境 ● 推論パイプライン ● モデル精度監視 12 ML開発フロー 実験環境 ● 分析/モデル開発 ● 実験管理 CI/CD
  13. 13. 本番環境 ● 推論パイプライン ● モデル精度監視 13 ML開発フロー 実験環境 ● 分析/モデル開発 ● 実験管理 CI/CD
  14. 14. 分析/モデル開発における課題 14 01 セキュアなクラウド環境 権限・証跡がきちんと管理され ローカルPC以上に快適に メンバーと共有しやすい環境 02 学習時のスケール 一番メモリを必要とするモデル学習時に 他タスクに影響ないように スケールする環境
  15. 15. ユーザ認証Jupyter環境 ● GKE構築でセキュア(SSL、IP制限)でスケールしやすい ● 個人認証(Cloud IAP)をサポート ● Notebookを共有しやすい v.s. Datalab ● セキュア要件への柔軟さ ● 起動の速さ セキュアなクラウド環境:JupyterHub 15
  16. 16. フルマネージド学習基盤 ● 1分単位の起動時間課金 ● Dockerカスタムイメージの学習をサポート ● ジョブ実行までidle timeが発生する v.s. GKE ● 柔軟なインスタンス変更 ● クラスタ作成不要の手軽さ 学習時のスケール:AI Platform Training Job 16 AI Platform
  17. 17. 本番環境 ● 推論パイプライン ● モデル精度監視 17 ML開発フロー 実験環境 ● 分析/モデル開発 ● 実験管理 CI/CD
  18. 18. 実験管理における課題 18 01 各実験パラメータの管理 複数モデルの実験を行うため各実験のパラメータ管理が必要
  19. 19. comet.ml - 豊富な視覚化/比較 - ハイパラ探索 - コード管理 - Git Integration - 有料 各実験パラメータの管理 19 mlflow - 視覚化/比較 - 簡易ハイパラ探索 - 無料 BigQuery - 視覚化はDataPortal - リストはDataConnector - カスタムしやすい
  20. 20. 本番環境 ● 推論パイプライン ● モデル精度監視 20 ML開発フロー 実験環境 ● 分析/モデル開発 ● 実験管理 CI/CD
  21. 21. CI/CDにおける課題 21 01 コードの再現性 データサイエンティストから MLエンジニアに渡された コード・モデルの実行/再現の 担保 02 ロールバック 新しいモデルにバグが あった場合の 以前のモデルに切り戻 したいとき 03 モデルのテスト パイプラインに反映する前の 簡易な動作テストと 小規模データの検証テスト
  22. 22. コード・モデルの再現性 ● コミュニケーションギャップの解消 ● 再現性の担保 ● GKEやTraining Jobのコンテナで利用しやすい モデルのロールバック ● DockerのImage Tag/Digestでversion管理 ● 切り戻す際には以前のImageへ 再現性とロールバック:Docker I/F 22
  23. 23. 動作・検証テスト ● 時間の関係でCircleCIでチェックするのは動作・検証テストのみ ● 小規模データでモデルの有効性と実装エラーを検証 ● 本番条件での連携と評価テストは専用Invoke モデルの簡易テスト:pytest 23
  24. 24. 本番環境 ● 推論パイプライン ● モデル精度監視 24 ML開発フロー 実験環境 ● 分析/モデル開発 ● 実験管理 CI/CD
  25. 25. 02 冪等性担保 パイプラインの再実行などにより データ重複やモデルの精度ズレが 発生しないようにする 推論パイプラインにおける課題 25 01 複雑な依存関係 学習に利用する各種特徴量の作成と データの前処理や推論や評価など 一連の依存関係を担保
  26. 26. マネージドAirflow ● 複雑な依存関係定義によりヒューマンエラー防止 ● 冪等性なJob実行により再現性を担保 ● 定期的にJobを実行してモデルを更新 ● 重い処理はGKEやTraining Jobを利用 v.s. Kubeflow Pipeline ● 途中Jobから再実行可能 ● 外部トリガー・外部リソースの利用が容易 ● 評価指標は管理できない パイプラインにおける課題:Cloud Composer 26 Cloud Composer
  27. 27. 本番環境 ● 推論パイプライン ● モデル精度監視 27 ML開発フロー 実験環境 ● 分析/モデル開発 ● 実験管理 CI/CD
  28. 28. モデル精度監視における課題 28 01 モデルの経年劣化 日々変化するタクシー需要トレンドに追従して 新しいデータでモデルを再学習させ、精度をモニタリングしたい
  29. 29. モデル推論の精度を監視 ● モデルの定期更新はComposerで担保 ● モデル精度をカスタムメトリックでMonitoring ● ベースモデルと比較して悪ければ通知 モデルの経年劣化:Stackdriver Monitoring 29 Stackdriver Monitoring
  30. 30. まとめ 30 4
  31. 31. MLOpsの立ち位置 ● 業務ごとに専門性が増し、生産性向上のために分業化が進むと、個々人が把握できる コンポーネントは減ってしまう ● 再現性の担保、依存関係の管理、精度やエラー監視する仕組みなどのMLOpsを事前 に準備することで、技術的負債を減らすことができる ● チームごとの課題を把握し、予めI/Fや方針を握っておくことが重要 大事にしていること 31
  32. 32. 本説明会及び説明資料の内容は、発表日時点で入手可能な情報や判断に基づくも のです。将来発生する事象等により内容に変更が生じた場合も、当社が更新や変更 の義務を負うものではありません。 また、本説明会及び説明資料に含まれる将来の見通しに関する部分は、多分に 不確定な要素を含んでいるため、実際の業績等は、さまざまな要因の変化等により、 これらの見通しと異なる場合がありますことをご了承ください。 株式会社ディー・エヌ・エー 32

×