Par Maxime Jumelle
CTO & Co-Founder
Publié le 19 févr. 2025
Catégorie IA Générative
Comme pour la plupart des outils, les systèmes RAG sont faciles à utiliser, mais difficiles à maîtriser. La réalité est que le RAG ne se limite pas à insérer des documents dans une base de données vectorielle et à y ajouter un modèle de langage. Cela peut fonctionner, mais ce n’est pas toujours suffisant pour garantir des résultats fiables et cohérents.
Après une récupération initiale des documents ou passages, ces derniers ne sont pas toujours classés dans un ordre optimal pour la tâche. Le reranking, ou réordonnancement, intervient pour affiner cette sélection en réévaluant et en classant les documents selon leur pertinence et leur utilité, permettant ainsi de produire des réponses plus précises et adaptées aux besoins des utilisateurs.
Dans cet article, nous allons explorer en détails la technique du reranking, et comprendre comment concevoir des pipelines de reranking performants, adaptés à une variété d’applications.
Avant de plonger dans la solution, comprenons d'abord le défi auquel nous faisons face. Dans un système RAG, nous effectuons une recherche sémantique dans un ensemble massif de documents. Ces documents peuvent être en nombre de milliers à plusieurs milliards, ce qui rend la recherche rapide et efficace indispensable.
Pour effectuer cette recherche à grande échelle, nous utilisons généralement la recherche vectorielle. Concrètement, cela implique de transformer les textes en vecteurs, qui sont ensuite placés dans un espace vectoriel. Lorsque nous effectuons une requête, nous comparons la proximité de ces vecteurs avec celui de la requête en utilisant une mesure de similarité, comme la similarité cosinus.
Cependant, cette approche a ses limites : les vecteurs sont une représentation condensée du contenu d'un texte, ce qui entraîne une perte d'information. De ce fait, les premiers documents récupérés par cette méthode ne sont pas toujours les plus pertinents pour la tâche. Il se peut que des documents importants soient relégués à une position inférieure dans les résultats de la recherche.
Dans cette situation, une solution simple consisterait à augmenter le nombre de documents retournés, mais cela pose un autre problème. Les LLMs ont des fenêtres contextuelles limitées, c'est-à-dire qu'ils ne peuvent traiter qu'une quantité de texte bien définie à la fois. Si l'on inclut trop de documents dans cette fenêtre, la performance du modèle peut en souffrir, car il ne sera pas capable de traiter efficacement toutes les informations.
La véritable solution consiste donc à optimiser la récupération des documents en augmentant leur nombre, tout en veillant à ce que seuls les documents les plus pertinents arrivent réellement dans la fenêtre contextuelle du LLM. C’est ici qu'intervient le reranking.
Le reranking consiste à réorganiser les documents récupérés pour ne garder que ceux qui apporteront le plus de valeur au modèle. En triant les documents avant de les transmettre au LLM, on améliore la pertinence des réponses tout en optimisant l'information que le modèle doit traiter. Ainsi, la qualité de la génération est améliorée sans dépasser les limites de capacité du modèle.
Le reranking intervient, dans le pipeline RAG, juste après la récupération des contextes par le retriever.
Examinons de manière détaillée son fonctionnement et les différentes étapes qui permettent d'optimiser la pertinence des documents récupérés.
La première étape du reranking consiste à effectuer une récupération initiale des documents ou des passages à l’aide de méthodes classiques de recherche d'information. Ces méthodes ne tiennent pas encore compte de la sémantique contextuelle, mais elles se concentrent plutôt sur la correspondance de mots-clés ou de concepts de manière plus brute.
À découvrir : notre formation LLM Engineering
Supposons que l'utilisateur pose la question suivante : Quels sont les symptômes du COVID-19 ?
. En utilisant une méthode de recherche comme BM25 ou similarité vectorielle, le système peut récupérer les 10 premiers documents contenant des mots-clés comme symptômes
, COVID-19
, et maladie
. Ces documents sont classés en fonction de leur pertinence selon ces mots-clés, mais il est possible que certains documents contenant des informations contextuellement plus importantes ne soient pas en tête de la liste.
Après la récupération initiale, les documents sont envoyés à un reranker pour une analyse plus approfondie de leur pertinence. Ce reranker peut être basé sur différentes techniques, qui prennent en compte non seulement les mots-clés de la requête, mais aussi leur signification et le contexte dans lequel ils apparaissent.
Le reranking intervient à cette étape, où les documents sont réordonnés en fonction des scores de pertinence obtenus par le modèle de langage.
Les documents les plus pertinents sont donc remontés dans les premiers résultats, tandis que ceux jugés moins pertinents sont relégués à des positions inférieures. L'idée principale du reranking est de comprendre le sens de la requête et du texte, pas seulement les mots-clés qui s'y trouvent.
Dans un pipeline RAG, le reranking s'intègre comme une étape supplémentaire après la récupération des documents, mais avant la génération de la réponse. Le but est de maximiser la relevance des informations envoyées au modèle de génération, en s'assurant que seules les informations les plus pertinentes sont utilisées pour créer une réponse.
Les rerankers peuvent être divisés en plusieurs catégories, en fonction de la complexité de la méthode utilisée pour réorganiser les documents récupérés. Chaque type de reranker a des cas d'usage spécifiques, qui dépendent des besoins de la tâche et des ressources disponibles.
Les rerankers classiques reposent sur des méthodes simples mais efficaces pour évaluer la pertinence des documents. Ces techniques sont rapides, peu coûteuses en ressources et conviennent bien pour des applications où la vitesse de traitement est cruciale, mais où la compréhension contextuelle est secondaire :
Similarité cosinus : Cette technique mesure la similarité entre les vecteurs de la requête et des documents en calculant l'angle entre leurs représentations vectorielles.
TF-IDF (Term Frequency-Inverse Document Frequency) : Cette méthode évalue l'importance d’un terme dans un document par rapport à l’ensemble du corpus.
Ces techniques sont utilisées dans des systèmes où la rapidité est cruciale, comme dans les moteurs de recherche ou les systèmes de recommandation. Elles peuvent être combinées pour optimiser la performance : par exemple, TF-IDF peut être utilisé pour une première sélection rapide des documents, puis la similarité cosinus peut être appliquée pour réorganiser les résultats en fonction de la pertinence contextuelle. Inversement, un reranker basé sur la similarité cosinus peut d'abord être utilisé pour récupérer les documents les plus sémantiquement proches, puis TF-IDF peut affiner cette sélection selon la fréquence des termes, apportant une précision supplémentaire.
Ce type de reranker est efficace pour des recherches de type "mot-clé" ou pour des articles techniques où des termes spécifiques sont cruciaux.
Les cross-encoders révolutionnent l'approche traditionnelle en utilisant un mécanisme de classification pour des paires de données. Ils prennent une paire de données, comme une requête et un document, et les traitent ensemble dans un même passage, produisant un score entre 0 et 1 qui indique la similarité entre ces deux éléments. Cette méthode permet d'obtenir une compréhension plus fine de la relation sémantique entre la requête et le document.
Le fonctionnement des cross-encoders repose sur la concaténation de la requête et du document en une seule séquence, qui est ensuite envoyée dans un modèle de langage pour obtenir un score de pertinence. Cette approche permet d'évaluer de manière précise la relation entre la requête et le document en tenant compte de leur interaction et de leur dépendance mutuelle. Par conséquent, les cross-encoders sont particulièrement efficaces dans des tâches nécessitant un reranking très précis.
À lire : découvrez notre formation LLM Engineering
Cependant, leur utilisation présente un coût computationnel élevé. En effet, chaque paire requête-document doit être traitée ensemble, ce qui peut ralentir le processus, surtout lorsqu'il s'agit d'un grand nombre de documents à analyser. De plus, ces modèles ne peuvent pas gérer des données indépendantes, ce qui les rend inadaptés pour des situations où les éléments doivent être traités individuellement.
Les cross-encoders sont donc idéaux pour les scénarios où la qualité de la pertinence est essentielle, mais leur coût en ressources les limite à des cas où un nombre restreint de documents est traité, ou lorsque la précision du reranking justifie l'investissement en ressources.
Les rerankers neuronaux utilisent des modèles de langage pré-entraînés tels que GPT ou Mistral, qui sont capables de comprendre le contexte sémantique et de générer des scores de pertinence plus précis en prenant en compte le sens profond des mots et des phrases. Ces rerankers sont particulièrement efficaces dans les contextes où le sens et le contexte de la requête sont complexes et peuvent varier.
Par exemple, dans une recherche juridique, un modèle comme BERT priorise les documents qui saisissent les relations complexes entre des termes comme "réglementation", "confidentialité", et "données personnelles", au lieu de simplement compter les occurrences des mots-clés.
Supposons que l'un des documents récupérés contienne une phrase comme "Les symptômes du COVID-19 comprennent la toux, la fièvre et la perte de goût ou d'odorat". Bien que ce document soit pertinent, le modèle de langage peut repérer qu’un autre document explique plus en détail les symptômes neurologiques, qui peuvent aussi être pertinents dans le cadre de cette question. En analysant le contexte et la sémantique de la requête, le modèle peut donner une meilleure note à ce document plus détaillé, même si, dans la récupération initiale, il était classé en deuxième ou troisième position.
Il suffit dans ce cas de faire appel au LLM avec un prompt comme celui-ci.
Ce type de reranker est extrêmement performant, mais il est très coûteux en termes de ressources et d'investissements financiers.
Les rerankers hybrides combinent à la fois des méthodes classiques (comme la similarité cosinus ou TF-IDF) et des méthodes basés sur des Cross-Encoders / des LLMs. Cela permet de profiter des avantages des deux approches : la rapidité et la robustesse des méthodes classiques, et la compréhension contextuelle des modèles neuronaux. Les rerankers hybrides sont utilisés lorsque l'on veut équilibrer performance, coût et qualité de la pertinence.
Le reranking présente plusieurs avantages, en particulier lorsqu'il s'agit d'améliorer la qualité des réponses générées par des modèles comme les LLMs.
Amélioration de la pertinence des réponses : Le reranking permet de réordonner les passages récupérés par le système de recherche en fonction de leur pertinence par rapport à la question posée. Cela augmente la probabilité que le modèle génère une réponse plus précise et mieux adaptée à l'utilisateur.
Gestion des réponses ambiguës : Parfois, la récupération de documents ou passages peut donner plusieurs résultats pertinents mais de manière ambiguë. Le reranking permet de mieux gérer cette ambiguïté en priorisant les passages qui fournissent le meilleur contexte pour générer une réponse.
Réduction des erreurs générées : Le reranking améliore la qualité de l'ensemble des passages utilisés dans le processus de génération en filtrant les documents les moins pertinents. Cela réduit la possibilité que le modèle se base sur des informations incorrectes ou non pertinentes.
Néanmoins, il y a également quelques inconvénients lors de l'implémentation d'un reranker.
Complexité accrue du pipeline : L'ajout d'une étape de reranking augmente la complexité du système global. Cela nécessite des modèles et des processus supplémentaires pour évaluer et réordonner les passages récupérés, ce qui peut rendre l'architecture plus difficile à maintenir et à optimiser.
Coût computationnel plus élevé : Le reranking, surtout s'il utilise des modèles complexes, peut augmenter le temps de calcul et la consommation de ressources. Cela peut entraîner des coûts plus élevés en termes de matériel ou de cloud computing, particulièrement lorsque les modèles de reranking sont lourds.
Dépendance aux données d'entraînement : Si le modèle de reranking n'a pas été correctement entraîné ou s'il est biaisé par les données, il peut mal classer les passages. Cela peut conduire à une mauvaise priorisation des informations, affectant négativement la qualité des réponses générées.
Comme vous l'avons vu, le rôle essentiel d'un reranker et son fonctionnement dans un pipeline RAG est efficace pour optimiser la sélection des documents pertinents. Il permet souvent d'améliorer la précision des réponses apportées par un LLM en ne lui fournissant que les contextes pertinents par rapport à la question.
En revanche, il faut garder à l'esprit que cela rajoute une étape supplémentaire dans le pipeline RAG, et notamment des temps d'exécution plus importants.
Vous souhaitez vous former à l'IA Générative ?
Articles similaires
4 mars 2025
Pour garantir l'efficacité d’un système RAG, , il est primordial de disposer de méthodes d’évaluation robustes et adaptées. Ces évaluations permettent non seulement d’identifier les faiblesses des différent composants du système (notamment du retriever et du générateur), mais aussi d’optimiser ses performances globales.
Maxime Jumelle
CTO & Co-Founder
Lire l'article
14 févr. 2025
Une fois que des LLM sont entraînés sur un très grand corpus, ce dernier se veut le plus généraliste possible pour capter énormément de situations et de contextes, pour apporter des réponses précises. Seulement, ces LLM ne sont pas en mesure d'avoir accès à une base de connaissance personnalisée, sur des documents de tous types dans une entreprise par exemple.
Maxime Jumelle
CTO & Co-Founder
Lire l'article
13 févr. 2024
Avec l'explosion de l'IA Générative appliquée à la génération de texte ces dernières années, de nombreuses entreprises ont souhaité pouvoir déployer en interne leur propres LLM. Elles disposent ainsi de deux possibilités : utiliser directement des modèles disponibles en version SaaS comme ChatGPT ou Cohere, ou déployer dans leur propre SI un LLM open source adaptés à leurs propres besoins.
Maxime Jumelle
CTO & Co-Founder
Lire l'article
60 rue François 1er
75008 Paris
Blent est une plateforme 100% en ligne pour se former aux métiers Tech & Data.
Organisme de formation n°11755985075.
Data Engineering
IA Générative
MLOps
Cloud & DevOps
À propos
Gestion des cookies
© 2025 Blent.ai | Tous droits réservés