How is ColBERT different from a standard bi-encoder?
hardAnswer
- Bi-encoder: encode query → 1 vector, encode doc → 1 vector, score = cosine (single interaction).
- ColBERT (Khattab 2020): encode query → many token vectors, encode doc → many token vectors.
- Score = sum over query tokens of max cosine to any doc token ('MaxSim' late interaction).
- Higher recall than bi-encoders because tokens can match individually, cheaper than cross-encoders at retrieval time (docs are still pre-indexed).
- ColBERT-v2 uses PQ to compress token vectors → practical at scale.
Check yourself — multiple choice
- ColBERT is a cross-encoder
- Multi-vector per doc + query, late-interaction MaxSim → between bi-encoder recall and cross-encoder precision
- Same as BM25
- Only for images
ColBERT: multi-vector late interaction → strong precision at scalable retrieval cost.
#retrieval#embeddings
Practise LLMs & GenAI
214 interview questions in this topic.
Related questions
- What are text embeddings and how are they used?
- How do you pick an embedding model for a new RAG project?
- What's the trade-off between embedding dimension and retrieval quality?
- What are 'contextual embeddings' and why are they useful?
- How does multimodal retrieval (image + text) work?
- How does Retrieval-Augmented Generation (RAG) work?