MUVERA — Multi-Vector Retrieval via Fixed Dimensional Encodings#

Résumé#

MUVERA (MUlti-VEctor Retrieval Algorithm) est un mécanisme de retrieval qui réduit la recherche multi-vecteur (comme ColBERT/ColPali) à une recherche mono-vecteur standard. Cela permet d'utiliser les solveurs MIPS (Maximum Inner Product Search) existants pour faire du retrieval multi-vecteur, avec des garanties théoriques.

Papier : arXiv:2405.19504 — Dhulipala, Hadian, Jayaram, Lee, Mirrokni (Google Research).

Pourquoi c'est pertinent pour le RAG#

Les modèles multi-vecteurs (ColBERT, ColPali/ColQwen) sont nettement supérieurs aux modèles mono-vecteur pour la précision du retrieval, car ils capturent des informations au niveau des tokens (texte) ou des patches (images). Leur inconvénient : ils sont coûteux en mémoire et en calcul.

MUVERA résout ce problème en créant des FDEs (Fixed Dimensional Encodings) — des vecteurs de taille fixe dont le produit scalaire approxime la similarité multi-vecteur. Résultat : on bénéficie de la qualité multi-vecteur avec les performances d'une recherche mono-vecteur.

Performances clés#

Métrique Résultat
Même recall que les heuristiques SOTA
Candidats récupérés en moins 2-5× moins
Recall moyen (BEIR) +10%
Latence moyenne -90%
Empreinte mémoire (Weaviate, LoTTE) -70%
Temps d'import (Weaviate) de 20+ min → 3-6 min

Comment ça fonctionne#

  1. Encodage asymétrique : MUVERA génère des FDEs séparées pour les queries et les documents
  2. Produit scalaire comme proxy : l'inner product des FDEs approxime la similarité MaxSim multi-vecteur
  3. Guaranties ε-approximation : premier proxy mono-vecteur pour la similarité multi-vecteur avec garanties théoriques
  4. Reranking optionnel : après la récupération rapide via FDEs, les représentations multi-vecteurs originales peuvent reranker le top-k pour la précision finale

Implémentations#

  • Weaviate 1.31+ : support natif de MUVERA pour les embeddings multi-vecteurs. Configuration simple via les paramètres de collection.
  • Qdrant / FastEmbed 0.7.2+ : support MUVERA embeddings.
  • TxtAI 9.0 : support MUVERA et ColBERT multi-vector ranking.

Trade-offs#

  • ef plus élevé dans HNSW peut réduire le throughput de queries (mais améliore le recall)
  • Légère dégradation de recall possible par rapport au retrieval multi-vecteur pur (mitigeable via reranking)
  • Meilleur pour : déploiements à grande échelle où les coûts mémoire sont significatifs, et les cas d'usage qui tolèrent une légère perte de recall

Références#

rag retrieval multi-vector muvera colbert weaviate vector-search embeddings