Slide 1

Slide 1 text

© GO Inc. タクシーアプリ『GO』の リアルタイムデータ分析基盤における 機械学習サービスの活用 1 2024.11.12 GO株式会社 鈴木 隆史

Slide 2

Slide 2 text

© GO Inc. 鈴木 隆史 | Takashi Suzuki 開発本部 AI技術開発部 データプラットフォームグループ ● 前職ではデータ基盤、ML基盤の開発に従事 ● 現在は複数の機械学習サービスのアプリケーションやパイプライ ンの設計開発を担当 2 自己紹介

Slide 3

Slide 3 text

© GO Inc. 3 タクシーアプリ 『GO』 乗る位置を指定 到着まで待つ 乗る! 支払いはキャッシュレスで 素早く降車 ※アプリ上での決済の他、  車内での現金決済にも対応

Slide 4

Slide 4 text

© GO Inc. 4 タクシーアプリ 『GO』におけるAIサービスの活用例 配車マッチング ETA(到着時間予測) マップマッチング 需給予測 経路最適化 強化学習、逆強化学習 隠れマルコフモデル カルマンフィルタ 時系列予測 統計モデリング 分位点回帰, 最短経路探索 最小重みマッチング

Slide 5

Slide 5 text

© GO Inc. 5 ● タクシーアプリ『GO』は、時間帯や天候によって大きくトラフィックが変動する ● そのため、タクシーアプリ『GO』の機械学習基盤では、タクシー供給量(どこに何台タクシーがいる のか)とユーザー需要量(どこに何人ユーザーが待っているのか)を リアルタイムに把握すること で、適切なタクシー配置やAIサービスへの反映が可能になる ○ 例えば、需要変動へ迅速に配置することによる混雑エリアへの供給担保や、需供変動を適切にタク シー待ち時間へ反映することによるユーザー満足度向上、などが挙げられる リアルタイムデータの重要性

Slide 6

Slide 6 text

© GO Inc. データパイプラインごとの役割の概要 6 データソース データパイプライン (データ鮮度) BigQuery データマート データ活用 AIサービス1 バッチ処理 ストリーミング処 理 加工パイプライン 生データ ユーザーアプリログ タクシー動態ログ 地図 天気・電車遅延 (数時間〜数ヶ月おきの反映 ) (5分以内の反映 ) API処理 マイクロサービス (リアルタイム反映 ) Feature Store タクシー供給量 ユーザー需要量 AIサービス2 AIサービス3 サービスDB 一般的なBigQuery基盤の ストリーミング処理では、最 大5分程度の遅延が発生 するため、リアルタイムの データ処理は難しい課題 があった リアルタイムデータを扱う Feature Store基盤を構築 することで、AIサービスの 精度向上に寄与できる

Slide 7

Slide 7 text

© GO Inc. ● リアルタイムデータの収集・管理 ○ 他のマイクロサービスから、タクシーの供給量(どこに何台いるか)、ユーザーの需要量(どこに何人 待っているか)のリアルタイムデータを継続的に収集し、 Feature Storeに蓄積する ● 機械学習モデルへのリアルタイムなフィード ○ 機械学習モデルが必要とする最新の特徴量として、リアルタイムな予測や意思決定をサポート ○ 最新データを利用できることで、機械学習モデルの精度向上に寄与できる ● 過去データとの連携 ○ 最新データだけでなく、過去 N分間のデータを保持しているため、直近のトレンドや変化を踏まえた推論 が可能となる 7 リアルタイムデータを収集するFeature Store基盤の役割

Slide 8

Slide 8 text

© GO Inc. 8 Feature Store基盤のアーキテクチャー 参考:タクシーアプリ『GO』の機械学習基盤のアーキテクチャ

Slide 9

Slide 9 text

© GO Inc. アーキテクチャポイント ● Feature Store基盤のDBにはRedis Clusterを採用 ○ 大量のリアルタイムデータの読み書きを高速に行えるようにする ○ データ増加やアクセス頻度の上昇に対してもスケーラブルに対応可能 ● 全てのAIサービスからのアクセスを統一化 ○ 各モデルから統一的な I/Fでデータを取得できる ○ データの重複を防ぎ、効率的なデータ運用が可能となる 課題と今後の展望 ● 複数のサービスが共通のRedisを参照しているため、単一障害点となっている ○ この課題を解決するためにフォールバック処理を加えることで、他のサービスへの影響を最小限に抑え る予定 9 アーキテクチャ選定のポイントと今後の展望

Slide 10

Slide 10 text

© GO Inc. 10 リアルタイムデータの重要性 ● タクシーアプリ『GO』では、時間帯や天候の変化によりタクシーの需要と供給が大きく変動するた め、リアルタイムにタクシー供給量とユーザー需要量を把握することが重要 リアルタイムデータを蓄積するための Feature Store基盤 ● 通常のBigQuery基盤によるストリーミング処理では 5分程度の遅延が発生するため、リアルタイム 処理には限界がある ● マイクロサービスからリアルタイムデータを継続的に収集できるように、 Feature Store基盤を Redisで構築した ● 直近のリアルタイムデータに基づいて、機械学習モデルの推論の精度向上を図っている まとめ