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
17
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
140
AI予約サービスのMLOps事例紹介
t24kc
0
25
MLプロジェクトのリリースフローを考える
t24kc
0
14
GOの機械学習システムを支えるMLOps事例紹介
t24kc
0
120
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
t24kc
0
38
GOの実験環境について
t24kc
0
19
MOVの機械学習システムを支えるMLOps実践
t24kc
0
25
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
t24kc
0
42
Other Decks in Technology
See All in Technology
スタートアップにおけるこれからの「データ整備」
shomaekawa
2
340
From Prompt to Product @ How to Web 2025, Bucharest, Romania
janwerner
0
120
成長自己責任時代のあるきかた/How to navigate the era of personal responsibility for growth
kwappa
4
300
そのWAFのブロック、どう活かす? サービスを守るための実践的多層防御と思考法 / WAF blocks defense decision
kaminashi
0
120
AIAgentの限界を超え、 現場を動かすWorkflowAgentの設計と実践
miyatakoji
1
160
「使い方教えて」「事例教えて」じゃもう遅い! Microsoft 365 Copilot を触り倒そう!
taichinakamura
0
190
Function calling機能をPLaMo2に実装するには / PFN LLMセミナー
pfn
PRO
0
1k
Adminaで実現するISMS/SOC2運用の効率化 〜 アカウント管理編 〜
shonansurvivors
4
410
定期的な価値提供だけじゃない、スクラムが導くチームの共創化 / 20251004 Naoki Takahashi
shift_evolve
PRO
4
350
防災デジタル分野での官民共創の取り組み (2)DIT/CCとD-CERTについて
ditccsugii
0
110
Access-what? why and how, A11Y for All - Nordic.js 2025
gdomiciano
1
120
AIツールでどこまでデザインを忠実に実装できるのか
oikon48
6
3k
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
32
2.3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Rails Girls Zürich Keynote
gr2m
95
14k
Music & Morning Musume
bryan
46
6.8k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Designing for humans not robots
tammielis
254
26k
Site-Speed That Sticks
csswizardry
11
890
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Writing Fast Ruby
sferik
629
62k
The Pragmatic Product Professional
lauravandoore
36
6.9k
It's Worth the Effort
3n
187
28k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
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