Les solutions RAG suscitent de nombreuses questions :
Disposer d’une stratégie d’évaluation claire tout au long du développement d’une solution RAG est crucial pour garantir un passage en production réussi. Nous voyons toutes sortes d’évaluations empiriques réalisées au cours des projets pilotes qui ne sont pas parfois reproductibles. Pour améliorer les performances d’une solution RAG en cours de développement ou pour diagnostiquer correctement un problème de production, les tâches d’évaluation doivent être reproductibles et rapides à exécuter. Les pipelines RAG doivent être évalués de manière systématique et cohérente, tant pour la partie récupération que pour la partie génération.
Il est essentiel de comprendre la performance des solutions RAG au cours des différentes étapes du cycle de vie de la solution, notamment lors de :
Cependant, les efforts nécessaires pour développer un moteur d’évaluation ne doivent pas être sous-estimés, surtout lorsqu’il s’agit de créer un jeu de données de référence (vérité terrain) contenant des réponses et des contextes de référence.
Dans ce document, nous aborderons différentes approches et indicateurs d’évaluation et mettrons en lumière plusieurs actifs qu’il est possible de réutiliser afin de faciliter l’évaluation de ces solutions.
Le LLmaaj (LLM en tant que juge) est devenu l’année dernière un indicateur de premier plan pour relever le défi de créer un moteur d’évaluation basé sur des références. Il a été démontré que cette technique d’évaluation produit une corrélation correcte avec le jugement humain. Voici plusieurs propriétés qui ne peuvent pas être quantifiées par les indicateurs et les benchmarks existants mais qui peuvent être évaluées par LLMaaj :
Par exemple, lorsqu’on utilise un modèle de notation pour évaluer la production d’autres modèles, le prompt de notation doit contenir une description des attributs à noter et l’échelle de notation, et doit être interpolé pour inclure la réponse à évaluer.
Dans cet exemple, le modèle est invité à évaluer le style linguistique de la réponse et à renvoyer une classification.
Tu es un juge de notation équitable et non biaisé. On te demande de classer la réponse d’un chatbot en fonction de son sentiment. Évalue la réponse ci-dessous et extraie la classe correspondante. Les classes possibles sont POSITIVE, NEUTRE, NÉGATIVE. Explique ton raisonnement et termine en indiquant le sentiment identifié.
{{response}}
Ou encore, par exemple, voici un exemple d’apprentissage few-shot d’une évaluation pilotée par LLM pour des tâches NER (reconnaissance des entités nommées).
-----------------------------------Prompt--------------------------------------------Tu es un évaluateur professionnel dont la tâche est d’évaluer la précision de l’extraction d’entités sous forme de score dans un texte donné. Tu reçois un texte, une entité et la valeur de l’entité. Fournis un score numérique sur une échelle de 0 à 1, où 1 est le meilleur score et 0 le pire. Utilise strictement des valeurs numériques pour la notation. Voici quelques exemples : Texte : Où se trouve le bureau d’IBM à New York ? Entité : nom de l’entreprise Valeur : IBM Score : 0 Texte : Appelez le service client au 1-800-555-1234 pour obtenir de l’aide. Entité : numéro de téléphone Valeur : +1 888 426 4409 Score : 1 Texte : watsonx comporte trois composants : watsonx.ai, watsonx.data et watsonx.governance. Entité : nom du produit Valeur : Google Score : 0,33 Texte : La conférence se tiendra le 15 août 2024. Entité : date Valeur : 15 août 2024 Score : 1 Texte : Mes collègues John et Alice participeront à la réunion. Entité : nom de la personne Valeur : Alice Score : 1 -----------------------------------Résultat---------------------------------------------Score : 0,67 --------------------------------------------------------------------------------------
La complexité des systèmes RAG est fortement influencée par la nature énigmatique des grands modèles de langage (LLM), ainsi que par les composants complexes et interconnectés au sein du pipeline RAG. Alors que la technologie continue de progresser à un rythme sans précédent, l’évaluation d’un système aussi complexe devient une tâche de plus en plus ardue. Pour relever ce défi, une myriade d’outils de référence et d’évaluation ont été développés spécifiquement pour les systèmes RAG. Ces ressources servent à fournir une approche standardisée et systématique de l’évaluation de performance et de l’efficacité de ces systèmes.
Par exemple, comme le montre le tableau ci-dessous (adapté de « Evaluation of Retrieval-Augmented Generation: A Survey » ), il existe un large éventail de méthodes et d’outils d’évaluation RAG, chacun ayant ses propres atouts et applications. Ce tableau, qui n’est pas exhaustif, donne un bref aperçu du paysage actuel de l’évaluation RAG.
Dans le contexte de la partie récupération des systèmes RAG, plusieurs défis se posent,
En ce qui concerne la partie récupération, les défis surviennent principalement en raison de la nature étendue et dynamique des dépôts de connaissances prospectifs, des facettes temporelles des données et de l’hétérogénéité des sources d’information. Compte tenu de ces défis, il devient évident que les mesures d’évaluation conventionnelles, telles que le rappel et la précision, sont inadéquates et mal équipées pour fournir une évaluation complète. Il est donc nécessaire de disposer d’indicateurs plus nuancés et contextuels, capables de saisir efficacement la complexité et les subtilités du processus de récupération.
Concernant la partie génération, il est crucial de considérer la relation complexe entre la précision du processus de récupération et la qualité de la production générée. Cela nécessite le développement et la mise en œuvre d’indicateurs d’évaluation globale qui peuvent fournir une évaluation nuancée des performances du système.
En conséquence, l’évaluation du système RAG dans son ensemble nécessite un examen approfondi de l’impact de la partie récupération sur le processus de génération, ainsi qu’une évaluation de l’efficacité globale du système dans la réalisation de ses buts et objectifs.
La triade RAG est un cadre d’évaluation de la fiabilité et de la précision contextuelle des réponses du grand modèle linguistique (LLM). Elle comporte trois évaluations : la pertinence du contexte, l’ancrage et la pertinence de la réponse. Ces évaluations visent à identifier les hallucinations dans les réponses du LLM en vérifiant la pertinence du contexte, la fiabilité de la réponse par rapport au contexte et l’alignement des réponses avec les demandes des utilisateurs.
L’évaluation RAG peut être réalisée à l’aide d’indicateurs automatiques basés sur des références ou d’indicateurs sans référence. Il existe un classement sur HuggingFace qui permet de comparer les LLM open source les uns par rapport aux autres.
Les indicateurs de récupération ci-dessous sont basés sur des références, ce qui signifie que chaque bloc doit être identifié de manière unique (contexts_id) et que chaque question possède des identifiants uniques des contextes de vérité terrain.
Pour le RAG, il est pertinent d’utiliser des indicateurs d’évaluation qui tiennent compte de l’ordre des résultats, à l’image de ceux utilisés pour les systèmes de recommandation.
Le MRR est utilisé dans Unitxt et mesure la position du premier document pertinent dans les résultats de recherche. Un MRR élevé, proche de 1, indique que les résultats pertinents apparaissent en haut de la liste, ce qui reflète une qualité de recherche élevée. Inversement, un MRR bas signifie une performance de recherche moindre, les réponses pertinentes étant positionnées plus bas dans les résultats.
Avantages : l’accent est mis sur l’importance du premier résultat pertinent, ce qui est souvent critique dans les scénarios de recherche.
Inconvénients : une limite de cette méthode est qu’elle ne pénalise pas la récupération pour l’attribution d’un rang bas à d’autres vérités terrain ; elle n’est pas adaptée pour évaluer l’intégralité de la liste des résultats récupérés, car elle se concentre uniquement sur le premier élément pertinent.
Indicateur de qualité de classement qui évalue la qualité de l’ordre d’une liste d’éléments par rapport à un classement idéal, où tous les éléments pertinents seraient positionnés en tête de liste.
Le NDCG@k se calcule en divisant le DCG@k par le DCG@k idéal (IDCG@k), lequel correspond au score d’une liste d’éléments parfaitement classés jusqu’à la position k. Le DCG mesure la pertinence totale des éléments dans une liste.
varie de 0 à 1
Avantages : tient compte de la position des éléments pertinents, ce qui donne une vision plus globale de la qualité du classement ; peut être ajusté pour différents niveaux de classement (par exemple, NDCG@k).
Inconvénients : plus complexe à calculer et à interpréter par rapport à des mesures plus simples comme le MRR ; nécessite un classement idéal pour la comparaison, qui n’est pas toujours disponible ou facile à définir.
La MAP est un indicateur qui évalue le classement de chaque document correctement récupéré dans une liste de résultats.
Elle est utile lorsque votre système doit tenir compte de l’ordre des résultats et extraire plusieurs documents en une seule fois.
Avantages : cette méthode tient compte à la fois de la précision et du rappel, ce qui permet une évaluation équilibrée des performances de récupération. Elle convient aux tâches nécessitant plusieurs documents pertinents et leur classement correct.
Inconvénients : cette méthode peut être plus exigeante en termes de calcul que des indicateurs plus simples ; elle peut ne pas être aussi simple à interpréter que d’autres indicateurs, car elle nécessite plus de contexte pour comprendre pleinement les résultats.
Mesure si la production est basée sur le contexte donné ou si le modèle génère des réponses hallucinées.
Avantages : garantit que les réponses générées sont fiables et basées sur le contexte fourni ; vital pour les applications où l’exactitude des faits est primordiale.
Inconvénients : l’évaluation nécessite souvent un jugement humain, ce qui la rend laborieuse et subjective ; elle peut ne pas tenir pleinement compte des inexactitudes partielles ou des hallucinations subtiles.
La robustesse est généralement définie comme la capacité de la solution à s’adapter à différentes variations d’entrée telles que des perturbations de données comme les espaces blancs, les minuscules/majuscules, les tabulations, etc.
Tester la robustesse des éléments est un aspect important du processus d’évaluation et peut être réalisé par exemple à l’aide de la sémantique Unitxt
Avantages : cet indicateur garantit que le modèle fonctionne de manière fiable dans des conditions d’entrée variées ; l’applicabilité en conditions réelles est d’ailleurs un atout majeur, notamment pour les applications pratiques où les données d’entrée ne sont pas toujours parfaitement formatées.
Inconvénients : cet indicateur nécessite des tests approfondis sur de multiples variations, ce qui peut s’avérer particulièrement chronophage ; la définition même de ces variations représente d’ailleurs un défi de taille, car il est complexe de définir et de mesurer toutes les perturbations possibles des données d’entrée.
Cet indicateur mesure la qualité de la génération de texte en comparant le chevauchement des n-grammes, des séquences de mots et des paires de mots entre le texte généré par la machine et un ensemble de textes de référence. Il est largement utilisé pour l’évaluation de tâches telles que le résumé automatique de texte et la traduction.
Avantages : cet indicateur est solidement établi et reconnu au sein de la communauté du traitement du langage naturel (NLP), ce qui en fait un standard de comparaison fiable ; il s’avère particulièrement adapté aux tâches où la capture de l’intégralité des informations pertinentes est un enjeu majeur.
Inconvénients : cet indicateur se concentre sur le chevauchement des n-grammes, ce qui peut ne pas refléter la qualité sémantique ou la fluidité ; il peut être influencé par la longueur du texte généré, pénalisant potentiellement les sorties plus courtes ou plus concises.
Il mesure la qualité d’un texte traduit par une machine en le comparant à une ou plusieurs traductions de référence. Il évalue la précision des n-grammes dans le texte généré par rapport aux textes de référence. Il est principalement utilisé pour évaluer la traduction.
Avantages : efficace pour les tâches où la précision et les correspondances exactes sont importantes ; Indicateur standard : largement adopté par la communauté de la traduction automatique, il fournit un point de référence à des fins de comparaison.
Inconvénients : il peut pénaliser des variations légitimes de formulation qui ne correspondent pas exactement aux textes de référence ; il présente une certaine cécité face aux inexactitudes partielles, car il ne parvient pas toujours à saisir les nuances de sens ou les subtiles différences d’interprétation.
L’utilisation du processeur est principalement utilisée pour la phase de récupération, et celle du GPU est principalement utilisée pour la phase de génération.
Exemple : coût des appels à l’API OpenAI
Coûts liés au stockage, à la mise en réseau, aux ressources informatiques, etc.
Coûts de maintenance, d’assistance, de surveillance, de journalisation, de mesures de sécurité, etc.
Si les indicateurs de récupération indiquent une performance sous-optimale, mais que les indicateurs de génération donnent des résultats favorables, il est conseillé de :
Inversement, si les indicateurs de récupération démontrent une forte performance mais que les résultats de génération sont sous-optimaux, envisagez les stratégies suivantes pour améliorer la performance du modèle :
Dans le scénario où les indicateurs de récupération et de génération montrent des performances inférieures, il est prudent de revoir et de reconsidérer les étapes initiales du pipeline, telles que l’amélioration des métadonnées, l’affinement de la base de connaissances et l’optimisation du mécanisme de récupération.
Cette approche met l’accent sur l’importance d’une évaluation complète et nuancée du système RAG, en tenant compte de l’interaction entre les parties récupération et génération, ainsi que de l’efficacité globale du système par rapport aux objectifs visés.
Vicky Kuo, Amna Jamal, Luke Major, Chris Kirby
Mise à jour : 15 novembre 2024