In large-scale recommendation systems like the LinkedIn Feed, content generated by a member's network (connections and follows) makes up over 70% of impressions and engagement. It is therefore essential that the pre-ranking layer forwards the best possible few hundred candidates to the ranking layer. LinkedIn's professional knowledge graph carries engagement signals across both the first degree network (connections and follows) and the second-degree network: posts that a 1st-degree connection reacted to, commented on or reshared but did not author (a.k.a. stranger viral). Due to this fan out, the resulting candidate index exceeds one billion; selection of activities from the viewer's network narrows it down to roughly tens of thousands of activities that must be scored within a 120 ms p99 latency budget. We present Connected Content Retriever (CC Retriever), a pre-ranking system that scores these candidates with a full deep ranking model on GPUs at low latency. At its core is a sorted-search GPU primitive that joins dense graph affinity features (viewer to author) with document level features stored on the GPU at runtime in 5-10 ms. The shift to GPU served scoring enabled a 50x scale up of the ranking model's parameters and delivered a +2.5% lift in content time spent on the LinkedIn Feed in online experiments, significantly higher than the typical gains observed in LinkedIn Feed experiments. In this work, we describe the feature set we leverage from LinkedIn's economic graph and the model architecture used for scoring, with a particular emphasis on the online system that scales the stack.
Figures & tables
Figure 1. Feed Retrieval and Ranking System Feed Retrieval and Ranking System
Figure 2. CC pre-ranking model architecture. Inputs are pretrained member and item embeddings, log-normalized count features, multi-hot sparse features, and edge features xe joined as dense tensors per Algorithm 1 . Pretrained embeddings pass through a ReLU + batch-norm tower; a chunked cosine-similarity block is computed in the forward pass. All signals are concatenated and consumed by a backbone MLP whose logits are additively corrected by a Feed-position-debias embedding. Sigmoid task heads for click, total contributions and long-dwell are combined via tunable weights
Figure 3. End-to-end architecture of the retrieval-as-ranking system. A user request flows through three stages: (1) candidate selection from a graph-based index filters the corpus from billions to tens of thousand documents, (2) the retrieval service generates request-level and edge features and assembles the scoring request, and (3) the GPU inference server resolves candidate IDs to pre-indexed feature tensors, executes a batched model forward pass, and returns top- K results to the ranking model.
Figure 4. Architecture of the GPU inference server. The write path (top) ingests events through a batch lookup, prefix-sum offsets, and a GPU scatter that updates the shared hash index and document feature store. The read path (bottom) resolves candidate document IDs against the hash index on the CPU, gathers features on the GPU, runs a batched scoring-model forward pass, and selects the top- k documents.
Figure 5. Effect of moving document ID-to-position resolution from GPU-side binary search to CPU-side parallel hash lookups. GPU binary search costs O(logN) per lookup and its latency scales with batch size; CPU parallel hash lookups are O(1) amortized and stay roughly constant with batch size, yielding a 10× throughput improvement on the inference path. Orange boxes are GPU operations, blue boxes CPU operations.
Stage
Configuration
Batch Size
QPS
0
Baseline: single-request MLP forward
b
OOM
1
+ memory tuning + pre-materialized tensors
b
x
2
+ multi-request batching
≤16b
1.75x
3
+ CPU parallel hash map lookups
32b
10x
Table 1. Throughput progression of the GPU inference server under a 120ms p99 SLA. Each row adds one optimization to the previous configuration. Batch size denotes concurrent requests scored in a single GPU forward pass.
Variant
Recall@10 Δ
Full model (this work)
—
w/o edge features
−7.86%
w/o content features
−3.05%
w/o item features
−2.5%
Table 2. Feature ablation on the CC pre-ranker. Each row disables one input stream while holding architecture and training identical to the full model. Recall@ 10 is reported as a percent change relative to the full model on a fixed offline evaluation dataset.
Backbone (vs. deployed)
Δ Recall@ 10
Rel. QPS
Deployed ( 1× )
—
deployed
∼4×
+0.11%
0.93×
∼8×
+0.15%
0.89×
∼15×
+0.16%
0.78×
∼40×
+0.20%
0.67×
∼75×
+0.20%
0.56×
Table 3. Joint parameter-scaling tradeoff. Backbones are reported as parameter-count multipliers of the deployed anchor ( 1× ). Δ Recall@ 10 is relative to the anchor; relative QPS is per-replica throughput at a 120 ms p99 SLA, normalized to the smallest measured variant ( 1.00× ). Offline quality saturates quickly while throughput degrades nearly linearly with parameter count.
General-purpose embeddings trained on profile similarity often misrank candidates in professional networks, where relevance is inherently complementary rather than symmetric. For example, job seekers usually engage with recruiters rather than peers with similar credentials. Current user recommendation systems are often built on profile similarity or social signals such as shared connections, which are effective in friend-oriented social networks where users tend to connect with similar people or within existing social circles. However, this does not hold in professional platforms like LinkedIn, where interactions are often goal-driven and cross-role interactions, requiring matching based on complementary intents rather than similarity or social proximity. In this paper, we propose Preference-Aligned Intent Retrieval, a retrieval framework that is designed to model user intent preference instead of profile similarity. Our approach is inspired by the preference-learning perspective of Direct Preference Optimization, but instantiates preference learning as an exposure-conditioned multi-negative contrastive objective over embeddings. This formulation simplifies training and scales efficiently to large candidate sets without requiring an explicit reference model. Furthermore, we incorporate user interaction history by aggregating click histories with positional encoding to capture temporal order, which enables constant-cost updates of user representations over a fixed history window, allowing new interactions to be incorporated without re-encoding history. As a result, personalization can be updated efficiently using lightweight CPU operations without repeated LLM inference during serving. We evaluate PAIR on LinkedIn's Premium retrieval task. A 0.6B parameter model achieves a MAR@100 of 0.45.
Graph-based retrieval at billion-node scale requires jointly solving three tightly coupled problems -- graph construction, representation learning, and real-time serving -- yet existing work addresses each in isolation. We present RankGraph-2, a framework deployed at Meta that co-designs all three lifecycle stages for similarity-based retrieval (U2U2I and U2I2I), where each stage's requirements shape the others. Serving requires a co-learned cluster index to avoid expensive online KNN -- this pushes index co-training into the training objective. Training benefits from the observation that similarity-based retrieval tolerates pre-computed neighborhoods, eliminating online graph infrastructure -- this requires construction to produce self-contained data. Construction must also support hour-level refresh for item coverage. Acting on these cascading requirements, RankGraph-2 reduces hundreds of trillions of edges to hundreds of billions via subsampling with popularity bias correction, pre-computes multi-hop neighborhoods via personalized PageRank, and co-learns a residual-quantization cluster index that reduces serving computational cost by 83%. This lifecycle co-design enables a simple architecture to achieve 3.8 x higher recall than a GAT + Deep Graph Infomax model on a bipartite graph and 2.1 x higher than PyTorch-BigGraph on item retrieval. RankGraph-2 delivers up to +0.96% CTR and +2.75% CVR, and has powered 20+ retrieval launches across major surfaces.
Renzhi Wu, Zikun Cui, Junjie Yang +10
Meta MRS · Meta Training Data Infra · FB Monetization
Semantic Search on LinkedIn must retrieve relevant profiles from a corpus of hundreds of millions in response to natural-language queries such as "a fintech founder in Berlin who worked in payments." The deployed relevance policy is bottleneck-oriented: every active non-negotiable facet must be satisfied, and a pre-existing LLM Graded Relevance (GR) judge operationalizes this through a fixed min/median aggregation over facet grades. Cosine similarity instead averages evidence, letting a strong match on one facet mask failure on another, capping the recall of the first-stage (L0) retriever. We present a policy-aligned retrieval framework: embeddings are partitioned into eight category-supervised segments whose scores follow the same min/median rule at serving time; for multi-vector retrieval, this segment score is computed independently per tagged document slot and maximized across slots. A lightweight single-slot Stage-1 scorer generates high-recall candidates, while scale-invariant relative-norm gating keeps category activation consistent across training, evaluation, and serving. On 21K held-out queries, this representation improves offline relevance over a matched-capacity baseline, with gains broadly distributed across facet combinations. We serve this framework with a two-stage GPU architecture: an FP8 coarse ranker scores the full corpus, increasing per-shard capacity by 71% and Stage-1 matmul throughput by 36%, then an FP16 stage exactly re-ranks an oversampled candidate set, recovering 99.6-99.8% of full-FP16 recall at over 500 QPS per shard replica. In a member-randomized A/B test, exploratory-query Precision@10 under the unchanged GR judge rises from 63.7% to 79.0% and navigational Precision@1 from 65.5% to 74.7%, with a blinded human evaluation independently confirming the Precision@10 gain.