Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
MOV お客さま探索ナビの GCP ML開発フローについて
Search
Takashi Suzuki
October 31, 2019
Technology
0
18
MOV お客さま探索ナビの GCP ML開発フローについて
2019/10/31に実施されたMobility.dev2019の発表スライド
https://mobilitydev.jp
Takashi Suzuki
October 31, 2019
Tweet
Share
More Decks by Takashi Suzuki
See All by Takashi Suzuki
到着予想時間サービスの特徴量のニアリアルタイム化
t24kc
0
160
Kubernetes超入門
t24kc
0
150
AI予約サービスのMLOps事例紹介
t24kc
0
26
MLプロジェクトのリリースフローを考える
t24kc
0
15
GOの機械学習システムを支えるMLOps事例紹介
t24kc
0
130
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
t24kc
0
39
GOの実験環境について
t24kc
0
21
MOVの機械学習システムを支えるMLOps実践
t24kc
0
25
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
t24kc
0
42
Other Decks in Technology
See All in Technology
短期間でRAGシステムを実現 お客様と歩んだ生成AI内製化への道のり
taka0709
1
240
嗚呼、当時の本番環境の状態で AI Agentを再評価したいなぁ...
po3rin
0
350
激動の2025年、Modern Data Stackの最新技術動向
sagara
0
1.2k
開発者が知っておきたい複雑さの正体/where-the-complexity-comes-from
hanhan1978
6
2.2k
決済システムの信頼性を支える技術と運用の実践
ykagano
0
330
Zabbix Conference Japan 2025 ダッシュボードコンテストLT
katayamatg
0
140
re:Inventに行きたい いつか行きたい 行けるようにできることは?
yama3133
0
120
2025 DHI Lightning Talks
digitalfellow
0
140
よくわからない人向けの IAM Identity Center とちょっとした落とし穴
kazzpapa3
2
630
データエンジニアとして生存するために 〜界隈を盛り上げる「お祭り」が必要な理由〜 / data_summit_findy_Session_1
sansan_randd
1
1k
エンタープライズ企業における開発効率化のためのコンテキスト設計とその活用
sergicalsix
1
140
AI-ready"のための"データ基盤 〜 LLMOpsで事業貢献するための基盤づくり
ismk
0
150
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Six Lessons from altMBA
skipperchong
29
4.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
A designer walks into a library…
pauljervisheath
210
24k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Docker and Python
trallard
46
3.6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Code Reviewing Like a Champion
maltzj
527
40k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Documentation Writing (for coders)
carmenintech
76
5.1k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
Transcript
MOV お客さま探索ナビの GCP ML開発フローについて 鈴木 隆史 AI本部 AIシステム部 MLエンジニアリンググループ 株式会社ディー・エヌ・エー
自己紹介 鈴木 隆史 | Takashi Suzuki AI本部 AIシステム部 MLエンジニアリンググループ 前職では新卒でITメガベンチャーに入社し、サーバーサイドエンジニアとしてゲーム開発とビッグ
データを活用したサービス分析をリード。 その後、大規模データ基盤の新規構築と運用保守などのデータエンジニアリング業務と、レコメンド アルゴリズムの設計開発やチャットボット開発などのMLエンジニアリング業務に従事していた。 2019年にDeNAに入社し、オートモーティブ事業における機械学習の実験基盤やパイプラインの設 計開発を行っている。 2
アジェンダ 3 サービス システム概要 ML開発フロー 1 2 3 まとめ 4
サービス 4 1
タクシー配車アプリ MOV 5
お客さま探索ナビ 6 この車両にとって 最適な走行経路は何か?
システム概要 7 2
全体システム構成 8
9 コンポーネント概要 リアルタイム データ処理 • 車両データのETL • DWH • データ前処理
需要供給予測 • 特徴量作成 • MLモデル予測 走行ルート推薦 • 最適方策の獲得 • 全体最適化
リアルタイム需要供給予測 10 直近の乗車数 周辺の乗車数 各種統計量 MLモデル 直後30分に発生 する乗車数
ML開発フロー 11 3
本番環境 • 推論パイプライン • モデル精度監視 12 ML開発フロー 実験環境 • 分析/モデル開発
• 実験管理 CI/CD
本番環境 • 推論パイプライン • モデル精度監視 13 ML開発フロー 実験環境 • 分析/モデル開発
• 実験管理 CI/CD
分析/モデル開発における課題 14 01 セキュアなクラウド環境 権限・証跡がきちんと管理され ローカルPC以上に快適に メンバーと共有しやすい環境 02 学習時のスケール 一番メモリを必要とするモデル学習時に
他タスクに影響ないように スケールする環境
ユーザ認証Jupyter環境 • GKE構築でセキュア(SSL、IP制限)でスケールしやすい • 個人認証(Cloud IAP)をサポート • Notebookを共有しやすい v.s. Datalab
• セキュア要件への柔軟さ • 起動の速さ セキュアなクラウド環境:JupyterHub 15
フルマネージド学習基盤 • 1分単位の起動時間課金 • Dockerカスタムイメージの学習をサポート • ジョブ実行までidle timeが発生する v.s. GKE
• 柔軟なインスタンス変更 • クラスタ作成不要の手軽さ 学習時のスケール:AI Platform Training Job 16 AI Platform
本番環境 • 推論パイプライン • モデル精度監視 17 ML開発フロー 実験環境 • 分析/モデル開発
• 実験管理 CI/CD
実験管理における課題 18 01 各実験パラメータの管理 複数モデルの実験を行うため各実験のパラメータ管理が必要
comet.ml - 豊富な視覚化/比較 - ハイパラ探索 - コード管理 - Git Integration
- 有料 各実験パラメータの管理 19 mlflow - 視覚化/比較 - 簡易ハイパラ探索 - 無料 BigQuery - 視覚化はDataPortal - リストはDataConnector - カスタムしやすい
本番環境 • 推論パイプライン • モデル精度監視 20 ML開発フロー 実験環境 • 分析/モデル開発
• 実験管理 CI/CD
CI/CDにおける課題 21 01 コードの再現性 データサイエンティストから MLエンジニアに渡された コード・モデルの実行/再現の担 保 02 ロールバック
新しいモデルにバグが あった場合の 以前のモデルに切り戻し たいとき 03 モデルのテスト パイプラインに反映する前の 簡易な動作テストと 小規模データの検証テスト
コード・モデルの再現性 • コミュニケーションギャップの解消 • 再現性の担保 • GKEやTraining Jobのコンテナで利用しやすい モデルのロールバック •
DockerのImage Tag/Digestでversion管理 • 切り戻す際には以前のImageへ 再現性とロールバック:Docker I/F 22
動作・検証テスト • 時間の関係でCircleCIでチェックするのは動作・検証テストのみ • 小規模データでモデルの有効性と実装エラーを検証 • 本番条件での連携と評価テストは専用Invoke モデルの簡易テスト:pytest 23
本番環境 • 推論パイプライン • モデル精度監視 24 ML開発フロー 実験環境 • 分析/モデル開発
• 実験管理 CI/CD
02 冪等性担保 パイプラインの再実行などにより データ重複やモデルの精度ズレが 発生しないようにする 推論パイプラインにおける課題 25 01 複雑な依存関係 学習に利用する各種特徴量の作成と
データの前処理や推論や評価など 一連の依存関係を担保
マネージドAirflow • 複雑な依存関係定義によりヒューマンエラー防止 • 冪等性なJob実行により再現性を担保 • 定期的にJobを実行してモデルを更新 • 重い処理はGKEやTraining Jobを利用
v.s. Kubeflow Pipeline • 途中Jobから再実行可能 • 外部トリガー・外部リソースの利用が容易 • 評価指標は管理できない パイプラインにおける課題:Cloud Composer 26 Cloud Composer
本番環境 • 推論パイプライン • モデル精度監視 27 ML開発フロー 実験環境 • 分析/モデル開発
• 実験管理 CI/CD
モデル精度監視における課題 28 01 モデルの経年劣化 日々変化するタクシー需要トレンドに追従して 新しいデータでモデルを再学習させ、精度をモニタリングしたい
モデル推論の精度を監視 • モデルの定期更新はComposerで担保 • モデル精度をカスタムメトリックでMonitoring • ベースモデルと比較して悪ければ通知 モデルの経年劣化:Stackdriver Monitoring 29
Stackdriver Monitoring
まとめ 30 4
MLOpsの立ち位置 • 業務ごとに専門性が増し、生産性向上のために分業化が進むと、個々人が把握できるコン ポーネントは減ってしまう • 再現性の担保、依存関係の管理、精度やエラー監視する仕組みなどのMLOpsを事前に準 備することで、技術的負債を減らすことができる • チームごとの課題を把握し、予めI/Fや方針を握っておくことが重要 大事にしていること
31
本説明会及び説明資料の内容は、発表日時点で入手可能な情報や判断に基づくもの です。将来発生する事象等により内容に変更が生じた場合も、当社が更新や変更の義 務を負うものではありません。 また、本説明会及び説明資料に含まれる将来の見通しに関する部分は、多分に不確 定な要素を含んでいるため、実際の業績等は、さまざまな要因の変化等により、これら の見通しと異なる場合がありますことをご了承ください。 株式会社ディー・エヌ・エー 32