Moloco、Cloud Bigtable で毎秒 500 万件以上の広告リクエストに対応
Google Cloud Japan Team
※この投稿は米国時間 2022 年 4 月 15 日に、Google Cloud blog に投稿されたものの抄訳です。
編集者注: この記事では、機械学習企業である Moloco が、Google Cloud のデータベース サービスと AI Platform を使用して、モバイルアプリ広告主が ML ベースの予測を使用したターゲット広告キャンペーンを作成し、広告プレースメント入札をすべて 100 ミリ秒未満で獲得できるようにしている方法を紹介します。
Moloco は、現在はオンライン広告と e コマースに関するソリューションを必要とするお客様を対象とした機械学習企業です。ユーザー獲得、エンゲージメント、収益化を目的としたモバイル視聴者プラットフォームを運営しており、アプリ広告主が価値の高いモバイルアプリ ユーザーを大規模に獲得、再エンゲージ、維持できるよう支援しています。また、クライアントが迅速かつ効率的に目標を達成できるように、カスタム機械学習(ML)モデルを構築して、キャンペーンの最適化とパフォーマンスの予測をサポートしています。
スケーラブルかつフルマネージドな NoSQL データベースである Cloud Bigtable のおかげで、Moloco が処理できるモバイル ユーザーの入札リクエスト数は、1 秒あたり 55 万件以上から 500 万件以上へと劇的に増加しました。Bigtable やその他の統合された Google Cloud データ(Google Kubernetes Engine - GKE や Memorystore など)と機械学習サービスにより、お客様が広告キャンペーンの成果を最適化できるよう支援しています。
広告テクノロジー サービスのスマート化
Moloco は、プレースメントごとの広告インプレッションの確率を予測し、ML ベースの分析情報を用いて調整を推奨することで、お客様が最も効率的な広告キャンペーンを実施できるよう支援するビジネスを行っています。データを分析することで広告が表示されたときの効果を判断し、企業の広告プレースメントに関する、情報に基づく意思決定を支援します。これらの分析情報をもとに、入札処理エンジンを継続的にアップデートし、内部の推奨案を通じて、お客様の広告キャンペーンのパフォーマンスが向上し続けるよう取り組んでいます。当社の主力ソリューションは、クラウドベースのプログラマティック広告プラットフォーム「Moloco Cloud DSP」と、小売業者が販売者に広告ソリューションを提供できるソリューション「Moloco Retail Media」です。どちらも、Moloco Machine Learning Engine を使用してパフォーマンスを強化しています。
たとえば、あるアプリの広告主が、世界中の何十億という潜在的なユーザーに広告を表示できるように、キャンペーン実行の支援を当社に求めてきたとしましょう。当社は、モバイルアプリのユーザー、広告主、キャンペーンの成果、市場状況に関する独自の理解に基づいて、ビジネス目的に応じた広告スポットの購入戦略の立案と実行を支援します。この理解を深めるためには、モバイルアプリのエコシステム全体のデータソースから常に新しい情報を取り込み、組み合わせたデータに対して当社の機械学習モデルを使用して予測を向上させる必要があります。お客様の計測パートナー(MMP)から提供されるモバイルアプリのインプレッション、モバイルアプリのインストール、インストール後のイベントを収集し、さまざまな広告プレースメントから考えられる最も可能性の高い結果を把握して、価格を設定します。
市場のスピードに対応するために
Moloco がお客様に約束するデータ取り込みの規模、入札リクエストの量、継続的なモデルのトレーニングをサポートするためには、データ パイプラインと機械学習モデルが毎秒最高速度で動作する必要があります。ほとんどのアド エクスチェンジは、入札リクエストに 150 ミリ秒の時間制限を設けており、その時間内に入札レスポンスを返さなければ広告の機会を失うことになります。この時間枠には、エクスチェンジ自体や当社側からのネットワーク伝播レイテンシが含まれるため、社内でのデッドラインを 100 ミリ秒に設定しました。この 100 ミリ秒で、リクエストの処理、キャンペーンの並べ替え、推論用 ML モデルの適用によるリクエストに対するキャンペーンの評価、広告枠タイプと下限入札単価に基づく予測の調整、そして最終的には入札レスポンスが返されます。
もし、すべてのソリューションを自作しようとしたら、何年もかかっていたでしょう。私たちは、基本的なインフラストラクチャの整備に社内チームの時間を割くことなく最先端の技術を使い続けられる、信頼できるプラットフォーム パートナーが必要だと考えていました。Bigtable と追加の Google Cloud のコンピューティング、ストレージ、ネットワーキング サービスを選んだ理由は、これらが競争力を高めるために必要なスピードとスケールをサポートしており、機械学習トレーニングや推論フレームワークなど、当社のインテリジェントなエンドツーエンド広告テクノロジー サービスを部分的にサポートする他の Google サービスとシームレスに統合できるからです。
Google Cloud を利用して広告テクノロジー プラットフォームを構築したことで、処理できる入札リクエストの数が 1 秒あたり 55 万件から 500 万件以上に拡大し、開始当初の約 2 年前に比べ 9 倍以上になりました。
圧倒的なスピードとスケールで広告リクエストを処理
新着の入札リクエストはまず、Kubernetes クラスタ内の 3,000 以上の仮想マシン(VM)で構成されている Google Kubernetes Engine 上の当社のソフトウェアとサービスにヒットします。サニティ チェックとスロットル ルールにパスしたリクエストは、入札の成功または不成功の履歴を含む、ユーザーのコホートに対するキャンペーン履歴全体と照らし合わせて評価されます。このようなレコードが何十億件もあり、それらはすべて Bigtable と Memorystore に保存されています。そのようなレコードのための長期的な永続ストレージとして Bigtable を利用しています。Bigtable は、基盤となるデータがスパース(低密度)に格納されていて、かつ私たちのユースケースに完全に合致している場合と、低レイテンシでデータにアクセスする必要がある場合に威力を発揮します。当社のアプリケーションでは低レイテンシが不可欠であるため、Bigtable には SSD ストレージを使用しています。Bigtable でのワークロードは、日ごと、週ごとのパターンで変化しています。Bigtable のおかげで、信頼性の問題を引き起こすことなく、インスタンス サイズを可能な限り厳密にスケーリングできました。自動スケーリングにより、費用対効果が向上し、運用のオーバーヘッドも削減できました。全体として、Bigtable を利用することで、統合されたデータ ライフサイクルを通じてお客様により多くの価値を提供することが可能になりました。
このようなレコードは、リクエストの主なフィールドと組み合わされ、TensorFlow プラットフォームで設計された当社独自の機械学習モデルへの入力特徴として使用されます。これらのモデルは、落札確率(特定の価格で入札した場合)やコンバージョンの可能性など、さまざまな指標を予測します。入札リクエストは入札プロセスの複数の段階を経るため、詳細なログを保持します(例: ロードバランサ ログを BigQuery と GCS にエクスポートし、BigQuery のストリーミング挿入も使用する)。次に、統合された ML Ops プラットフォームである Vertex AI を使用して、新しいログで ML モデルをトレーニングします。
機械学習モデルは、TensorFlow によるリアルタイム推論用に別の VM でホストしており、入札マシンと推論マシンは gRPC とプロトコル バッファを介して通信します。また、受信した入札リクエストには、ユーザーが記事を読んでいるときに広告を表示しているかどうかなど、有益なコンテキスト情報も含まれます。それと併せて、Bigtable の他のテーブルからその他の多くのコンテキストを特徴として抽出します。そして、これらの特徴を gRPC を通じて推論マシンに入力します。
モデルは、定義された特徴セットで実行され、現在のコンテキストと多数のキャンペーンに対する広告スポットの関連性を理解し、それらのキャンペーンごとに予測を提供します。その結果が入札システムに反映されて、確率が実際の米ドル価格に変換され、私たちが選んだ下限入札単価と比較できます。最終的に最適なキャンペーンを選択し、入札レスポンスを返して入札に参加します。
Google Cloud を基幹にしていなければ、このスケールと速度でのパフォーマンスは実現できなかったでしょう。Google Cloud データベース、ストレージ サービス、Google Kubernetes Engine は、Google Cloud サービスを構成している市場をリードするサービスの大規模なエコシステムと統合されており、リアルタイムの分析情報を生み出す高速データ パイプラインを簡単に構築できるため、より優れたビジネス上の意思決定を行うことが可能です。
Moloco は、Google Cloud の協力のもと、Bigtable により毎日数千億件の入札リクエストを処理できるようになりました。Bigtable のおかげで、低レイテンシかつ高スケーラビリティで履歴データにアクセスできます。Moloco は、自社のデータやお客様のデータを価値ある分析情報に変換できます。さらに、Bigtable、Vertex AI、BigQuery などの強力な統合ツールにより、データ管理を容易にし、お客様の広告を最適化し続ける新しい機械学習モデルを開発できるのです。
Moloco の詳細についてはこちらを、Cloud Bigtable の詳細についてはこちらをご覧ください。また、わかりやすいグラフィックスで疑問にお答えしている、Cloud Bigtable の規模のブログもご確認ください。
- Moloco エンジニアリング担当バイス プレジデント Chang Kim 氏