Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AIをプロダクトに実装するならAPIで分離しよう 〜タクシーアプリ『GO』のアーキテクチャ実例紹介〜

AIをプロダクトに実装するならAPIで分離しよう 〜タクシーアプリ『GO』のアーキテクチャ実例紹介〜

Postman API Night Tokyo 2025 Winter
https://postman.connpass.com/event/338064/

タクシーアプリ『GO』ではAI(ここではデータを使ったアルゴリズム実装を指す)を、多数本番サービスに投入しています。サービスにAIを導入する際には、ユーザアプリ向けバックエンドAPIのさらに背後でマイクロサービスとして実装されています。AIの本番導入で必要とされるアーキテクチャの考え方や、「毎回利用する特徴量が変わり、デバッグでの再現難しい」「異常値混入にシステムが弱い」などの課題への取り組みなどを解説します。

技術書典マーケットにてアーキテクチャー図録の技術同人誌の無料PDFを配布中
第1弾:
https://techbookfest.org/product/5873782252109824
第2弾:
https://techbookfest.org/product/upUucBBzMTdGj6dSMEKb6T

74th(Atsushi Morimoto)

February 03, 2025
Tweet

More Decks by 74th(Atsushi Morimoto)

Other Decks in Technology

Transcript

  1. © GO Inc. • タクシーアプリ『GO』とそ 周辺サービスで、 複数 AI機能を本番導入させています ◦ 「AI

    = データ中心 アルゴリズムを使った機能」と定義します • AI機能 マイクロサービスとしてAPIで構成しており、 AI機能特有 アーキテクチャについて、2つ 事例を例に説明します 今回 お話
  2. © GO Inc. 3 GO株式会社 AI技術開発部 データプラットフォームグループ @74th 執筆 ・改訂新版Visual

    Studio Code実践ガイド(技術評論社) ・技術書典3~17サークル参加、新刊継続中 ・GO Inc. 有志メンバーでも技術書典参加中 普段 お仕事 ・AI組込プロダクト 開発・運用 Atsushi Morimoto (@74th) 自己紹介
  3. © GO Inc. より「早く乗れる」体験に加え、ニーズに応じた豊富なオプションサービスを提供 6 タクシーアプリ『 GO』と ? GO優良乗務員 ※サービスによって提供エリア・提供条件が異なります

    空気清浄機搭載 JPN TAXI AI予約 こだわり条件 空港定額 『GO PREMIUM』 複数台配車 アプリ り も続々開設中 2021年12月 福岡空港
 2022年4月 ららぽーと福岡
 2022年7月 羽田空港
 2022年9月 松山空港
 2023年11月 麻布台ヒルズ
 2023年12月 セントレア
 2024年1月 成田空港
 2024年6月 関西国際空港
 2024年7月 旭川空港

  4. © GO Inc. 7 紹介するアーキテクチャ 経路推薦API 事前処理・定期バッチ 需要予測 アルゴリズム 特徴量

    入力 経路推薦 アルゴリズム 共有ステート 出力 リアルタイム情報入力 リクエスト 受付API 短周期バッチ サービス リクエスト 出力 溜め込む ① 事前計算とリアルタイム処理 ② 溜め込んで短周期マイクロバッチ コアアルゴリズムAPI 配車マッチング アルゴリズム ※アイコン素材:OpenMoji https://openmoji.org/
  5. © GO Inc. 9 • タクシー 乗車地点を分析し、需要を予測 • ナビ ルート案内

    形で、タクシー お客さん いる場所へ導く サービス1: タクシー乗務員向け需要予測 予測需要可視化例 注: 図 例示 ため、実データで ありません
  6. © GO Inc. ・道路情報 ・乗車実績 ・走行実績 ・車両位置 ・他 車両へ 推薦ルート

    10 AIアルゴリズムを動かす アルゴリズム 入力 ・道路グラフ ・交通規制 ・車線数など 出力 ・今後5分間 走行ルート
  7. © GO Inc. 11 実際 複数 アルゴリズムから構成される 需要予測 アルゴリズム 入力

    出力 経路推薦 アルゴリズム 都内全域でまとめて計算 車両周辺に絞って計算 ・道路情報 ・乗車実績 ・走行実績 ・車両位置 ・他 車両へ 推薦ルート ・道路グラフ ・交通規制 ・車線数など ・今後5分間 走行ルート ・道路単位  走行価値
  8. © GO Inc. 経路推薦API 経路推薦API 事前処理・定期バッチ 12 アルゴリズムをバッチとAPIとして構成 需要予測 アルゴリズム

    特徴量 入力 経路推薦 アルゴリズム 経路推薦 アルゴリズム 共有ステート ルート 案内 リアルタイム 情報入力 ルート 案内
  9. © GO Inc. 配車サービスAPI 配車サービスAPI 経路推薦API 経路推薦API 13 メイン 配車サービスAPI内に構築せず、

    経路推薦API機能 みをマイクロサービスとして分割して構築した。 サービスとして分かれていることで、ワークロード 特性に応じてスケール 設定ができる。 今回AIサービス API 分離 配車サービスAPI 経路推薦API ・処理コスト 多く  DB処理と、他サービス連携 ・ほぼ計算(CPU)処理 ・メモリも多く必要
  10. © GO Inc. 14 • 定性・定量 両面で評価を実施。期待と異なるルート 傾向が見られた。 ◦ 右左折が多い、需要

    なさそうなエリアに向かっているなど ◦ 多く 、需要予測時 データを見れ 良いが、それだけで 分からないことも • こ 瞬間にしかないデータ(API間共有ステートや、車両位置)もあり、 ルート案内 形で出力された後に、再現したアルゴリズム 検証が難しい 起こったトラブル:再現が難しい 経路推薦API 経路推薦 アルゴリズム 車両位置 需要予測 道路情報 共有ステート ルート案内
  11. © GO Inc. 15 • アルゴリズム コア 計算処理 ステートレスモジュール化 •

    インプットにもちいるデータを、APIリクエスト毎にバックアップ • 異常経路が検出されたら、バックアップを使ってローカル上で検証し、 どこから問題が混入したか追う 対策: ステートレス関数化して、引数バックアップ 経路推薦API 経路推薦 アルゴリズム 車両位置 需要予測 道路情報 共有ステート ルート案内
  12. © GO Inc. 16 • タクシー 運行を模擬するシミュレータを作成 ◦ パラメータチューニングや、更新されるモデル 監視を、シミュレータで評価する

    • A/Bテスト ◦ シミュレーションできる範囲に 限界があり、 実環境でA/Bテストでチューニングする ◦ そ 際、事前にシミュレータで 実施した上で、 大きく毀損しない事 確認してから進める アルゴリズム 改善 どうやってた?
  13. © GO Inc. 短周期バッチサービス 20 • コアアルゴリズムと、永続化・バッチ起動 役割を分割し、 コアアルゴリズムをステートレス化 •

    数秒周期 バッチ起動など、リアルタイム処理が要求される処理 Go言語で実装 バッチサービスをさらにマイクロサービスを分けた ステートレスAPI コアアルゴリズム リクエスト 受付API gRPC DB 短周期バッチ サービス ・ステート管理 ・「エリアx一定周期」    バッチ起動 ・マッチング  アルゴリズム演算
  14. © GO Inc. ステートレスAPI ステートレスAPI 21 • 正確に「一定短周期 x エリア」で

    「重複なく」起動するバッチ管理システムが欲しい • 配車サービス コア機能となるため、高可用性が求められた 課題: バッチ管理システム 単一障害点になりやすい ステートレスAPI 短周期バッチ サービス DB ここも可用性を担保したい コアアルゴリズム
  15. © GO Inc. • Redis 単一障害点だが、Redisであれ 、 利用するクラウドサービスプロバイダによって 高可用性オプションが提供されたり、 アプリケーションで

    なくインフラ レイヤーで可用性を 高められる。 • 各ワーカープロセス内にタスク管理ルーチンがいること で1つ プロセス いつでも終了できるようになったた め、 ローリングアップデートできて、リリースが手軽に。 なぜこ ような複雑なも になり、何が良くなったか
  16. © GO Inc. 26 紹介したアーキテクチャ 経路推薦API 事前処理・定期バッチ 需要予測 アルゴリズム 特徴量

    入力 経路推薦 アルゴリズム 出力 リアルタイム情報入力 リクエスト 受付API 短周期バッチ サービス リクエスト 出力 溜め込む ① 事前計算とリアルタイム処理 ② 溜め込んで短周期マイクロバッチ • APIを中心としたAIプロダクト アーキテクチャ事例を 2つ紹介 • 再現性を確保するため、コア アルゴリズム ステートレス化がポイント コアアルゴリズム API 全体最適化 アルゴリズム
  17. © GO Inc. 27 • 様々なプロダクト アーキテクチャーを図録 形で解説 • 今回

    システム より詳しい部分や アルゴリズム 中身 部分 アーキテクチャも • 技術書典マーケットにて無料PDFを配布中 第1弾: https://techbookfest.org/product/5873782252109 824 第2弾: https://techbookfest.org/product/upUucBBzMTdG j6dSMEKb6T • エンジニア積極採用中! 様々なアーキテクチャー 会社 同人誌に