Mise en place d'un système RAG efficace : Partie 2 | Jiayuan (Forrest)

contenu

devv.ai 是如何构建高效的 RAG 系统的 Part 2 这个系列的 thread 会分享 devv.ai 背后构建整个 Retrieval Augmented Generation System 的经验,包括在生产环境上的一些实践。 这是系列的第二篇,主题是「如何评估一个 RAG 系统」。 🧵

Dans la première partie, nous avons mentionné ce qu'est le système RAG, ainsi que les éléments de base qui le composent. Ici, revenons sur ces points. Un système RAG de base se compose des 3 éléments suivants : 1. Modèle de langage 2. Ensemble de connaissances externes 3. Connaissances externes nécessaires dans le contexte actuel

Pour optimiser l'ensemble du système, vous pouvez décomposer le problème en optimisant chaque partie du système. Cependant, l'optimisation d'un système basé sur LLM est difficile car ce système est essentiellement une boîte noire, sans moyen d'évaluation efficace. Sans même un benchmark de base, parler d'améliorer les performances correspondantes est vain.

Donc, la première chose que nous devons faire est d'établir un système d'évaluation pour l'ensemble du système RAG. Ce document de Stanford se concentre principalement sur cette tâche, évaluant la vérifiabilité des moteurs de recherche génératifs. Évaluation de la vérifiabilité dans les moteurs de recherche génératifs arxiv.org/abs/2304.09848

Ce document, bien qu'il soit destiné à évaluer le moteur de recherche génératif, peut également être appliqué à RAG. Fondamentalement, le moteur de recherche génératif est un sous-ensemble de RAG, tout comme les systèmes RAG spécifiques à des domaines particuliers.

Le document mentionne qu'une condition préalable à un moteur de recherche génératif digne de confiance est la vérifiabilité. Nous savons tous que LLM a souvent tendance à délirer (hallucination), générant du contenu qui semble correct mais qui ne l'est pas. L'un des avantages de RAG est de fournir des références au modèle, réduisant ainsi la probabilité d'hallucinations.

Et la réduction de cette illusion peut être évaluée en utilisant l'indicateur de vérifiabilité. Un système RAG idéal devrait : - Avoir un taux élevé de rappel des citations, c'est-à-dire que tout le contenu généré est suffisamment soutenu par des citations (connaissances externes) - Avoir une précision élevée des citations, c'est-à-dire que chaque citation soutient réellement le contenu généré

En réalité, il est impossible d'atteindre 100% pour ces deux mesures. Selon les résultats expérimentaux du document, le contenu généré par le moteur de recherche génératif existant contient souvent des déclarations non fondées et des citations inexactes, avec des taux respectifs de 51,5% et 74,5%. En d'autres termes, le contenu généré ne correspond pas aux connaissances externes.

L'article évalue 4 moteurs de recherche générative principaux : - Bing Chat - NeevaAI (déjà acquis par Snowflake) - Perplexity - YouChat Les questions évaluées proviennent de différents sujets et domaines.

Le système utilise 4 indicateurs pour l'évaluation : 1. fluidité, la fluidité du texte généré 2. utilité perçue, la pertinence du contenu généré 3. rappel de citation, le pourcentage du contenu généré soutenu par des citations 4. précision de citation, le pourcentage de citations soutenant le contenu généré

Les indicateurs 1 et 2 sont généralement des conditions de base. Si celles-ci ne sont pas remplies, tout le système RAG perd de sa signification (même une explication précise ne servirait à rien). Un excellent système RAG devrait obtenir des scores élevés en termes de rappel de citation et de précision de citation.

Comment le cadre d'évaluation spécifique est-il mis en œuvre ? Cette partie utilise un peu de connaissances en mathématiques du collège, et le processus détaillé peut être consulté directement dans le texte original de l'article. La méthode d'évaluation de l'ensemble de l'expérience est basée sur une évaluation "humaine".

1)Évaluation de la fluidité et de l'utilité en fournissant aux évaluateurs les critères d'évaluation correspondants, par exemple, xxx est considéré comme fluide, et en utilisant une échelle de Likert à cinq points pour le calcul, allant de Strongly Disagree à Strongly Agree. De plus, demander aux évaluateurs de noter leur degré d'accord avec l'affirmation "La réponse est une réponse utile et informative à la requête".

2)Évaluation du rappel des citations (Citation Recall) Le rappel des citations fait référence à : le contenu généré avec support de citation / le contenu généré digne de validation Par conséquent, le calcul du rappel nécessite : 1. Identifier les parties dignes de validation du contenu généré 2. Évaluer si chaque contenu digne de validation reçoit un support de citation pertinent

Qu'est-ce que "valeur de validation" ? On peut le comprendre simplement comme une partie du contenu généré qui contient des informations. En pratique, presque tout le contenu généré peut être considéré comme un contenu valable, donc ce taux de rappel peut être approximativement égal à : Taux de rappel = Contenu généré soutenu par des citations / Total du contenu généré

3)Mesure de la précision des citations (Citation Precision) La précision des citations fait référence à la proportion des citations générées qui soutiennent les déclarations connexes. Si le contenu généré cite toutes les pages Web sur Internet pour chaque déclaration générée, le rappel des citations sera très élevé, mais la précision des citations sera très faible, car de nombreux articles ne sont pas pertinents et ne soutiennent pas le contenu généré.

Par exemple, lorsque les moteurs de recherche AI tels que Bing Chat utilisent le chinois pour poser des questions, ils citent souvent du contenu de CSDN, Zhihu, Baidu Zhidao, ce qui donne un taux de rappel des citations très élevé, parfois même chaque phrase générée est accompagnée d'une citation correspondante. Cependant, la précision des citations est très faible, la plupart des citations ne correspondent pas au contenu généré ou sont de mauvaise qualité.

devv.ai a apporté de nombreuses améliorations à la précision des citations, en particulier pour les scénarios multilingues. Lorsqu'il s'agit de poser des questions en chinois, sa précision est nettement supérieure à celle de produits tels que Perplexity, Bing Chat, Phind, etc.

Méthode de calcul précise de la citation n'est pas détaillée ici, veuillez vous référer à la description dans l'article.

Une fois que nous avons la rappel des citations et la précision des citations, nous pouvons calculer l'indicateur final Citation F (moyenne harmonique). Pour obtenir un F élevé, le système entier doit avoir à la fois une haute précision des citations et un rappel élevé des citations.

Voici la méthode complète d'évaluation de la véracité du système RAG. Avec ce système d'évaluation, chaque fois que RAG est optimisé, il est possible de refaire l'évaluation pour déterminer les changements des indicateurs pertinents, ce qui permet de juger globalement si le système RAG s'améliore ou se détériore.

En outre, partageons quelques pratiques de devv.ai lors de l'utilisation de ce système : 1) Ensemble de test L'ensemble de test choisi devrait correspondre aux scénarios correspondants à RAG, par exemple, devv.ai a choisi des ensembles de test liés à la programmation et a ajouté de nombreux ensembles de test multilingues.

2)Automatisation du cadre d'évaluation La méthode utilisée dans l'article est toujours l'évaluation humaine, par exemple, l'article a impliqué 34 évaluateurs dans l'évaluation. Les inconvénients sont : 1. Coûteux en termes de main-d'œuvre et de temps 2. Échantillon limité, entraînant une certaine marge d'erreur

Donc, pour les scénarios industriels, nous mettons en place un cadre d'évaluation automatisé (Evaluation Framework). L'idée principale est :

  1. Entraîner un modèle d'évaluation basé sur llama 2 (taux de rappel de validation et précision des citations) 2. Construire un grand nombre d'ensembles d'évaluation et générer automatiquement des ensembles d'évaluation en fonction des données en ligne 3. Après la modification du module central de RAG, un CI exécutera automatiquement l'ensemble du cadre d'évaluation, générera des points de données et des rapports.

En utilisant cette méthode, il est possible de tester et d'améliorer de manière très efficace, par exemple, pour les modifications de prompt, il est possible de lancer rapidement une expérience a/b, puis de faire fonctionner le cadre d'évaluation pour différents groupes d'expérience, afin d'obtenir les résultats finaux. Actuellement, ce cadre est encore en cours de développement interne et d'expérimentation, et il est possible qu'à l'avenir, nous envisagions de rendre public le modèle d'évaluation correspondant et le code du cadre. (On a l'impression qu'avec juste ce cadre d'évaluation, on pourrait lancer une nouvelle startup)

Aujourd'hui, le fil de discussion partage principalement le contenu de l'article 'Évaluation de la vérifiabilité dans les moteurs de recherche génératifs', ainsi que quelques pratiques concrètes de devv.ai dans l'évaluation de RAG. En raison de contraintes de longueur, de nombreux détails n'ont pas été abordés, tels que l'évaluation des modules à grain fin, ce qui pourra être partagé ultérieurement.

最后再介绍一下 devv.ai devv.ai 是专门面向开发者的新一代 AI 搜索引擎,目标是替代开发者日常使用 Google / StackOverflow / 文档的场景,帮助开发者提升效率,创造价值。 产品发布一个多月,已经有几十万的开发者正在使用 devv.ai 🚀

De plus, tous les commentaires et suggestions peuvent être soumis dans ce dépôt. N'hésitez pas à partager ce fil pour que plus de personnes le voient, vous pouvez le partager directement sur d'autres plateformes en indiquant la source.

Résumer
L'article discute de la construction d'un système RAG (Retrieval Augmented Generation) efficace, en se concentrant sur l'évaluation du système. Il souligne l'importance de la vérifiabilité dans les moteurs de recherche génératifs et propose des critères d'évaluation pour mesurer la fluidité, l'utilité perçue, le rappel de citation et la précision de citation. L'article présente également une méthodologie d'évaluation impliquant des évaluations humaines pour mesurer la fluidité et l'utilité perçue, ainsi que des mesures automatisées pour évaluer le rappel de citation et la précision de citation. Enfin, il partage des pratiques de mise en œuvre de cette méthodologie, notamment la sélection d'ensembles de données d'évaluation pertinents et la mise en place d'un cadre d'évaluation automatisé pour les scénarios industriels.