Source-linked AI summary
Pixie: A System for Recommending 3+ Billion Items to 200+ Million Users in Real-Time
Chantat Eksombatchai, Pranav Jindal, Jerry Zitao Liu, Yuchen Liu, Rahul Sharma, Charles Sugnet, Mark Ulrich, Jure Leskovec
TL;DR
Pinterest needs personalized recommendations over billions of items for hundreds of millions of users, with results responsive to behavior and available on demand in real time. Pixie uses a scalable graph-based recommender and Pixie Random Walk over Pinterest’s object graph, with graph pruning to improve recommendation quality. The system reports up to 50% higher per-pin engagement than previous Pinterest systems, 58% additional improvement from graph curation, and real-time serving at 1,200 requests per second with 60-millisecond latency.
Problem
Pinterest must provide personalized, engaging, timely recommendations from a catalog of billions of pins to hundreds of millions of users, including under a sub-100-millisecond real-time requirement.
Method
Pixie is a scalable graph-based real-time recommender using a Pinterest pin-board graph, user-specific multi-pin random walks, and graph pruning.
Results
Up to 50% higher per-pin engagement was observed versus previous Pinterest recommendation systems, while graph curation added 58% recommendation improvement and reduced graph size sixfold.
Takeaways & Limitations
Pixie-backed systems contribute to more than 80% of Pinterest’s user engagement and support real-time serving at about 1,200 requests per second per server.
Takeaways & Limitations
The presented graph simplifies Pinterest by connecting pins to boards rather than modeling alternative user-to-board relationships, although the algorithms generalize to more complex graphs.
Abstract
from arXiv · showhide
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.
1 INTRODUCTION
Pinterest must generate personalized recommendations from billions of pins for hundreds of millions of users while responding in real time. Pixie addresses this challenge with a graph-based random-walk system whose pruning and deployment enable high engagement and low-latency serving.
- 3+ billion items and 200+ million monthly active users make personalized, engaging, timely recommendations a major Pinterest challenge.
- Billions-scale recommendations are more challenging than classical systems designed for catalogs containing only millions of items.
- Sub-100-millisecond recommendation latency is required so results can respond immediately to changing user behavior and intent.
- Pixie uses Pinterest’s manually curated pin-board relationships to support recommendations from multifaceted object connections.
- Pixie Random Walk supports user-specific biasing, multiple weighted query pins, and combined walks that reward recommendations related to multiple query pins.
- 58% additional recommendation improvement comes from graph curation, which also reduces graph size sixfold and improves runtime performance.
- Pixie serves recommendations in under 60 milliseconds at the 99th percentile, with one server handling about 1,200 requests per second.
2 RELATED WORK
Prior recommender systems include web-scale systems with precomputed results, news systems focused on the latest content, graph random walks, collaborative filtering, and content-based methods. Pixie differs by targeting real-time recommendations at Pinterest’s billion-item scale with a faster random-walk approach.
- Web-scale recommender systems: Web-scale production recommenders commonly precompute recommendations rather than serving them in real time.
- Web-scale recommender systems: Real-time systems generally target response times below 100 milliseconds, while news recommenders typically focus on the latest content.
- Web-scale recommender systems: Pinterest’s catalog contains 1,000-times more items than traditional recommender systems can handle.
- Random-walk-based approaches: Graph-based recommendation methods use random walks to exploit graph structure, but Pixie develops a faster random walk with better performance.
- Traditional collaborative filtering approaches: Collaborative filtering matches users with similar preferences and uses factorized user-item interaction matrices to generate latent factors.
- Content-based methods: Content-based methods compute item representations from content features and can scale because parameter-space dimension depends on feature-space dimension.
3 PROPOSED METHOD
Pixie models Pinterest as a bipartite pin–board graph and generates personalized recommendations through biased, multi-query random walks. Its extensions allocate computation selectively, reward multi-query relevance, stop early, and prune the graph to improve efficiency and recommendation quality.
- Graph representation: Pinterest is represented as an undirected bipartite graph connecting pins to boards through save actions.Pins and boards form the graph nodes, while an edge indicates that a user saved a pin to a board.
- Pixie Random Walk: Pixie receives a dynamically generated weighted set of query pins and performs biased random walks with restarts to generate recommendations.Recent user interactions receive higher weights, while user and edge features bias traversal toward relevant graph regions.
- Pixie Random Walk: Pixie extends basic random walks with user-specific biasing, weighted multiple query pins, multi-hit boosting, and early stopping.These mechanisms personalize traversal, represent broader user context, favor candidates related to multiple queries, and reduce unnecessary steps.
- Multiple query pins: Pixie allocates more steps to high-degree query pins while using a sub-linear scaling function to prevent popular pins from receiving disproportionate weight.The resulting distribution gives low-degree pins sufficient steps while assigning additional computation to high-degree pins.
- Early stopping: Early stopping produces almost the same results as a long random walk in about half the number of steps, speeding up the algorithm by a factor of two.The number of steps is adapted to each query pin rather than fixed uniformly.
- Graph pruning: 58% more relevant recommendations are obtained after graph pruning, which also reduces graph size and memory footprint by a factor of six.Pruning removes low-similarity pin–board edges and produces a smaller graph suitable for more efficient serving.
4 EXPERIMENTS
Pixie is evaluated for recommendation quality, runtime, stability, personalization, early stopping, and graph pruning. The experiments show strong engagement and recommendation-quality gains alongside faster execution and reduced graph size.
- Recommendation Quality: Pixie achieves better hit-rate performance than the evaluated content-based nearest-neighbor baselines at K = 10, 100, and 1000.The ranking task predicts which pin a user saves after examining a query pin.
- Recommendation Quality: Pixie recommendations increase engagement by 13% to 48% across controlled A/B experiments versus the previous Hadoop-based production system.Engagement measures clicking, liking, or saving recommended pins.
- Runtime and Stability: Runtime increases linearly with random-walk steps but remains below 50 milliseconds for walks shorter than 200,000 steps.Runtime increases slowly with query-set size, primarily because longer queries cause more cache warming and cache misses.
- Runtime and Stability: Recommendation stability improves with more steps: at 100,000 steps, more than 800 results appear in at least 50% of repeated responses.At 100,000 steps, 400 results appear in all responses; at 500,000 steps, 600 do.
- Early Stopping: Early stopping reaches 84% similarity to a long-walk gold standard while improving runtime by a factor of three with np = 2,000 and nv = 4.Lower np and nv reduce runtime but can produce less stable recommendations.
- Graph Pruning: At δ = 0.91, graph pruning raises F1 by 58% above the unpruned graph while retaining 20% of the original edges.Reducing graph size also significantly decreases memory usage and Pixie Random Walk runtime.
5 USE CASES AT PINTEREST
Pixie supports several Pinterest applications by generating responsive, context-specific recommendations for Homefeed, Related Pins, boards, and Picked For You boards. These deployments improved engagement and contributed substantially to daily saves.
- Homefeed: Pixie refreshes Homefeed recommendations after user actions such as clicking, liking, or saving pins.
- Related Pins: Shorter random walks for Related Pins increased the number of Related Pins saved per day by 3%.
- Picked For You: Pixie recommends boards and then delivers recent pins from those boards, adding diversity and distributing cold-start, new, and trending content.
- Board recommendations: 26% improvement in saves per pin allowed Pixie board recommendations to replace the old offline systems.
- Impact: Over half of all pins saved each day come from systems backed by Pixie, including applications beyond the examples discussed.
6 CONCLUSION
Pixie is a deployed graph-based recommender whose architecture stores a large Pinterest graph per server while supporting high-throughput, low-latency queries. Its deployed systems power substantial Pinterest engagement, and the architecture is intended to support further applications.
- Each Pixie server holds the entire bipartite graph of over a billion pins and boards and supports 1,200 queries per second at 60-millisecond 99-percentile latency.
- Online A/B experiments supported deploying Pixie across multiple Pinterest surfaces, with over half of daily saved pins coming from Pixie-backed systems.
- Pixie also performs label propagation in minutes instead of days using distributed systems like Hadoop.
- The authors anticipate extending Pixie with new algorithms and graphs containing novel node types and edge definitions for additional Pinterest applications.