Aller au contenu principal

Introduction à l'évaluation et au monitoring des applications RAG

L'évaluation et le monitoring sont des éléments essentiels pour comprendre si votre application RAG est conforme aux exigences de qualité, de coût et de latence dictées par votre cas d'utilisation. Techniquement, l'évaluation a lieu pendant le développement et le monitoring une fois que l'application est déployée en production, mais les composants fondamentaux sont similaires.

Le RAG sur des données non structurées est un système complexe comportant de nombreux composants qui impactent la qualité de l'application. L'ajustement de n'importe quel élément unique peut avoir des effets en cascade sur les autres. Par exemple, les modifications de formatage des données peuvent influencer les segments récupérés et la capacité du LLM à générer des réponses pertinentes. Il est donc essentiel d'évaluer chacun des composants de l'application, en plus de l'application dans son ensemble, afin de l'affiner de manière itérative sur la base de ces évaluations.

Évaluation & monitoring : ML classique vs. IA générative

L'évaluation et le monitoring des applications d'IA générative, y compris la RAG, diffèrent du Machine Learning classique à plusieurs égards :

Sujet

ML classique

IA générative

Métriques

Les métriques évaluent les entrées et les sorties du composant, par exemple, le drift des fonctionnalités, la précision, le rappel, la latence, etc. Puisqu'il n'y a qu'un seul composant, les métriques globales == les métriques des composants.

Les métriques des composants évaluent les entrées et les sorties de chaque composant, par exemple la précision @ K, le nDCG, la latence, la toxicité, etc. Les métriques composées évaluent la façon dont plusieurs composants interagissent : la fidélité mesure l'adhérence du générateur aux connaissances issues d'un récupérateur qui nécessite l'entrée de la chaîne, la sortie de la chaîne et la sortie du récupérateur interne. Les métriques globales évaluent l'entrée et la sortie globales du système, par exemple, l'exactitude des réponses et la latence.

Évaluation

La réponse est déterminée comme « correcte » ou « incorrecte ». Les métriques déterministes fonctionnent.

La réponse est « bonne » ou « mauvaise », mais : • Il y a plusieurs bonnes réponses (non déterministes). • Certaines bonnes réponses sont plus justes. Vous avez besoin : • D'un feedback humain pour être confiant. • Métriques évaluées par LLM pour faire évoluer l’évaluation.

Sujet

ML classique

IA générative

Métriques

Les métriques évaluent les entrées et les sorties du composant, par exemple, le drift des fonctionnalités, la précision, le rappel, la latence, etc. Puisqu'il n'y a qu'un seul composant, les métriques globales == les métriques des composants.

Les métriques des composants évaluent les entrées et les sorties de chaque composant, par exemple la précision @ K, le nDCG, la latence, la toxicité, etc. Les métriques composées évaluent la façon dont plusieurs composants interagissent : la fidélité mesure l'adhérence du générateur aux connaissances issues d'un récupérateur qui nécessite l'entrée de la chaîne, la sortie de la chaîne et la sortie du récupérateur interne. Les métriques globales évaluent l'entrée et la sortie globales du système, par exemple, l'exactitude des réponses et la latence.

Évaluation

La réponse est déterminée comme « correcte » ou « incorrecte ». Les métriques déterministes fonctionnent.

La réponse est « bonne » ou « mauvaise », mais : • Il y a plusieurs bonnes réponses (non déterministes). • Certaines bonnes réponses sont plus justes. Vous avez besoin : • D'un feedback humain pour être confiant. • Métriques évaluées par LLM pour faire évoluer l’évaluation.

Composants d’évaluation et de monitoring

L'évaluation et le monitoring efficaces de la qualité, du coût et de la latence des applications RAG nécessitent plusieurs composants :

  • Ensemble d'évaluation : Pour évaluer rigoureusement votre application RAG, vous avez besoin d'un jeu sélectionné de queries d'évaluation (et idéalement de sorties) qui sont représentatives de l'utilisation prévue de l'application. Ces exemples d'évaluation doivent être stimulants, diversifiés et mis à jour pour refléter les évolutions de l'utilisation et des exigences.
  • Définitions des métriques : Vous ne pouvez pas gérer ce que vous ne mesurez pas. Pour améliorer la qualité de la RAG, il est essentiel de définir ce que la qualité signifie pour votre cas d'usage. Selon l'application, les métriques importantes peuvent inclure la précision de la réponse, la latence, le coût ou les évaluations des parties prenantes clés. Vous aurez besoin de métriques qui mesurent chaque composant, la façon dont les composants interagissent entre eux, ainsi que le système global.
  • Juges LLM : Compte tenu de la nature ouverte des réponses des LLM, il n'est pas réalisable de lire chaque réponse à chaque évaluation pour déterminer si la sortie est correcte. L'utilisation d'un LLM supplémentaire et différent pour examiner les sorties peut aider à monter en charge votre évaluation et à calculer des métriques supplémentaires, telles que l'ancrage d'une réponse à des milliers de jetons de contexte, ce qui serait irréalisable pour des évaluateurs humains d'évaluer efficacement à grande échelle.
  • Faisceau d'évaluation : Pendant le développement, un faisceau d'évaluation vous aide à exécuter rapidement votre application pour chaque enregistrement de votre ensemble d'évaluation, puis à exécuter chaque sortie via vos juges LLM et vos calculs de métriques. Ceci est particulièrement difficile, car cette étape « bloque » votre boucle de développement interne, la rapidité est donc de la plus haute importance. Un bon faisceau d'évaluation parallélise ce travail autant que possible, souvent en lançant une infrastructure supplémentaire telle qu'une capacité LLM accrue pour ce faire.
  • **UI destinée aux parties prenantes :** En tant que développeur, vous n'êtes peut-être pas un expert du domaine concernant le contenu de l'application que vous développez. Pour recueillir les retours d’experts humains capables d’évaluer la qualité de votre application, vous avez besoin d’une interface qui leur permette d’interagir avec l’application et de fournir des retours détaillés.
  • **Journalisation des traces de production :** Une fois en production, vous devez évaluer une quantité nettement plus élevée de requêtes/réponses et la manière dont chaque réponse a été générée. Par exemple, vous devez savoir si la cause profonde d'une réponse de mauvaise qualité est due à l'étape de récupération ou à une hallucination. Votre journalisation de production doit suivre les entrées, les sorties et les étapes intermédiaires telles que la récupération de documents pour permettre un monitoring continu et la détection et le diagnostic précoces des problèmes survenant en production.

Ces documents couvrent l'évaluation beaucoup plus en détail dans Évaluer la qualité du RAG.