[論文レビュー] Pixie: A System for Recommending 3+ Billion Items to 200+ Million Users in Real-Time
Pixieは、30億以上のアイテムを2億人以上のユーザーにリアルタイムで提供するスケーラブルでリアルタイムのグラフベースのレコメンデーションシステムです。100億ノードのPinterestオブジェクトグラフ上で、新規のランダムウォークアルゴリズムを用いることで、パーソナライズドレコメンデーションを実現しています。従来のシステムと比較して50%高いユーザー参加度を達成し、ユーザー固有のクエリバイアス、マルチピン重み付け、およびランダムウォークプロセスにおける早期停止を活用することで、1秒間に1,200件のクエリを60msの遅延で処理可能です。
User experience in modern content discovery applications critically depends on high-quality personalized recommendations. However, building systems that provide such recommendations presents a major challenge due to a massive pool of items, a large number of users, and requirements for recommendations to be responsive to user actions and generated on demand in real-time. Here we present Pixie, a scalable graph-based real-time recommender system that we developed and deployed at Pinterest. Given a set of user-specific pins as a query, Pixie selects in real-time from billions of possible pins those that are most related to the query. To generate recommendations, we develop Pixie Random Walk algorithm that utilizes the Pinterest object graph of 3 billion nodes and 17 billion edges. Experiments show that recommendations provided by Pixie lead up to 50% higher user engagement when compared to the previous Hadoop-based production system. Furthermore, we develop a graph pruning strategy at that leads to an additional 58% improvement in recommendations. Last, we discuss system aspects of Pixie, where a single server executes 1,200 recommendation requests per second with 60 millisecond latency. Today, systems backed by Pixie contribute to more than 80% of all user engagement on Pinterest.
研究の動機と目的
- Pinterestのような動的でインタラクティブなプラットフォーム上で、30億以上のアイテムと2億人以上のアクティブユーザーを対象に、リアルタイムでパーソナライズドレコメンデーションを提供するという課題に対処すること。
- バッチ処理システムの限界を克服し、リアルタイムのユーザー行動に応じた即時の低遅延レコメンデーションを可能にすること。
- Pinterestの豊富なユーザー生成型ボードキュレーションデータを、複雑で意味的に豊かなピン間の関係をモデル化する多面的オブジェクトグラフとして活用すること。
- スケーラブルかつ適応可能なレコメンデーションアルゴリズムを設計し、動的ユーザー固有バイアスと早期停止をサポートすることで、リアルタイムパフォーマンスを実現すること。
- 従来の協調フィルタリングを上回るレコメンデーション品質を実現するため、グラフ構造とランダムウォークによるラベル伝搬を統合すること。
提案手法
- Pixieは、1000億を超えるエッジを持つピンとボードの二部グラフを構築し、ユーザーのインタラクション(例:保存)がエッジを定義し、ノードに重みを付与する。
- ユーザー固有のクエリセットである重み付きピンから出発する、新規のPixieランダムウォークアルゴリズムを用い、関連するピンとボードをレコメンドする。
- トピック、言語、インタラクション履歴などのユーザー固有の属性に基づいてウォークをバイアスし、パーソナライズドレコメンデーションを実現する。
- 複数のクエリピンを異なる重みでサポートし、複数の独立したウォークからの結果を統合することで、複数のクエリピンに関連するアイテムを優先する。
- 独自の収束基準を採用し、早期停止を可能にすることで、グラフサイズに依存しない定数時間のパフォーマンスを実現し、100ms未満の遅延を達成する。
- ピンとボードの両方をレコメンドし、ボードレコメンデーションを用いて新規のコールドスタートピンを発見し、コンテンツの多様性を向上させる。
実験結果
リサーチクエスチョン
- RQ130億以上のアイテムと2億人以上のアクティブユーザーを対象に、リアルタイムでパーソナライズドレコメンデーションを提供できるスケーラブルなレコメンデーションシステムをどのように実現できるか?
- RQ2大規模スケールで高いレコメンデーション品質を維持しつつ、100ms未満の低遅延応答時間を確保するために、どのようなアルゴリズム的革新が求められるか?
- RQ3最近のインタラクションやインタラクションタイプといったユーザー固有の行動信号を、グラフベースのレコメンデーションシステムで効果的に符号化・活用するにはどうすればよいか?
- RQ4動的バイアスと早期停止を備えたグラフベースのランダムウォークが、従来のバッチベースシステムに比べて、リアルタイムレコメンデーションワークロードでどれほど優れているか?
- RQ5グラフの刈り込みとキュレーション戦略は、カバレッジや関連性を損なわず、レコメンデーション品質とシステムパフォーマンスを顕著に向上させることができるか?
主な発見
- A/Bテストでは、Pixieは従来のHadoopベースのレコメンデーションシステムと比較して、1ピンあたりの参加度を最大50%向上させた。
- システムは、1秒間に1,200件のレコメンデーションリクエストを処理でき、99百分位数の遅延が60ミリ秒であった。
- グラフの刈り込みにより、グラフサイズが6分の1に縮小され、さらに58%のレコメンデーション品質向上が達成された。
- Pinterest全体のユーザー参加度の80%以上が、Pixieによって駆動されている。
- ボードレコメンデーションを新規ピンの発見のための代理指標として活用することで、コールドスタート問題が解決され、コンテンツの多様性が向上した。
- Pixieが駆動するシステムは、現在、Pinterestで1日あたりユーザーが保存するピンの半数以上を占めている。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。