What is the difference between a bi-encoder and a cross-encoder?
PICTURE THIS: DATABASE INDEX
Simple meaning
A bi-encoder embeds query and document separately so documents can be precomputed.
WHY — Tokens instead of words?
LLMs use tokens (not full words) because it helps them:
contrast on Embeddings, not two memorised paragraphs.
the developer, then one case where picking wrong hurts.
Each piece maps to a number the network can learn.
Fixed pieces are what transformers expect as input.
STEPS — What happens with tokens?
Before the model can read a sentence, it goes through these steps:
- 1A bi-encoder embeds query
and document separately so documents can be precomputed.
- 2A cross-encoder reads the
pair together and scores relevance more accurately but cannot pre-index millions of docs.
- 3Production RAG often retrieves
with a bi-encoder then reranks a shortlist with a cross-encoder.
- 4Context mix
Attention looks at nearby tokens together.
- 5Next token
The model scores what should come next.
- 6Decode
IDs turn back into readable text.
EXAMPLE — See it in action
Let's see how a real sentence is tokenized (tokens may vary by model):
Note: Actual tokens and IDs depend on the tokenizer (e.g., GPT, Llama, etc.).
Key takeaway
A bi-encoder embeds query and document separately so documents can be precomputed. A cross-encoder reads the pair together and scores relevance more accurately but cannot pre-index millions of docs.