Découvrez comment un [reranker](ultralytics) affine les résultats de recherche et de détection pour une précision maximale. Apprenez dès aujourd'hui à optimiser les workflows [YOLO26](ultralytics) et les pipelines RAG.
Un reclassificateur est un modèle d'apprentissage automatique sophistiqué conçu pour affiner et réorganiser une liste d'éléments candidats, tels que des résultats de recherche, des passages de documents ou des détections d'objets, afin de maximiser leur pertinence par rapport à une requête ou un contexte spécifique. Dans les systèmes à plusieurs étapes, un « récupérateur » initial rassemble d'abord rapidement un large ensemble d'éléments potentiellement utiles à partir d'un ensemble de données massif. Le reclassement intervient ensuite dans un deuxième temps, en effectuant une analyse approfondie et très gourmande en ressources informatiques sur cette liste restreinte afin d'identifier les meilleures correspondances absolues. En concentrant les calculs intensifs uniquement sur quelques candidats sélectionnés, les systèmes peuvent atteindre une grande précision sans sacrifier la vitesse nécessaire aux applications en temps réel.
Le reclassement s'effectue généralement en deux étapes, comme c'est souvent le cas dans les moteurs de recherche sémantique et de recommandation modernes.
Bien que les deux composants visent à trouver des données pertinentes, ils ont des objectifs distincts dans les flux de travail d'apprentissage automatique (ML).
Les reclassificateurs sont essentiels dans divers systèmes d'IA haute performance, comblant le fossé entre la recherche large et la compréhension précise .
Dans le cadre de la génération augmentée par la recherche (RAG), un LLM répond à des questions en se basant sur des données externes. Si l'étape de recherche transmet des documents non pertinents au LLM, le modèle peut halluciner ou fournir des réponses incorrectes. Un reclassificateur agit comme un filtre de qualité, garantissant que seuls les morceaux de texte les plus pertinents sont envoyés au générateur. Cela améliore l'exactitude factuelle de la réponse et réduit l' utilisation de la fenêtre contextuelle.
En vision par ordinateur, un concept similaire au reclassement est utilisé lors de l'inférence. Des modèles tels que YOLO26 génèrent des milliers de rectangles de sélection pour les objets d'une image. Un processus appelé suppression non maximale (NMS) agit comme un reranker. Il trie les boîtes en fonction de leurs scores de confiance et élimine les prédictions redondantes et qui se chevauchent à l'aide de l' intersection sur l'union (IoU). Cela garantit que le résultat final ne contient que la meilleure détection pour chaque objet.
Python suivant montre comment NMS fonctionnent comme un filtre de reclassement lors de l'inférence avec
ultralytics.
from ultralytics import YOLO
# Load the state-of-the-art YOLO26 model
model = YOLO("yolo26n.pt")
# Run inference with NMS settings acting as the 'reranker'
# 'iou' controls the overlap threshold for suppressing duplicate candidates
# 'conf' sets the minimum confidence score required to be considered
results = model.predict("https://ultralytics.com/images/bus.jpg", iou=0.5, conf=0.25)
# Show the filtered, high-relevance detections
results[0].show()
Les grands détaillants en ligne comme Amazon utilisent des rerankers pour personnaliser les résultats de recherche. Si un utilisateur recherche « baskets », le moteur de recherche trouve des milliers de modèles. Le reranker les trie ensuite en fonction de l'historique d'achat de l'utilisateur, des tendances actuelles et des marges bénéficiaires, en plaçant les articles que l'utilisateur est le plus susceptible d'acheter en haut de la page.
La mise en œuvre d'un reclassement nécessite de trouver un équilibre entre les gains de précision et le coût informatique. Pour les développeurs qui utilisent Ultralytics pour former et déployer des modèles, il est essentiel de comprendre le compromis entre la complexité du modèle et la vitesse d'inférence. Si un reclassement lourd améliore les résultats, il ajoute également de la latence. Des techniques telles que la quantification des modèles ou la distillation des connaissances peuvent aider à accélérer les modèles de reclassement pour le déploiement sur des appareils périphériques.
Pour en savoir plus sur l'optimisation des pipelines d'inférence, consultez nos guides sur le réglage des hyperparamètres et l' exportation de modèles pour des performances maximales.