Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
Search
Takashi Suzuki
January 25, 2020
Technology
0
44
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
2020/01に行われたSRE Nextの登壇資料
https://sre-next.dev/2020/schedule#b1
Takashi Suzuki
January 25, 2020
Tweet
Share
More Decks by Takashi Suzuki
See All by Takashi Suzuki
到着予想時間サービスの特徴量のニアリアルタイム化
t24kc
0
170
Kubernetes超入門
t24kc
0
150
AI予約サービスのMLOps事例紹介
t24kc
0
28
MLプロジェクトのリリースフローを考える
t24kc
0
19
GOの機械学習システムを支えるMLOps事例紹介
t24kc
0
130
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
t24kc
0
40
GOの実験環境について
t24kc
0
23
MOVの機械学習システムを支えるMLOps実践
t24kc
0
26
MOV お客さま探索ナビの GCP ML開発フローについて
t24kc
0
20
Other Decks in Technology
See All in Technology
事業の財務責任に向き合うリクルートデータプラットフォームのFinOps
recruitengineers
PRO
2
170
シニアソフトウェアエンジニアになるためには
kworkdev
PRO
3
220
AIBuildersDay_track_A_iidaxs
iidaxs
4
970
20251218_AIを活用した開発生産性向上の全社的な取り組みの進め方について / How to proceed with company-wide initiatives to improve development productivity using AI
yayoi_dd
0
590
[Data & AI Summit '25 Fall] AIでデータ活用を進化させる!Google Cloudで作るデータ活用の未来
kirimaru
0
180
意外と知らない状態遷移テストの世界
nihonbuson
PRO
1
160
普段使ってるClaude Skillsの紹介(by Notebooklm)
zerebom
7
1.9k
MLflowダイエット大作戦
lycorptech_jp
PRO
1
160
Identity Management for Agentic AI 解説
fujie
0
340
Strands AgentsとNova 2 SonicでS2Sを実践してみた
yama3133
1
1.5k
2025-12-18_AI駆動開発推進プロジェクト運営について / AIDD-Promotion project management
yayoi_dd
0
150
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
1
740
Featured
See All Featured
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
24
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
31
Faster Mobile Websites
deanohume
310
31k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
120
The Mindset for Success: Future Career Progression
greggifford
PRO
0
190
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Thoughts on Productivity
jonyablonski
73
5k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
34
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
60
37k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
29
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Transcript
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. Copyright (C)
2018 DeNA Co.,Ltd. All Rights Reserved. タクシーxAIを支える KubernetesとAIデータパイプラインの 信頼性の取り組みについて Jan 25, 2020 Atsushi Morimoto, Takashi Suzuki DeNA Co., Ltd. 1
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. Contents ▪
MOVお客様探索ナビの紹介 ▪ プロダクトとその開発体制 ▪ ML基盤のエンジニアリング ▪ ドメインアルゴリズムを支えるエンジニアリング 2
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. 3
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. MOVお客様探索ナビ ▪
MOVIE 4
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. プロダクトの課題設定 オンデマンド交通の
タクシーの乗務員不足 タクシー乗務員は歩合給 お客様を拾える能力に依存 ↓ 需要を予測して最適な「営業経路」を提案 収益構造を改善 仕事としても魅力的な交通にする 5
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. アーキテクチャー 6
走行軌跡 乗車ポイント タクシー 需要・供給 実績データ 動態データプロセッシング ワークフロー MLワークフロー API 統計・予測 特徴量 最適探客経路推薦 アルゴリズム 走行コスト 道路 ネットワーク 道路規制・特徴 抽出アルゴリズム 経路案内 アプリ
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. MLワークフロー 開発メンバー
7 走行軌跡 乗車ポイント タクシー 需要・供給 実績データ 動態データプロセッシング ワークフロー MLワークフロー API 統計・予測 特徴量 最適探客経路推薦 アルゴリズム 走行コスト 道路 ネットワーク 道路規制・特徴 抽出アルゴリズム DS MLEG ドメインアルゴリズム スペシャリスト ドメインアルゴリズム エンジニア 経路案内 アプリ アプリエンジニア ML担当範囲 オートモーティブドメイン担当範囲
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. 開発フロー 8
タクシー流し営業 需要供給シミュレーション MLモデル 最適探客経路推薦 アルゴリズム タクシー需要・供給 実績データ タクシー事業者と協力して 実証実験 シミュレーション上の 売上 実営業の売上 道路規制・特徴 抽出アルゴリズム
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ML基盤のエンジニアリング 9
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. 信頼性におけるMLエンジニアの目指すところ ▪
複数モデル・パラメータの実験における再現性の担保 ▪ DSメンバーが冪等性や依存関係を意識することない高速なジョブ実行 ▪ デプロイ前の動作・検証・評価テストの実施 ML基盤のエンジニアリング 10
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. 実験の再現性担保における課題 実験パラメータの管理
▪ 複数モデル・複数ハイパーパラメータの管理が複雑化していた 学習データの一貫性 ▪ 予測モデルの実験時にBQを利用している ▪ BQの元データが都度更新されるため、実験の再現性が担保できていなかった ▪ 単純にBQに対してappend tableするとrerun時にデータ重複が発生する 11
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. 実験パラメータの管理の解決策について comet.mlの利用
▪ 豊富な可視化、実験比較、コード管理 12
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. 学習データの一貫性の解決策について Merge
Queryの利用 ▪ Mergeステートメントを使用することで、既存のレコードには重複・影響なく新規レコード を生成することが可能 13
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. 実験の冪等性や依存関係の課題 実験環境での依存関係
▪ 本番環境ではAirflowやKubeflowなどのワークフローエンジンで決まり ▪ とはいえ、実験環境のような細かいパラメータ調整や素早いイテレーションサイクルが 必要な場合だとワークフローシステムは仰々しい ▪ しかしメンバーには冪等性や依存関係を意識することなくジョブを実行してほしい ▪ ワークフローと同様に依存関係がないジョブは並列で実行してほしい 14
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. 実験の冪等性や依存関係の解決策について 実験用に最適化したカスタムランナー
▪ タスクランナーInvokeを利用して実験環境の依存ジョブを定義 ▪ 並列処理はconcurrent.featuresモジュールでカスタマイズ ▪ パラメータはyamlファイルで定義 ▪ 処理が重い箇所はAI Platform Training JobやGKEに外出しして軽量化 15
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. 評価・テストの課題 実験時のテストについて(主にコストな意味合い)
▪ 複数の実験に対して、都度人力で動作・検証チェックを実施していると毎回工数がか かってしまう ▪ 機械的に動作・検証テストを実施できるようにしたい 本番時のテストについて(主に性能な意味合い) ▪ 不良モデルが本番デプロイされるのは困る ▪ リリースモデルに関しては精度担保できるように評価判定がしたい 16
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. 実験時のテストについて ▪
CircleCI + pytestを利用 ▪ branchにpushされたタイミングで、pytestの動作・検証テストを発火 ▪ 統計値からのズレが多い場合に失敗 実験時の評価・テストの解決策について 17
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. 本番時の評価・テストの解決策について 18
本番時のテストについて ▪ Airflow内で各ジョブの連携テストと、Predictionデータの評価を実施 ▪ Prediction評価には統計値と比較して劣っていた場合には失敗 ▪ シミュレーションでの営収評価を実施し、評価が良いもののみデプロイ
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. MLエンジニアのまとめ 1.
実験の再現性の担保の課題 - パラメータ管理と、元データの一貫性の担保 2. 実験における依存関係の課題 - 実験用のカスタムランナー 3. 動作・検証・評価テストの課題 - CIによるテストと、ワークフロー・シミュレーションでのテスト 19
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ドメインアルゴリズムを支えるのエンジニアリング 20
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ドメインアルゴリズムを支えるエンジニアリング アプリチームの目指すところ
▪ DS、ドメインアルゴリズムスペシャリストの取組を 品質を損なわずアプリ化すること ▪ コア課題”ではない”ビジネス要件の吸収 ▪ 安全なアプリであること 戦っているもの ▪ データ、アルゴリズム、アプリ、ビジネス要件の複雑なバージョン管理 (さらに複数パターン同時にリリースできること) ▪ 安全に関わる要因 21
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. 複雑なバージョン管理 データ
▪ 道路ネットワーク ▪ 日付・時刻ごと統計特徴量 5種 ▪ 〃 予測特徴量 2種 ▪ 〃 道路規制・走行コスト 7種 ビジネス要件 ▪ タクシー営業エリア ▪ お客様探索ナビ営業エリア ロジック ▪ 最適探客経路推薦アルゴリズム ▪ アルゴリズムパラメータ 22
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. 複雑なバージョン管理で発生した問題 シミュレーション
▪ 予測と異なる結果を説明できない 実証実験 ▪ お客さんにが居るはずのない自動車専用道に向かう ▪ 通行禁止の道路を案内(乗務員さんの判断で通らず) ▪ シミュレーションで出たことのないルート案内が発生する ▪ 実証実験の結果を評価が難しい 23
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. Kubernetes+Git Ops
▪ データのバージョン、ビジネス要件を 全て1つのバージョン定義YAMLに集中してGit管理 ▪ GitからKubernetesマニフェストとして一気にリリースする 24 API 最適探客経路推薦 アルゴリズム バージョン定義YAML • 道路ネットワーク:v2.1812 • 統計需要:Latest • 予測需要:Latest • オリジナル規制データ ◦ パターンA:v3.1812 ◦ パターンB:v2.1812 • 走行コスト特徴量 ◦ 抽出クエリA:v1 ◦ 抽出クエリB:v2 • 営業エリア Git Submodule APIコンテナ Git Revision Kubernetes マニフェスト Git Revision ConfigMap バージョンYAML 道路ネットワーク 規制・特徴抽出 アルゴリズム 更新時には 必ずVersion変更
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. バージョン定義の差分管理 25
ベースバージョン • 道路ネットワーク:v2.1812 • 統計需要:Latest • 予測需要:Latest • オリジナル規制データ ◦ パターンA:v3.1812 ◦ パターンB:v2.1812 • 走行コスト特徴量 ◦ 抽出クエリA:v1 ◦ 抽出クエリB:v2 〇〇市実証実験差分 • 道路ネットワーク:v3.1812 • オリジナル規制データ ◦ パターンA:v4.1812 ◦ パターンB:v3.1812 • 営業エリア サービス中地域差分 • 道路ネットワーク:v2.1812 • オリジナル規制データ ◦ パターンA:v3.1812 ◦ パターンB:v2.1812 • 営業エリア + + = =
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. 再現ツールの拡充 最適探客経路推薦アルゴリズム実行に必要なデータを、
中間データを含めて全てバックアップをとり、再現可能にする。 26 最適探客経路推薦 アルゴリズム 全データ 時刻・地理 近傍データ バックアップ
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. 安全に関わる要因 ▪
直前でのバリデーション ⁃ データの異常値 ⁃ アルゴリズムの推薦経路の異常値 ▪ 判断の難しい道路の推定(高速、私有地、埠頭) → 無理に経路案内を行わず、走行中を配慮したメッセージで指示する 27 API 最適探客経路推薦 アルゴリズム 経路案内 アプリ みちなりに走行してください
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. 信頼性評価(策定中) ▪
評価を大きく2つに分ける ⁃ 機能要因 ⁃ データ、モデル、アルゴリズムによる提供価値の品質要因 ▪ 2つをかけ合わせたものを、SLOの指標とする 28
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ドメインアルゴリズムを支えるエンジニアリング 1.
バージョン管理の課題 → GitOps、環境間差分管理 2. 安全性→ ユーザに返す前にバリデーションをかけ、 安全性に考慮したエラーメッセージを出す 3. 信頼性評価は、「機能要因」「品質要因」を分ける 29
DeNA TechCon 2020 2020/03/04 Wed@渋谷ヒカリエ TechCon2020 検索