Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

Reranker

Un réordonnanceur réévalue la liste restreinte d’un système de récupération à l’aide d’un modèle plus lent et plus précis, comme un encodeur croisé, avant de présenter les résultats à un utilisateur ou à un LLM.

Un reranker est un modèle qui reçoit une courte liste de candidats d’un moteur de recherche de premier niveau rapide, évalue chaque candidat plus soigneusement par rapport à la requête, puis réordonne la liste. Les moteurs de recherche, les pipelines de génération augmentée par récupération (RAG) et les systèmes de recommandation utilisent cette approche, car les modèles de pertinence les plus précis sont trop lents pour traiter des millions de documents, mais assez rapides pour traiter les quelques dizaines ou centaines de meilleurs candidats. En recherche textuelle, le reranker standard est un encodeur croisé, un transformeur qui lit ensemble la requête et un candidat et produit un score de pertinence unique. Nogueira et Cho (2019) ont affiné BERT de cette manière et pris la tête du classement MS MARCO pour le classement de passages, avec un MRR@10 supérieur de 27 % en termes relatifs au précédent meilleur résultat.

Fonctionnement de la récupération suivie d’un reranking#

La première étape privilégie le rappel : elle s’appuie sur la recherche par mots-clés avec BM25, la recherche vectorielle sur des embeddings précalculés, ou les deux, pour extraire en quelques millisecondes quelques centaines de candidats plausibles de l’ensemble de la collection. Le modèle de reclassement privilégie la précision : il exécute une passe complète du modèle sur chaque paire requête-candidat, et seuls quelques-uns de ses meilleurs résultats sont transmis à l’utilisateur ou intégrés à la fenêtre de contexte d’un LLM. La VisualAISearch solution d’Ultralytics est un moteur de recherche de premier niveau de ce type : il génère les embeddings des images d’un dossier avec CLIP ViT-B/32, les classe selon leur similarité cosinus avec une requête textuelle et renvoie par défaut jusqu’à 30 correspondances dont le score dépasse un seuil de similarité de 0,1.

Encodeurs croisés et encodeurs doubles#

Un encodeur double, le type de moteur de recherche le plus courant, crée séparément des embeddings pour la requête et chaque document. Les vecteurs des documents peuvent donc être calculés une seule fois et stockés dans une base de données vectorielle. Cette indépendance est aussi sa limite : le vecteur du document est fixé avant que la requête soit connue. Un encodeur croisé concatène la requête et le document en une seule entrée ; l’auto-attention peut ainsi comparer chaque mot de la requête à chaque mot du document, au prix d’un passage complet en avant pour chaque paire au moment de la requête. ColBERT se situe entre les deux : il stocke un vecteur par jeton de document et met en correspondance les jetons de requête avec ceux-ci au moyen d’une interaction tardive. La classe CrossEncoder de Sentence Transformers exécute un reranker comme ms-marco-MiniLM-L6-v2, entraîné sur des requêtes de recherche MS MARCO :

from sentence_transformers import CrossEncoder

query = "When was the transformer architecture introduced?"
# Shortlist returned by a fast first-stage retriever, in its original order
candidates = [
    "Transformer models such as GPT and BERT are widely used in natural language processing.",
    "An electrical transformer changes the voltage of an alternating current.",
    "Convolutional neural networks became popular after AlexNet won ImageNet in 2012.",
    "The transformer was introduced in the 2017 paper Attention Is All You Need.",
]

# The cross-encoder reads the query and each candidate together and scores their relevance
reranker = CrossEncoder("cross-encoder/ms-marco-MiniLM-L6-v2")
ranked = reranker.rank(query, candidates)

for hit in ranked:
    print(f"{hit['score']:6.2f}  {candidates[hit['corpus_id']]}")

Le passage qui répond à la question passe de la dernière à la première place avec un score de 6,97, loin devant le candidat suivant, à -4,48. La phrase sur le transformateur électrique partage le mot clé de la requête, mais obtient un score de -5,29.

Types de rerankers#

  • Encodeurs croisés : Des transformeurs compacts affinés sur des étiquettes de pertinence, comme les modèles MS MARCO MiniLM et la famille bge-reranker de BAAI, également proposés sous forme d’API de reranking hébergées.
  • Rerankers à base de LLM : Un grand modèle de langage (LLM) reçoit une consigne pour noter les candidats ou trier toute une liste d’un coup. RankGPT a montré que ChatGPT et GPT-4 peuvent réordonner des passages en produisant une liste triée, et a distillé les classements de ChatGPT dans un petit reranker spécialisé.
  • Modèles d’apprentissage du classement : Les systèmes de recommandation et de commerce électronique réordonnent les candidats avec des modèles tels que les arbres boostés par gradient, utilisant des caractéristiques comme l’historique des clics, le prix et la fraîcheur, et entraînés avec des objectifs de classement comme LambdaMART, disponibles dans LightGBM et XGBoost.
  • Recherche sémantique : Recherche par sens, généralement avec un moteur de recherche à encodeur double. Un reranker constitue une deuxième étape facultative.
  • Recherche hybride : Fusionne des listes de résultats par mots-clés et par vecteurs, souvent au moyen de la fusion réciproque des rangs, qui combine les rangs sans relire le contenu. Un reranker s’applique souvent à la liste fusionnée.
  • Distillation de connaissances : Entraîne un moteur de recherche rapide à imiter les scores d’un reranker lent, en transférant une partie de la qualité du reranking vers la première étape.
  • Détecteurs d’objets à deux étapes : Appliquent le même principe aux images : une étape de proposition de régions suggère des boîtes candidates, puis une deuxième étape réévalue et affine chacune d’elles avant que la suppression non maximale (NMS) n’élimine les doublons qui se chevauchent.

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