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
22
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
190
Kubernetes超入門
t24kc
0
170
AI予約サービスのMLOps事例紹介
t24kc
0
38
MLプロジェクトのリリースフローを考える
t24kc
0
20
GOの機械学習システムを支えるMLOps事例紹介
t24kc
0
140
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
t24kc
0
48
GOの実験環境について
t24kc
0
37
MOVの機械学習システムを支えるMLOps実践
t24kc
0
43
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
t24kc
0
48
Other Decks in Technology
See All in Technology
生成AI活用でQAエンジニアにどのような仕事が生まれるか/Support Required of QA Engineers for Generative AI
goyoki
1
230
ソフトバンク流!プラットフォームエンジニアリング実現へのアプローチ
sbtechnight
1
180
形式手法特論:SMT ソルバで解く認可ポリシの静的解析 #kernelvm / Kernel VM Study Tsukuba No3
ytaka23
1
220
Sansanでの認証基盤内製化と移行
sansantech
PRO
0
540
S3はフラットである –AWS公式SDKにも存在した、 署名付きURLにおけるパストラバーサル脆弱性– / JAWS DAYS 2026
flatt_security
0
1.8k
生成AIで速度と品質を両立する、QAエンジニア・開発者連携のAI協調型テストプロセス
shota_kusaba
0
150
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
複数クラスタ運用と検索の高度化:ビズリーチにおけるElastic活用事例 / ElasticON Tokyo2026
visional_engineering_and_design
0
170
Scrumは歪む — 組織設計の原理原則
dashi
0
200
AWS CDK「読めるけど書けない」を脱却するファーストステップ
smt7174
3
160
Go標準パッケージのI/O処理をながめる
matumoto
0
220
AI駆動AI普及活動 ~ 社内AI活用の「何から始めれば?」をAIで突破する
oracle4engineer
PRO
1
110
Featured
See All Featured
Utilizing Notion as your number one productivity tool
mfonobong
4
260
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
160
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
RailsConf 2023
tenderlove
30
1.4k
How GitHub (no longer) Works
holman
316
150k
Paper Plane (Part 1)
katiecoart
PRO
0
5.7k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
Skip the Path - Find Your Career Trail
mkilby
1
80
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
How to Ace a Technical Interview
jacobian
281
24k
ラッコキーワード サービス紹介資料
rakko
1
2.7M
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
150
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