Inferensys

Glossary

BLINK (Billion-scale Entity Linking)

BLINK is a state-of-the-art entity linking model from Facebook AI that uses a fast Bi-Encoder for candidate retrieval and a precise Cross-Encoder for final disambiguation.
Developer working on RAG retrieval system, document chunks visible on screen, technical workspace with code editor.
NEURAL ENTITY LINKING

What is BLINK (Billion-scale Entity Linking)?

BLINK is a state-of-the-art entity linking model from Facebook AI that uses a fast Bi-Encoder for candidate retrieval and a precise Cross-Encoder for final disambiguation.

BLINK (Billion-scale Entity Linking) is a neural entity linking model that grounds ambiguous textual mentions to unique entries in a knowledge base by combining a scalable Bi-Encoder for rapid candidate retrieval with a high-precision Cross-Encoder for final disambiguation. This two-stage architecture enables accurate linking against a knowledge base containing millions of entities.

The Bi-Encoder independently encodes the mention context and each entity description into dense vectors, using FAISS for efficient approximate nearest neighbor search to retrieve top-k candidates. The Cross-Encoder then processes the mention and each candidate jointly through full cross-attention, producing a precise relevance score that resolves the correct entity identity.

ARCHITECTURE

Key Features of BLINK

BLINK (Billion-scale Entity Linking) is a state-of-the-art entity linking model from Facebook AI that uses a two-stage, retrieval-and-reranking pipeline to ground textual mentions to a knowledge base of millions of entities.

01

Two-Stage Retrieval & Reranking Pipeline

BLINK decomposes entity linking into a fast candidate retrieval stage followed by a high-precision reranking stage. This architecture is the key to scaling to millions of entities without sacrificing accuracy.

  • Stage 1 (Bi-Encoder): Independently encodes the mention context and each entity description into dense vectors. Uses FAISS for fast maximum inner product search to retrieve the top-k candidates from the entire knowledge base.
  • Stage 2 (Cross-Encoder): Concatenates the mention and each candidate entity description, feeding them jointly through a transformer with full cross-attention. This yields a precise relevance score for final disambiguation.
  • Why it works: The Bi-Encoder handles scale (billion-scale retrieval in milliseconds), while the Cross-Encoder handles ambiguity (modeling subtle interactions between mention context and entity description).
< 1 ms
Bi-Encoder Retrieval Latency
Top-10
Candidate Recall
02

Bi-Encoder Candidate Retrieval

The Bi-Encoder independently encodes the mention context and each entity description into fixed-size dense vectors, enabling billion-scale retrieval via dot product similarity.

  • Architecture: A dual-encoder based on BERT that produces separate embeddings for mentions and entities. No cross-attention between the two towers.
  • Training: Trained with a contrastive loss (in-batch negatives) where the correct entity is scored higher than all other entities in the batch.
  • Indexing: All entity embeddings are pre-computed and indexed using FAISS for exact or approximate nearest neighbor search.
  • Key insight: By decoupling mention and entity encoding, the Bi-Encoder allows pre-computation of entity embeddings, making retrieval constant-time with respect to knowledge base size.
5.9M
Entities Indexed
93%+
Recall@64
03

Cross-Encoder Reranker

The Cross-Encoder performs joint encoding of the mention and a single candidate entity, using full cross-attention to model fine-grained semantic interactions.

  • Input: The concatenation of the mention context and the entity description, separated by a special [SEP] token.
  • Output: A single scalar relevance score representing the likelihood that the candidate is the correct entity.
  • Why it's precise: Unlike the Bi-Encoder, the Cross-Encoder allows every token in the mention to attend to every token in the entity description, capturing subtle disambiguation signals.
  • Computational cost: Too expensive to run over all entities, which is why it only reranks the top-k candidates from the Bi-Encoder (typically k=10 or k=64).
Top-10
Reranking Candidates
~85%
End-to-End Accuracy
04

Entity Description Encoding

BLINK represents each knowledge base entity by encoding its textual description (title + first paragraph from Wikipedia) rather than relying solely on structured triples or graph embeddings.

  • Description format: The entity title and its Wikipedia abstract are concatenated and encoded by the Bi-Encoder's entity tower.
  • Zero-shot capability: Because entities are represented by natural language descriptions, BLINK can link to entities never seen during training—a property called zero-shot entity linking.
  • Nil prediction: If no candidate scores above a learned threshold, BLINK predicts that the mention has no corresponding entity in the knowledge base, correctly handling out-of-KB (OOKB) mentions.
  • Pre-computation: All entity embeddings are computed offline and stored in a FAISS index, enabling fast retrieval without re-encoding at inference time.
Wikipedia
Knowledge Base Source
Zero-Shot
Unseen Entity Handling
05

Training with Distant Supervision

BLINK is trained using distant supervision from Wikipedia hyperlinks, automatically generating large-scale training data without manual annotation.

  • Data generation: Each Wikipedia hyperlink provides a mention (the anchor text) and a ground-truth entity (the linked page). The surrounding paragraph serves as context.
  • Scale: This yields millions of training examples across diverse domains, far exceeding manually annotated datasets like AIDA CoNLL-YAGO.
  • Negative sampling: During Bi-Encoder training, other entities in the same batch serve as in-batch negatives, creating an efficient contrastive learning signal.
  • Hard negative mining: The Cross-Encoder is fine-tuned using the top-ranked candidates from the Bi-Encoder as hard negatives, teaching it to distinguish between highly confusable entities.
9M+
Training Examples
Wikipedia
Distant Supervision Source
06

Integration with FAISS for Billion-Scale Indexing

BLINK leverages FAISS (Facebook AI Similarity Search) to index and query millions of entity embeddings with sub-millisecond latency.

  • Index construction: Pre-computed entity embeddings are added to a FAISS index using exact search (IndexFlatIP) or approximate search (IndexIVFFlat with product quantization) for larger scales.
  • Retrieval: At inference, the mention embedding queries the FAISS index to retrieve the top-k entities by inner product similarity.
  • Scalability: FAISS supports GPU-accelerated search and compressed indexes, enabling BLINK to scale to knowledge bases with tens of millions of entities.
  • Production readiness: The combination of pre-computed embeddings and FAISS indexing makes BLINK suitable for real-time applications requiring entity linking over large knowledge bases.
< 1 ms
Per-Query Retrieval
GPU-Ready
FAISS Acceleration
BLINK ARCHITECTURE & MECHANICS

Frequently Asked Questions

Deep-dive answers to the most common technical questions about Facebook AI's billion-scale entity linking model, covering its two-stage retrieval architecture, training methodology, and production deployment considerations.

BLINK (Billion-scale Entity Linking) is a state-of-the-art entity linking model from Facebook AI that grounds ambiguous textual mentions to unique entries in a knowledge base containing millions of entities. It operates in two distinct stages: first, a fast Bi-Encoder independently encodes the mention context and all candidate entity descriptions into dense vectors, retrieving the top-k candidates via efficient maximum inner product search. Second, a high-precision Cross-Encoder processes the concatenated mention and each candidate entity description jointly through full cross-attention, producing a refined relevance score that selects the single best entity. This two-stage architecture solves the fundamental speed-accuracy trade-off in large-scale entity linking by combining scalable retrieval with deep semantic re-ranking.

ARCHITECTURAL COMPARISON

BLINK vs. Other Entity Linking Approaches

A technical comparison of BLINK's two-stage Bi-Encoder and Cross-Encoder architecture against traditional single-stage and generative entity linking methods.

FeatureBLINK (Bi-Encoder + Cross-Encoder)Single-Stage Bi-EncoderGENRE (Generative Entity Retrieval)

Architecture

Two-stage: fast retrieval + precise reranking

Single-stage: retrieval only

Autoregressive sequence-to-sequence generation

Candidate Retrieval Speed

< 1 ms per mention (FAISS-indexed)

< 1 ms per mention

N/A (generates entity name directly)

Disambiguation Precision

State-of-the-art (Cross-Encoder with full cross-attention)

Moderate (dot product scoring only)

High (constrained beam search with prefix tree)

Scalability to Millions of Entities

Zero-Shot Entity Linking Capability

Nil Prediction Mechanism

Threshold on Cross-Encoder linking confidence score

Threshold on Bi-Encoder similarity score

Generates special 'no-link' token

Training Data Requirement

Large-scale distant supervision (Wikipedia hyperlinks)

Large-scale distant supervision

Large-scale distant supervision

Inference Latency (per mention)

~10-20 ms (retrieval + reranking)

~1-5 ms (retrieval only)

~50-100 ms (autoregressive decoding)

Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.