Glossaire

Reranker

Améliore la précision des recherches avec les rerankers ! Découvre comment les modèles avancés affinent les résultats initiaux pour une pertinence optimale et la satisfaction des utilisateurs.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

Un reranker est un composant utilisé dans les systèmes d'apprentissage automatique (ML), en particulier dans des domaines tels que la recherche d'informations (RI), les moteurs de recherche et les systèmes de recommandation. Sa fonction principale est d'améliorer l'ordre de pertinence d'une liste initiale d'éléments candidats. Il s'agit d'un processus de raffinement de deuxième étape : il prend une liste de classement générée par une méthode de recherche initiale rapide et réorganise les éléments les plus importants à l'aide d'un modèle plus sophistiqué et plus exigeant en termes de calcul. Cela permet d'améliorer la précision du classement final et la satisfaction générale de l'utilisateur.

Comment fonctionnent les Rerankers

La raison fondamentale de l'utilisation d'un reranker est l'équilibre entre la vitesse et la précision. Les systèmes d'extraction initiaux, tels que la recherche par mot-clé ou la recherche approximative par le plus proche voisin (ANN) sur les enchâssements, doivent rapidement analyser des ensembles de données potentiellement massifs (tels que des documents Web, des catalogues de produits ou des bases de données d'images) afin d'identifier les éléments potentiellement pertinents. Ces systèmes de première étape privilégient la vitesse et un rappel élevé, ce qui signifie qu'ils visent à récupérer tous les éléments potentiellement pertinents, même si cela implique d'inclure des éléments moins pertinents. Ils renvoient souvent un ensemble de candidats plus important que nécessaire.

Un reranker prend ensuite un sous-ensemble plus petit de ces meilleurs candidats (par exemple, les 100 premiers résultats de la recherche initiale) et applique un modèle plus puissant et plus exigeant en termes de calcul. Ce modèle peut effectuer une analyse plus approfondie de la relation entre la requête de l'utilisateur et chaque élément candidat. Les techniques courantes impliquent l'utilisation de modèles d'apprentissage profond (DL) complexes comme les Transformers, en particulier les variantes connues sous le nom de cross-encoders. Les cross-encodeurs évaluent la requête et un élément candidat ensemble, ce qui permet une compréhension riche de la pertinence contextuelle, souvent supérieure à l'étape de récupération initiale qui pourrait évaluer séparément les enchâssements de la requête et de l'élément. Le reranker produit un nouveau score de pertinence affiné pour chaque candidat, ce qui permet au système de présenter les éléments les plus pertinents en premier, améliorant ainsi la précision des résultats finaux.

Reranking vs. recherche initiale

Il est crucial de distinguer les rerankers de l'étape initiale de recherche ou de classement :

  • Récupération initiale (première étape) :
    • Objectif : trouver rapidement un large ensemble de candidats potentiellement pertinents à partir d'un grand corpus. Priorité à la rapidité et au rappel.
    • Méthodes : Utilise souvent des techniques comme les index inversés(Apache Lucene, Elasticsearch), la recherche ANN sur les embeddings, ou des fonctions de notation plus simples.
    • Complexité : Moins coûteux sur le plan informatique par article, extensible à des milliards d'articles.
  • Reranking (deuxième étape) :
    • Objectif : reclasser avec précision un ensemble plus restreint de meilleurs candidats fournis par la première étape. Priorité à la précision et à la pertinence.
    • Méthodes : Utilise des modèles plus complexes comme les codeurs croisés basés sur BERT, les transformateurs ou d'autres interactions de caractéristiques sophistiquées. Les techniques impliquent souvent le réglage d'hyperparamètres pour une performance optimale.
    • Complexité : Plus coûteux sur le plan informatique par élément, mais appliqué uniquement à un nombre limité de candidats (par exemple, les 50 à 200 premiers).

Applications et exemples

Les re-rangeurs sont essentiels dans de nombreuses applications modernes de l'IA :

  • Moteurs de recherche sur le web : Des entreprises comme Google et Microsoft Bing utilisent des systèmes de classement en plusieurs étapes où les rerankers jouent un rôle crucial dans l'affinement des premiers résultats de recherche présentés aux utilisateurs, en tenant compte de facteurs nuancés qui vont au-delà de la simple correspondance des mots clés. Il s'agit d'un élément essentiel de la recherche d'informations.
  • Plateformes de commerce électronique : Les sites comme Amazon utilisent les rerankers pour affiner les recommandations de produits et les résultats de recherche, en montrant aux utilisateurs des articles qu'ils sont plus susceptibles d'acheter en se basant sur des modèles complexes de comportement des utilisateurs et sur les caractéristiques des articles. Cette méthode est décrite en détail dans les recherches menées par des sites tels qu'Amazon Science.
  • Génération améliorée par récupération (RAG) : Dans les systèmes utilisant de grands modèles linguistiques (LLM), la RAG récupère d'abord les documents pertinents pour fournir un contexte. Un reranker peut ensuite affiner ces documents récupérés, en s'assurant que le contexte le plus pertinent est transmis au LLM pour générer une réponse plus précise et mieux informée. Des services tels que l'API Cohere Rerank sont spécifiquement conçus à cette fin.
  • Post-traitement de la vision par ordinateur : Bien qu'elles ne soient pas traditionnellement appelées "rerankers", des techniques comme la suppression non maximale (NMS) utilisées dans des modèles de détection d'objets tels que Ultralytics YOLO partagent une philosophie similaire. La NMS affine un ensemble initial de boîtes de délimitation prédites en fonction des scores de confiance et du chevauchement(IoU), en conservant les détections les plus probables et en supprimant celles qui sont redondantes, un peu comme si on affinait les candidats initiaux. Tu peux trouver des conseils sur l'entraînement des modèles et explorer les repères de performance pour de tels modèles. La formation de ces modèles s'appuie souvent sur des plateformes comme Ultralytics HUB pour la gestion des ensembles de données et des expériences.
Tout lire