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
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
Search
GO Inc. dev
November 12, 2024
Programming
6
2.5k
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
2024年11月12日「トヨタ、GO、Luupに聞く大規模データの分析基盤と利活用」での発表資料です。
https://findy-tools.connpass.com/event/335605/
GO Inc. dev
November 12, 2024
Tweet
Share
More Decks by GO Inc. dev
See All by GO Inc. dev
App Store Connect APIで 作業時間を増やそう
mot_techtalk
4
420
Streamlitで結合テスト工数の削減に成功した話
mot_techtalk
8
2.8k
Streamlit ホスティング基盤をどのように作ったか
mot_techtalk
4
1.3k
Streamlit ホスティング基盤をスケールさせる
mot_techtalk
4
810
実践 Advanced CallKit 〜快適な通話の実現に向けて〜
mot_techtalk
4
590
将来の機能拡張を見据えたMetricKitの実装
mot_techtalk
0
490
タクシーアプリ『GO』でのApple Pay導入
mot_techtalk
0
600
Remote notification tricks with Notification Service Extension
mot_techtalk
0
540
タクシーアプリ『GO』におけるプラットフォームエンジニアリングの実践
mot_techtalk
16
13k
Other Decks in Programming
See All in Programming
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
420
VisionProで部屋の明るさを反映させるシェーダーを作った話
segur
0
100
.NETでOBS Studio操作してみたけど…… / Operating OBS Studio by .NET
skasweb
0
120
QA環境で誰でも自由自在に現在時刻を操って検証できるようにした話
kalibora
1
140
return文におけるstd::moveについて
onihusube
1
1.4k
PicoRubyと暮らす、シェアハウスハック
ryosk7
0
210
ISUCON14感想戦で85万点まで頑張ってみた
ponyo877
1
590
月刊 競技プログラミングをお仕事に役立てるには
terryu16
1
1.2k
サーバーゆる勉強会 DBMS の仕組み編
kj455
1
300
EC2からECSへ 念願のコンテナ移行と巨大レガシーPHPアプリケーションの再構築
sumiyae
3
590
情報漏洩させないための設計
kubotak
5
1.3k
Androidアプリの One Experience リリース
nein37
0
1.2k
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
How STYLIGHT went responsive
nonsquared
96
5.3k
Practical Orchestrator
shlominoach
186
10k
For a Future-Friendly Web
brad_frost
176
9.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.5k
The Pragmatic Product Professional
lauravandoore
32
6.4k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
113
50k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.4k
Building Applications with DynamoDB
mza
93
6.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
Transcript
© GO Inc. タクシーアプリ『GO』の リアルタイムデータ分析基盤における 機械学習サービスの活用 1 2024.11.12 GO株式会社 鈴木
隆史
© GO Inc. 鈴木 隆史 | Takashi Suzuki 開発本部 AI技術開発部
データプラットフォームグループ • 前職ではデータ基盤、ML基盤の開発に従事 • 現在は複数の機械学習サービスのアプリケーションやパイプライ ンの設計開発を担当 2 自己紹介
© GO Inc. 3 タクシーアプリ 『GO』 乗る位置を指定 到着まで待つ 乗る! 支払いはキャッシュレスで
素早く降車 ※アプリ上での決済の他、 車内での現金決済にも対応
© GO Inc. 4 タクシーアプリ 『GO』におけるAIサービスの活用例 配車マッチング ETA(到着時間予測) マップマッチング 需給予測
経路最適化 強化学習、逆強化学習 隠れマルコフモデル カルマンフィルタ 時系列予測 統計モデリング 分位点回帰, 最短経路探索 最小重みマッチング
© GO Inc. 5 • タクシーアプリ『GO』は、時間帯や天候によって大きくトラフィックが変動する • そのため、タクシーアプリ『GO』の機械学習基盤では、タクシー供給量(どこに何台タクシーがいる のか)とユーザー需要量(どこに何人ユーザーが待っているのか)を リアルタイムに把握すること
で、適切なタクシー配置やAIサービスへの反映が可能になる ◦ 例えば、需要変動へ迅速に配置することによる混雑エリアへの供給担保や、需供変動を適切にタク シー待ち時間へ反映することによるユーザー満足度向上、などが挙げられる リアルタイムデータの重要性
© GO Inc. データパイプラインごとの役割の概要 6 データソース データパイプライン (データ鮮度) BigQuery データマート
データ活用 AIサービス1 バッチ処理 ストリーミング処 理 加工パイプライン 生データ ユーザーアプリログ タクシー動態ログ 地図 天気・電車遅延 (数時間〜数ヶ月おきの反映 ) (5分以内の反映 ) API処理 マイクロサービス (リアルタイム反映 ) Feature Store タクシー供給量 ユーザー需要量 AIサービス2 AIサービス3 サービスDB 一般的なBigQuery基盤の ストリーミング処理では、最 大5分程度の遅延が発生 するため、リアルタイムの データ処理は難しい課題 があった リアルタイムデータを扱う Feature Store基盤を構築 することで、AIサービスの 精度向上に寄与できる
© GO Inc. • リアルタイムデータの収集・管理 ◦ 他のマイクロサービスから、タクシーの供給量(どこに何台いるか)、ユーザーの需要量(どこに何人 待っているか)のリアルタイムデータを継続的に収集し、 Feature Storeに蓄積する
• 機械学習モデルへのリアルタイムなフィード ◦ 機械学習モデルが必要とする最新の特徴量として、リアルタイムな予測や意思決定をサポート ◦ 最新データを利用できることで、機械学習モデルの精度向上に寄与できる • 過去データとの連携 ◦ 最新データだけでなく、過去 N分間のデータを保持しているため、直近のトレンドや変化を踏まえた推論 が可能となる 7 リアルタイムデータを収集するFeature Store基盤の役割
© GO Inc. 8 Feature Store基盤のアーキテクチャー 参考:タクシーアプリ『GO』の機械学習基盤のアーキテクチャ
© GO Inc. アーキテクチャポイント • Feature Store基盤のDBにはRedis Clusterを採用 ◦ 大量のリアルタイムデータの読み書きを高速に行えるようにする
◦ データ増加やアクセス頻度の上昇に対してもスケーラブルに対応可能 • 全てのAIサービスからのアクセスを統一化 ◦ 各モデルから統一的な I/Fでデータを取得できる ◦ データの重複を防ぎ、効率的なデータ運用が可能となる 課題と今後の展望 • 複数のサービスが共通のRedisを参照しているため、単一障害点となっている ◦ この課題を解決するためにフォールバック処理を加えることで、他のサービスへの影響を最小限に抑え る予定 9 アーキテクチャ選定のポイントと今後の展望
© GO Inc. 10 リアルタイムデータの重要性 • タクシーアプリ『GO』では、時間帯や天候の変化によりタクシーの需要と供給が大きく変動するた め、リアルタイムにタクシー供給量とユーザー需要量を把握することが重要 リアルタイムデータを蓄積するための Feature
Store基盤 • 通常のBigQuery基盤によるストリーミング処理では 5分程度の遅延が発生するため、リアルタイム 処理には限界がある • マイクロサービスからリアルタイムデータを継続的に収集できるように、 Feature Store基盤を Redisで構築した • 直近のリアルタイムデータに基づいて、機械学習モデルの推論の精度向上を図っている まとめ