コンテンツに移動
AI & 機械学習

Vertex AI 上の TensorFlow による Waze 広告配信の最適化

2021年10月1日
https://storage.googleapis.com/gweb-cloudblog-publish/images/automotive.max-2600x2600.jpg
Google Cloud Japan Team

※この投稿は米国時間 2021 年 9 月 18 日に、Google Cloud blog に投稿されたものの抄訳です。

Waze Ads

Waze は世界最大のコミュニティ主導型交通情報およびナビゲーション アプリで、その機能の一部として、広告主は Waze マップに自社を表示させることができます。これにより、ユーザーの移動中に Waze で広告がタイムリーに表示されます。Waze の広告は、ユーザーの画面上に企業の位置を表示すること、ブランド認知度を構築すること、周辺のユーザーにタイムリーにリーチすることを目標としています。

Waze は複数の広告フォーマットを使用しており、その代表的なものが「ピン」と呼ばれます。ピンは、店の看板のようにユーザーの移動経路上またはその付近に企業があることを知らせます。

https://storage.googleapis.com/gweb-cloudblog-publish/original_images/waze_ads.gif

Waze での広告配信

Waze Ads は純広告プラットフォームです。広告表示の固定数を事前に約束し、実際の運転に基づき期待される広告の掲載を実現しようとするものです。重要なのは、Waze は広告対象企業から特定の範囲内にいる近隣ユーザーにのみ広告を表示する点です。そのため、Google の広告枠はトラフィック パターン、つまり、ユーザーが Waze を使用していつどこを運転しているかに大きく左右されます。広告キャンペーンが設定されると適切な時間と場所が選択され、広告主へのコミットメントに応じて広告が掲載されます。また、トラフィック パターンやキャンペーンの設定に基づいて販売可能な広告枠数を予測するプランニング ツールも用意されていますが、これについては別のブログの投稿に譲りましょう。

ロックされリリースされた広告キャンペーンに従った「Waze 広告の流れ」は次のようになります。

https://storage.googleapis.com/gweb-cloudblog-publish/images/waze_ad_serving.max-2000x2000.jpg
  1. モバイル クライアントはサーバーに接続し、「表示するピンをリクエスト」[バッテリー節約のために数分おき。これは、次のステップのために重要です]

  2. 広告サーバーはリクエストを受信して、ユーザーの場所に近接する企業の宣伝をするピンの候補リストをスキャン

  3. 広告サーバーは、距離などの内部ロジックに従ってすべての候補をランク付け(および記録)

  4. モバイル クライアントはランク付けされたリストを受信して、後で使用するために保存

  5. [その後の数分間] - 画面にマップが表示され、クライアント ロジックはピン広告を表示可能

  6. モバイル クライアントはランク付けされたリストをスキャンして、ユーザーの画面上のマップとズームレベルに適したピンの数を表示

  7. モバイル クライアントが適切に表示された広告を記録

ステップ 6 の問題がおわかりでしょうか?

Waze はナビゲーション アプリであるため、ユーザーは運転しているのです!

ユーザーの画面に表示されるマップは、目的地、速度、トラフィック パターンなどに応じて絶えず変化します。このような画面の変化と配置はナビゲーション中のユーザー エクスペリエンスを最大化するうえで重要です。

各ステップをファネル状に並べて広告数の減少を分析したところ、ユーザーからの距離で最適化(ステップ 2)されているものの、ステップ 6 で広告が失われていることが判明しました。さらに、表示するピンを探すモバイル クライアント(ステップ 6)の有効性は、モバイル クライアントに送信される広告(ステップ 3)から直接影響を受けます。広告のランキング(ステップ 3)の精度を上げることで追加のピン広告枠をシームレスにロック解除でき、Waze による広告の掲載のコミットメントを強化します。

では、これには一体何が含まれるのでしょうか?ユーザーの目的地を予測することでしょうか?数分後のユーザーの位置を予測することでしょうか?

失われた枠のロックを ML で解除

Google の CEO(Sundar Pichai)は以前に「機械学習は核となる斬新な方法で、これによってあらゆることの行動様式を再検討している」と語っています。

そして当然のことながら、この問題の解決にも機械学習(ML)を使用しました。

広告候補にランクを付ける際、ML 問題のランク付けの学習としてこの問題を簡単に形成して、モバイル クライアントに表示される広告の可能性を最大化できます。

正確な最適化の目標を検討することもできますが、最終的には、次の数分間にモバイル クライアントで使用されるリストを作成する際に、その時間枠内で期待される広告配信(適切なサイズの候補リストを条件とする)を実現することが重要となります。

表示の可能性の最大化

広告サーバーの記録された候補をモバイル クライアントの適切に表示された広告と一致させることにより、ラベル付けされたデータセットを作成できます。これは管理された学習に使用されます。

前述のように、適切な表示は、数分後(候補リストの受信後)のユーザーの画面に候補位置が含まれているかどうかに基づきます。これを最適化するためには、ユーザーの現在地、目的地、現在のルート(Waze の提案)、およびすべての候補ピンの位置を把握する必要があります。上記の情報は、管理されたモデルで使用する複数の特徴に変換されます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/max_display_probability.max-2000x2000.jpg

トレーニングされたモデルは、リアルタイムで表示されるピンの確率を割り当てます。これはランキングで考慮されます。注意すべきは、広告ランクに影響を与えるのはこれだけではないことです。表示する適切な広告を選択する際は複数の目標があります(ユーザー関連性など)。

このモデルを強化するため、TensorFlow を使用することにしました。その原動力は、数字(ほとんどは距離ベース)の特徴に対して複雑な特徴量エンジニアリングを実行するという必要性、そして 1 秒あたり数百万もの予測を行ってリアルタイム広告のユースケースを強化するという厳しい調整要件、エンドツーエンドのレイテンシを 70 ms 未満にするという要件に対応する必要性でした。

熱心な GCP ユーザーとして、Vertex AI スイートを使用してこの TF モデルをトレーニングおよびデプロイして、残りのデータスタックと簡単に統合しました。その結果、アーキテクチャは次のようになりました。

https://storage.googleapis.com/gweb-cloudblog-publish/images/gcp_architecture.max-1300x1300.jpg

関係する要因をフェーズごとに明確に記載した上の図(FCDS の考え方に基づく)のアーキテクチャを実現するまでに、数回の試行が必要だったことをお伝えしておくのは有益でしょう。最初にオフライン モデルを Vertex AI モデルにデプロイし、厳格な A/B テストを実施して、完全な商品化とこのフローの自動化の前に、価値を実証しました(Vertex Pipelines 上の TensorFlow Extended(TFX)を使用)。

結果

2020 年後半に、Vertex AI との統合を実施して、表示の確率モデルを強化しました。表示の確率スコアを広告ランクに取り込むことで、米国、ブラジル、フランスなどの大規模市場でのセッションあたりの表示ピン数が最大 19% 増加しました。1 日の広告トラフィックが変化する中で、Vertex AI はパフォーマンスのパラメータ内のレイテンシの予測を低減し、CPU ベースの自動スケーリングは追加リソースのスケーリングをスムーズにしました。

まとめ

ML を使用して候補広告の表示確率をランク付けすることで、セッションあたりに配信された予約済みインプレッションの数を増大させて、広告主へのコミットメントを達成することができました。

Waze でこの規模の ML を実行するにあたり、多くの複雑な問題に直面しました。しかし幸運なことに、Vertex AI のおかげで規模、レイテンシ、DevOps についてあまり心配する必要がなく、ランキングに集中できました。Waze でこれほどの規模の統合が行われたのは初めてであり、今回の統合は、広告、拡張テキスト広告のモデリング、運転の提案など、他の数多くのユースケースに道を拓くものとなりました。またこれにより Waze は、十分な根拠を持って Vertex AI での TFX の全面的な導入に踏み切ることができました。

 

 

-          Waze 社ソフトウェア エンジニア Stephen Csukas 氏

-          Waze 社 主任データ サイエンティスト Daniel Marcous 氏

投稿先