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
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
Search
Takashi Suzuki
January 25, 2020
Technology
0
29
タクシー×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
99
Kubernetes超入門
t24kc
0
110
AI予約サービスのMLOps事例紹介
t24kc
0
23
MLプロジェクトのリリースフローを考える
t24kc
0
13
GOの機械学習システムを支えるMLOps事例紹介
t24kc
0
62
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
t24kc
0
27
GOの実験環境について
t24kc
0
17
MOVの機械学習システムを支えるMLOps実践
t24kc
0
18
MOV お客さま探索ナビの GCP ML開発フローについて
t24kc
0
12
Other Decks in Technology
See All in Technology
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
9
2.2k
Potential EM 制度を始めた理由、そして2年後にやめた理由 - EMConf JP 2025
hoyo
2
2.7k
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
740
OPENLOGI Company Profile for engineer
hr01
1
20k
遷移の高速化 ヤフートップの試行錯誤
narirou
6
1.4k
Two Blades, One Journey: Engineering While Managing
ohbarye
4
2.1k
システム・ML活用を広げるdbtのデータモデリング / Expanding System & ML Use with dbt Modeling
i125
1
330
Change Managerを活用して本番環境へのセキュアなGUIアクセスを統制する / Control Secure GUI Access to the Production Environment with Change Manager
yuj1osm
0
100
EMConf JP 2025 懇親会LT / EMConf JP 2025 social gathering
sugamasao
2
200
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
19k
脳波を用いた嗜好マッチングシステム
hokkey621
0
290
IAMポリシーのAllow/Denyについて、改めて理解する
smt7174
2
210
Featured
See All Featured
The Cult of Friendly URLs
andyhume
78
6.2k
Automating Front-end Workflow
addyosmani
1368
200k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
A Modern Web Designer's Workflow
chriscoyier
693
190k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Building an army of robots
kneath
303
45k
Bash Introduction
62gerente
611
210k
A better future with KSS
kneath
238
17k
Embracing the Ebb and Flow
colly
84
4.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
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 検索