Licence YOLO
Retour au glossaire Ultralytics

ColBERT

ColBERT encode les requêtes et les documents sous forme d’embeddings BERT par token, puis les évalue par interaction tardive (MaxSim) afin d’offrir une recherche rapide et précise et de prendre en charge le RAG.

ColBERT (Contextualized Late Interaction over BERT) est un modèle neuronal de recherche d’information qui représente une requête et chaque document par un embedding par token, puis attribue un score au document par interaction tardive : chaque token de la requête trouve le token de document qui lui ressemble le plus, puis ces similarités maximales, appelées MaxSim, sont additionnées pour obtenir le score de pertinence. Omar Khattab et Matei Zaharia, de l’université Stanford, l’ont présenté dans l’article SIGIR 2020 ColBERT : recherche de passages efficace et performante par interaction tardive contextualisée sur BERT. Les embeddings des tokens de document sont calculés une seule fois, hors ligne ; au moment de la requête, il suffit donc d’effectuer un calcul de similarité peu coûteux, au lieu d’exécuter entièrement BERT pour chaque document candidat.

La place de l’interaction tardive#

Les systèmes neuronaux de recherche diffèrent par le moment où la requête et le document se rencontrent. Les bi-encodeurs compressent chaque texte en un seul vecteur, configuration standard pour la recherche vectorielle : les vecteurs des documents sont pré calculés et la recherche est rapide, mais un vecteur unique brouille les distinctions entre termes individuels. Les cross-encodeurs transmettent ensemble la requête et le document à un transformer, de sorte que l’attention compare chaque paire de tokens. Ce sont les plus précis et ils doivent être exécutés une fois pour chaque paire requête-document, ce qui les limite au réordonnancement de courtes listes de candidats.

ColBERT encode séparément la requête et le document, comme le fait un bi-encodeur, mais conserve un vecteur de 128 dimensions par token et ne fait interagir les deux côtés qu’à l’étape finale MaxSim. Les requêtes sont complétées avec le token de masque de BERT jusqu’à une longueur fixe de 32, ce qui donne au modèle des emplacements supplémentaires pour enrichir la requête avec des termes associés. Sur les benchmarks de recherche de passages MS MARCO et TREC CAR, ColBERT s’est montré compétitif avec les systèmes de classement basés sur BERT, tout en étant cent fois plus rapide et en utilisant dix mille fois moins de FLOPs par requête.

Calcul d’un score MaxSim#

L’opérateur MaxSim s’implémente en quelques lignes de PyTorch. Cet exemple l’applique aux embeddings contextuels de tokens issus d’un petit encodeur de la famille BERT :

import torch.nn.functional as F
from sentence_transformers import SentenceTransformer

encoder = SentenceTransformer("sentence-transformers/all-MiniLM-L6-v2")
query = "who wrote the novel Dune"
docs = [
    "Frank Herbert published the science fiction novel Dune in 1965.",
    "A dune is a hill of sand shaped by the wind.",
]

# One L2-normalized contextual embedding per query token
q = F.normalize(encoder.encode(query, output_value="token_embeddings"), dim=-1)
for doc in docs:
    d = F.normalize(encoder.encode(doc, output_value="token_embeddings"), dim=-1)

    # MaxSim: each query token keeps its best-matching document token, and the maxima are summed
    score = (q @ d.T).max(dim=1).values.sum()
    print(f"{score.item():.2f}  {doc}")

Le passage sur le roman obtient un score de 5.90 et celui sur les dunes de sable, de 4.33. Les deux contiennent « dune », qui correspond fortement dans chacun, mais, dans le premier passage, le token de requête « wrote » trouve « published » avec une similarité cosinus de 0.72 et « novel » se correspond à lui-même, tandis que, dans le second passage, la meilleure correspondance pour « wrote » n’atteint que 0.29.

  • BERT lui-même : l’encodeur préentraîné que ColBERT ajuste pour la recherche d’information en ajoutant une couche linéaire qui projette chaque token sur 128 dimensions.
  • Découpage tardif : encode aussi le texte dans son contexte avant de le découper, puis moyenne les tokens pour obtenir un vecteur par segment, tandis que ColBERT conserve chaque vecteur de token.
  • Recherche sémantique : la tâche effectuée par ColBERT, qui classe les passages selon leur sens plutôt que selon les mots-clés qu’ils ont en commun.
  • Recherche hybride : combine les résultats par mots-clés et par vecteur unique pour réunir correspondance exacte des termes et compréhension du sens. La correspondance au niveau des tokens de ColBERT capture une partie de cette exactitude au sein d’un seul modèle neuronal.

Interaction tardive pour les images#

L’interaction tardive fonctionne aussi sur les images. ColPali (2024) encode la capture d’écran de chaque page de document sous forme de grille de vecteurs de patchs à l’aide d’un modèle vision-langage, puis les compare aux tokens de la requête avec MaxSim, étendant ainsi l’interaction tardive au RAG multimodal sur les PDF. La détection à vocabulaire ouvert conserve des caractéristiques d’image fines pour une raison similaire : Ultralytics YOLOE stocke un embedding textuel pour chaque classe indiquée, comme « autobus à impériale », et le compare aux caractéristiques des régions à chaque emplacement de ses cartes de caractéristiques. Une courte invite peut ainsi correspondre à un petit objet plutôt qu’à un vecteur unique qui résume toute l’image.

ColBERTv2 et PLAID#

Stocker un vecteur pour chaque token rend un index ColBERT environ dix fois plus volumineux qu’un index à vecteur unique, un coût qui compte lorsque ColBERT sert de système de recherche de premier niveau ou de réordonnanceur dans un pipeline de génération augmentée par récupération (RAG). Le dépôt Stanford ColBERT met en œuvre deux solutions. PLAID est un moteur de recherche qui attribue un score aux candidats par rapport aux centroïdes de clusters avant d’exécuter MaxSim complet. ColBERTv2 (NAACL 2022) stocke chaque vecteur de token sous forme de l’identifiant de son centroïde le plus proche, accompagné d’un résidu quantifié à 1 ou 2 bits par dimension, et s’entraîne avec une supervision débruitée distillée à partir d’un cross-encodeur. Sa compression des résidus a réduit de 6 à 10 fois l’espace occupé par l’interaction tardive.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique