État des lieux des technologies de génération augmentée par recherche (RAG) pour les grands modèles de langage
(discuss.pytorch.kr)PyTorchKR
-
Avec la popularité des LLM, l’intérêt pour le RAG augmente lui aussi. Le groupe d’utilisateurs coréen de PyTorch a résumé le survey paper sur les technologies RAG présenté dans les principaux articles ML de la semaine du 18/12 au 24/12.
-
Le contenu étant assez long, il a été publié en deux articles : la première partie présente les paradigmes des technologies RAG, et la seconde résume les principaux composants, l’évaluation et les futurs sujets de recherche.
Ci-dessous, seuls les points principaux ont été extraits en suivant la table des matières
Introduction aux technologies de génération augmentée par recherche (RAG)
Les grands modèles de langage (LLM) affichent d’excellentes capacités, mais pour un usage réel, ils doivent surmonter des problèmes tels que les hallucinations, la lenteur de mise à jour des connaissances ou le manque de transparence des réponses. Le RAG (Retrieval-Augmented Generation) est une technologie proposée pour répondre à ces difficultés.
Le RAG est une méthode dans laquelle un grand modèle de langage (LLM), avant de générer une réponse à une question ou un texte, recherche des informations pertinentes dans un vaste ensemble de documents puis les utilise pour produire sa réponse. Cette approche vise à résoudre plusieurs limites classiques des LLM : l’obsolescence des connaissances, le manque de savoir dans certains domaines spécifiques et l’insuffisance de transparence des réponses.
Le RAG améliore fortement la précision des réponses et aide notamment à réduire les hallucinations du modèle dans les tâches fortement intensives en connaissances. L’utilisateur peut vérifier l’exactitude de la réponse à l’aide des sources citées, ce qui renforce la confiance dans les sorties du modèle. Il facilite aussi la mise à jour des connaissances et l’introduction de savoirs spécialisés.
En plus du RAG, on peut utiliser le fine-tuning pour amener un grand modèle de langage à se concentrer sur certaines connaissances spécifiques. Mais ce fine-tuning demande du temps pour refléter des informations mises à jour en temps réel et consomme des ressources supplémentaires pour réentraîner le modèle. À l’inverse, le RAG ressemble au fait de fournir au LLM un « ouvrage de référence » lui permettant de rechercher des informations pour une requête donnée.
Les 3 grands paradigmes du RAG - Vue d’ensemble
Les paradigmes de recherche autour du RAG évoluent continuellement avec le temps. Les trois grands paradigmes sont le RAG de base, le RAG avancé et le RAG modulaire. Le RAG de base des débuts était économique et plus performant que l’usage d’un LLM seul, mais il présentait de nombreuses limites. L’apparition du RAG avancé et du RAG modulaire visait à corriger certains défauts spécifiques du RAG de base.
Les 3 grands paradigmes du RAG - RAG de base (Naive RAG)
Le RAG de base désigne l’approche initiale de la recherche sur le RAG et comprend les processus traditionnels d’indexation, de recherche et de génération. Le RAG de base se concentre principalement sur un schéma simple de recherche et de génération, et il est important pour expliquer les concepts et principes fondamentaux du RAG.
Cependant, une faible précision de recherche, une faible qualité de génération des réponses et les difficultés du processus d’augmentation peuvent entraîner des répétitions inutiles, des informations inexactes ou l’intégration d’un mauvais contexte. Il peut donc être inadapté à des scénarios complexes ou exigeants.
Les 3 grands paradigmes du RAG - RAG avancé (Advanced RAG)
Le RAG avancé est un paradigme développé pour améliorer les insuffisances du RAG de base. Il inclut principalement des méthodes pré- et post-recherche destinées à améliorer la qualité de la recherche et de la génération. Le RAG avancé peut être divisé en trois grandes étapes : le processus pré-recherche (Pre-Retrieval Process), le processus post-recherche (Post-Retrieval Process) et l’optimisation du pipeline RAG (RAG Pipeline Optimization) :
Les 3 grands paradigmes du RAG - RAG modulaire (Modular RAG)
Le RAG modulaire est une forme plus avancée du RAG avancé : il pousse plus loin le framework RAG existant en intégrant divers modules et fonctionnalités afin d’offrir davantage de diversité et de flexibilité. Cette approche comprend plusieurs nouveaux modules et schémas permettant d’adapter le système RAG à divers scénarios et exigences.
Principaux composants des technologies RAG : le Retriever
Le Retriever représente la lettre R de l’acronyme RAG, au point d’occuper un rôle essentiel de recherche d’information dans le système. Il a pour fonction d’identifier, au sein de grands ensembles de données, les informations pertinentes et de préparer les données nécessaires à la génération de texte. Ces retrievers servent à combler l’écart entre les connaissances générales d’un LLM et le besoin d’informations actuelles et contextuellement précises. Cela est particulièrement important dans des scénarios nécessitant des données en temps réel, une expertise métier ou une vérification des faits.
Principaux composants des technologies RAG : le Generator
Si le rôle du Retriever vu précédemment consiste à extraire des documents candidats à partir de l’entrée de l’utilisateur, celui du Generator est de produire la réponse qui sera fournie à l’utilisateur en exploitant les résultats retrouvés. Afin d’utiliser efficacement les informations récupérées pour générer des réponses précises et pertinentes, il applique un post-traitement de compression de l’information et de reranking, ainsi qu’un processus d’optimisation adapté aux données d’entrée.
Principaux composants des technologies RAG : les méthodes d’augmentation (Augmentation Methods)
Dans ce chapitre, les méthodes d’augmentation dans le RAG sont examinées sous les trois angles suivants.
- l’étape de l’augmentation (the stage of augmentation)
- l’augmentation des sources de données (augmentation data sources)
- le processus d’augmentation (the process of augmentation)
Évaluation du RAG (RAG Evaluation)
L’évaluation du RAG consiste à mesurer l’efficacité avec laquelle le RAG fonctionne. Elle se divise globalement en deux catégories : d’une part, l’évaluation indépendante (independent evaluation) de chaque module, comme le Retriever ou le Generator, et d’autre part, l’évaluation de bout en bout (end-to-end evaluation) de l’ensemble du processus, de l’entrée à la sortie. Nous allons examiner les différentes méthodes d’évaluation, les métriques utilisées ainsi que les frameworks disponibles.
Perspectives d’avenir du RAG (Future Prospects)
Cette partie traite de l’optimisation verticale et de l’extension horizontale du RAG, ainsi que de l’écosystème du RAG.
⚠️Publicité : ce texte compilé par le groupe d’utilisateurs coréen de PyTorch vous a été utile ? Si vous créez un compte, nous vous enverrons les principaux articles par e-mail ! (Le réglage par défaut est Weekly, mais vous pouvez aussi le passer en Daily.)
2 commentaires
Merci de partager cette excellente ressource.
Ah, merci de m’avoir lu !
Si jamais vous remarquez en lisant un passage étrange ou une erreur, n’hésitez pas à me le signaler. ^^;