Configuration du test
L'auteur a conçu un minuscule système de génération augmentée par récupération (RAG) basé sur deux documents de règles de paiement et a effectué deux vérifications :
- Test de rappel (Recall) – la bonne page apparaissait-elle parmi les cinq premiers résultats ? Résultat : 60 %.
- Test de réponse – la réponse finale produite par le générateur était-elle correcte ? Résultat : 90 %.
Un écart de 40 % semblait impossible. Si le récupérateur (retriever) manquait la bonne page quatre fois sur dix, comment le modèle pouvait-il encore répondre correctement neuf fois sur dix ?
Premières tentatives pour « corriger » le récupérateur
Le développeur a essayé deux astuces courantes :
- Recherche hybride – mélange de signaux lexicaux et vectoriels. Le rappel est resté identique.
- Reranker – réorganisation des cinq pages récupérées. Le rappel est passé à 70 %, mais restait bien en deçà de la précision de réponse de 90 %.
Ces deux outils ne font que réorganiser ce qui a déjà été récupéré ; ils ne peuvent pas faire apparaître une page qui n'a jamais intégré l'ensemble des candidats. Le problème se situait ailleurs.
C'est la métrique, et non le modèle, qui était défaillante
Au lieu de juger le succès par le label de la page, l'auteur a inspecté les faits réels contenus dans les segments (chunks) récupérés. Dans trois cas d'échec sur quatre, le fait correct était présent, mais il se trouvait sur une page différente de celle attendue par le script de test. L'évaluation pénalisait le récupérateur pour avoir trouvé une réponse correcte sur une page inattendue.
Lorsque la métrique est passée à « est-ce qu'un segment récupéré contient le fait requis ? », le rappel a bondi à 90 %, rejoignant la précision de la réponse. Le récupérateur fonctionnait ; c'est le cadre d'évaluation qui ne fonctionnait pas.
Pourquoi le rappel traditionnel peut être trompeur
- L'étiquetage au niveau de la page crée des échecs fantômes. Un fait unique peut apparaître sur plusieurs pages. Étiqueter une seule page comme vérité terrain (ground truth) traite tous les autres résultats corrects comme des erreurs.
- Les petits corpus amplifient l'effet. Avec peu de documents, une seule page mal étiquetée peut faire varier le rappel de manière spectaculaire alors que la précision de la réponse reste stable.
- Le bruit des embeddings masque les faits. Les vecteurs évaluent des pages entières ; le texte juridique ou technique environnant dilue le signal de pertinence de la phrase cible, faisant descendre la page dans le classement même si le fait est présent.
Conseils pratiques pour les praticiens du RAG
- Séparez les échecs de classement de ceux de la récupération. Les rerankers ne corrigent que le premier ; si le segment correct n'entre jamais dans l'ensemble des candidats, la réorganisation ne sert à rien.
- Étiquetez les données de test au niveau du fait. Liez chaque requête à l'information spécifique dont elle a besoin, et non à un simple identifiant de document.
- Ne faites pas confiance aux benchmarks à grande échelle pour les jeux de données minuscules. Les petits corpus spécialisés se comportent différemment, et les scores de rappel génériques peuvent être trompeurs.
- Surveillez la granularité des embeddings. Un segment de la taille d'une page contient de nombreux mots, et le texte juridique environnant peut faire baisser le rang du fait qui vous intéresse.
En résumé : un score de précision de réponse élevé peut coexister avec un faible taux de rappel traditionnel lorsque l'évaluation est mal alignée avec la tâche. Corriger la métrique, et non le modèle, permet de gagner du temps, de réduire les fausses alertes et d'obtenir des déploiements RAG plus fiables.
