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
20
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
170
Kubernetes超入門
t24kc
0
160
AI予約サービスのMLOps事例紹介
t24kc
0
30
MLプロジェクトのリリースフローを考える
t24kc
0
19
GOの機械学習システムを支えるMLOps事例紹介
t24kc
0
140
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
t24kc
0
42
GOの実験環境について
t24kc
0
26
MOVの機械学習システムを支えるMLOps実践
t24kc
0
30
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
t24kc
0
44
Other Decks in Technology
See All in Technology
形式手法特論:コンパイラの「正しさ」は証明できるか? #burikaigi / BuriKaigi 2026
ytaka23
16
4.5k
田舎で20年スクラム(後編):一個人が企業で長期戦アジャイルに挑む意味
chinmo
1
1.2k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
12k
Everything As Code
yosuke_ai
0
500
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
ハッカソンから社内プロダクトへ AIエージェント ko☆shi 開発で学んだ4つの重要要素
leveragestech
0
580
善意の活動は、なぜ続かなくなるのか ーふりかえりが"構造を変える判断"になった半年間ー
matsukurou
0
320
202512_AIoT.pdf
iotcomjpadmin
0
180
モノタロウ x クリエーションラインで実現する チームトポロジーにおける プラットフォームチーム・ ストリームアラインドチームの 効果的なコラボレーション
creationline
0
530
ECS_EKS以外の選択肢_ROSA入門_.pdf
masakiokuda
1
120
AI駆動開発ライフサイクル(AI-DLC)の始め方
ryansbcho79
0
300
「駆動」って言葉、なんかカッコイイ_Mitz
comucal
PRO
0
140
Featured
See All Featured
Game over? The fight for quality and originality in the time of robots
wayneb77
1
74
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Raft: Consensus for Rubyists
vanstee
141
7.3k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
37
Color Theory Basics | Prateek | Gurzu
gurzu
0
170
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
100
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
81
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
100
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
140
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
58
41k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
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