Graph Neural Networks for Friend Recommendation
Scaling Graph Neural Networks for Friend Recommendation: Multi-Hash User Embeddings and Temporal Neighbor Sampling
The framework reduces memory usage by 98% while improving recommendation performance, making it valuable for large-scale social networks in ASEAN.
The paper presents a scalable GNN ranking system for production social graphs with 194M users and 28B edges.
It introduces multi-hash ID embeddings that reduce the embedding table size by over 98% while preserving ranking quality.
The system also implements temporal neighbor sampling with timestamp-sorted CSR storage, reducing per-node sampling cost from O(deg(v) + k) to O(log(deg(v)) + k).
In online A/B testing, the system increased friend additions from recommendations by 16% and unique friend adders by 11.
5%.
Scaling Graph Neural Networks for Friend Recommendation: Multi-Hash User Embeddings and Temporal Neighbor Sampling
Friend recommendation is inherently graph-structured: the relevance of a potential connection depends on multi-hop social context rather than user attributes alone. However, deploying message-passing GNNs on a production-scale social graph with hundreds of millions of users and tens of billions of edges requires addressing numerous modeling and systems challenges. We present a scalable end-to-end GNN ranking system for production social graphs, focusing on two design choices that are critical in this setting: multi-hash ID embeddings and temporal neighbor sampling. Multi-hash embeddings are common for high-cardinality features, but industrial GNN systems typically either ignore trainable IDs or accept full embedding tables, exceeding 200 GB for our graph. We integrate multi-hash as the primary node representation, reducing the ID-embedding table size by more than 98 percent while preserving ranking quality. Temporal neighbor sampling is well understood in principle, but existing implementations scan full adjacency lists, which is a non-starter for users with tens of thousands of friends. We implement timestamp-sorted CSR storage with binary search, reducing the per-node temporal sampling cost from $O(deg(v) + k)$ to $O(\log(deg(v)) + k)$. Beyond these components, we show that this combination scales and yields measurable production impact. On a graph with 194M users and 28B edges, offline ablations isolate each design choice's contribution. In an online A/B test, our system increases friend additions from recommendations by 16 percent and unique friend adders by 11.5 percent over a strong production baseline. We release our framework for distributed training and inference on large temporal graphs.
This report is categorized under AITOP's "Papers" desk. Key entities and technical topics under continuous tracking include graph neural networks.
Source attribution: curated from arXiv cs.LG (@Maksim Utushkin, Andrei Ovsiannikov, Alexander D'yakonov).