Qu'est-ce que le Retrieval-Augmented Generation (RAG) ?
La Génération Augmentée par Récupération (RAG), de l'anglais Retrieval-Augmented Generation, est une technologie d'intelligence artificielle qui vise à améliorer les réponses des modèles d'IA générative.
Elle se distingue des modèles génératifs traditionnels en ne s'appuyant pas uniquement sur les données d'entraînement, mais en combinant la recherche d'informations (retrieval) avec la génération de contenu.
Le RAG permet aux modèles d'IA de "consulter" des bases de données internes ou externes en temps réel avant de fournir une réponse. Il est considéré comme un sur-ensemble de l'IA générative, intégrant les forces des modèles d'IA basés sur la récupération et sur la génération.
D’où vient le terme et quels sont les principes fondateurs ?
L'acronyme "RAG" est attribué à une publication de 2020 intitulée "Retrieval-Augmented Generation for Knowledge-Intensive Tasks", soumise par Facebook AI Research (aujourd'hui Meta AI). Le principe fondateur est de connecter n'importe quel grand modèle de langage (LLM) avec n'importe quelle source de connaissance interne ou externe, en insérant un composant de récupération de données dans le processus de génération de réponse. Cette approche vise à améliorer la pertinence, la précision et la fiabilité des réponses.
Comment fonctionne l’architecture RAG ?
Le fonctionnement du RAG se déroule en plusieurs étapes clés:
1. Préparation de la base de connaissances : Une vaste collection de textes, d'ensembles de données, de documents ou d'autres sources d'information est fournie. Cette collection sert de base de connaissances à laquelle le modèle RAG peut accéder. L'efficacité du système RAG dépend fortement de la qualité et de la disponibilité des données auxquelles il accède.
2. Prétraitement des données et intégration : Les documents sources (textes, PDF, etc.) sont convertis en fichiers texte. Le texte est ensuite découpé ou segmenté en "chunks" pour faciliter la recherche et la récupération. Ces "chunks" sont ensuite transformés en vecteurs numériques ("embeddings") à l'aide d'un modèle d'apprentissage automatique spécialisé. Ces vecteurs sont stockés dans une base de données vectorielle, où les concepts similaires sont stockés avec des coordonnées adjacentes pour optimiser la récupération.
3. Récupération d'informations pertinentes (Retrieve) : Lorsqu'une requête utilisateur est soumise, elle est convertie en représentation vectorielle et comparée aux bases de données vectorielles existantes. Des algorithmes recherchent et récupèrent les extraits d'informations les plus pertinents.
4. Extension de l’invite de commande (Augment) : Les informations récupérées sont ensuite intégrées dans le contexte de la demande initiale de l'utilisateur. Elles enrichissent le prompt original avec des informations contextuelles supplémentaires.
5. Génération de réponse (Generate) : Le grand modèle de langage (LLM) utilise ce prompt "augmenté" pour générer une réponse cohérente, précise et rédigée en langage naturel.
Certaines plateformes comme IONOS AI Model Hub permettent d'automatiser ce processus en envoyant directement l'ID de la collection et la requête de la collection au point d'accès du modèle de fondation, simplifiant les étapes de récupération et de génération.
Quels sont les rôles du modèle de récupération et du LLM ?
• Rôle du modèle de récupération : Il est chargé d'accéder, de sélectionner et de prioriser les documents et les données les plus pertinents à partir des sources de connaissances internes et externes basées sur la requête de l'utilisateur. Il extrait des informations spécifiques en temps réel et les transforme en un prompt enrichi et contextuel.
• Rôle du LLM : Une fois le prompt enrichi fourni par le modèle de récupération, le LLM utilise ces informations, en plus de ses propres connaissances internes, pour générer une réponse cohérente, précise et fiable pour l'utilisateur.
Quel est le flux de données, de la requête utilisateur à la réponse ?
Le flux de données se déroule comme suit :
1. L'utilisateur entre une requête (prompt).
2. Le modèle de récupération recherche dans les sources internes (bases de données, documents) les informations pertinentes.
3. Le modèle de récupération élabore un prompt enrichi, augmentant le prompt original de l'utilisateur avec le contexte pertinent.
4. Ce prompt enrichi est transmis au grand modèle de langage (LLM).
5. Le LLM utilise le prompt augmenté pour générer une réponse plus précise et pertinente.
6. La réponse est fournie à l'utilisateur.
Ce processus complet, de la requête utilisateur à la réponse, devrait prendre 1 à 2 secondes pour prendre en charge les interfaces conversationnelles.
Quelles sont les limites des LLM classiques (hallucinations, données obsolètes, etc.) ?
Les LLM classiques présentent plusieurs inconvénients :
• Données d'entraînement fixes et limitées : Ils sont entraînés sur des données disponibles publiquement qui ne contiennent pas nécessairement les informations spécifiques souhaitées par une entreprise (par exemple, des ensembles de données internes).
• Connaissances limitées dans le temps : Les informations avec lesquelles ils ont été entraînés peuvent être obsolètes, car les modèles ne sont pas automatiquement mis à jour.
• Hallucinations : Les LLM peuvent parfois générer des informations fausses, absurdes ou non valides. C'est le phénomène des "hallucinations".
• Biais et stéréotypes : Puisqu'ils apprennent de vastes quantités de texte provenant d'Internet, ils peuvent intégrer les biais et stéréotypes présents dans ces données.
Pourquoi les LLM ne peuvent-ils pas être fréquemment réentraînés sur des données privées ?
Le réentraînement et le réglage fin des LLM sont des opérations coûteuses et chronophages. La création d'un modèle de fondation à partir d'informations propres à un domaine est également onéreuse. Le pré-entraînement d'un LLM peut nécessiter des milliers de GPU et prend beaucoup de temps. Pour cette raison, les quelques fournisseurs de LLM (tels que Microsoft, Google, AWS et Meta) ne peuvent pas réentraîner fréquemment leurs modèles, et encore moins sur des données privées d'organisations.
En quoi le RAG améliore-t-il la fiabilité, la personnalisation et la fraîcheur des réponses ?
Le RAG surmonte les limitations des LLM classiques de plusieurs manières :
• Fiabilité et précision : La RAG fournit au LLM des sources à citer, ce qui permet aux utilisateurs de vérifier les déclarations. Elle peut réduire considérablement le risque d'hallucinations (réponses absurdes) par rapport à l'utilisation d'un LLM seul. En puisant dans des sources de données externes fiables, le RAG fournit des réponses plus précises et pertinentes.
• Personnalisation : En intégrant des données spécifiques à l'entreprise (profil client, historique, préférences), le RAG permet de personnaliser les interactions utilisateur et de générer des recommandations ciblées.
• Fraîcheur des réponses : La RAG permet de fournir les informations les plus récentes en connectant le LLM à des flux en direct (réseaux sociaux, sites d'actualités, bases de données fréquemment mises à jour). Les sources d'informations peuvent être mises à jour ou remplacées simplement en important un nouveau document ou fichier.
Quels bénéfices du RAG pour l'expérience utilisateur et la confiance ?
Le RAG apporte plusieurs bénéfices pour l'expérience utilisateur et la confiance :
• Amélioration de la pertinence et de la qualité du travail : Le RAG fournit des réponses plus précises et pertinentes, menant à un contenu plus riche et informé. Pour les tâches nécessitant une recherche d'informations préalable, le système RAG peut être plus exhaustif qu'une recherche manuelle, améliorant le niveau d'information de l'employé.
• Interactivité améliorée : Il permet aux systèmes d'interagir de manière plus sophistiquée avec les utilisateurs, en répondant à des questions complexes ou en fournissant des explications détaillées basées sur des données externes.
• Réduction des hallucinations et augmentation de la confiance : En réduisant le risque de réponses incorrectes ou trompeuses, le RAG renforce la confiance des utilisateurs dans les applications d'IA générative.
• Personnalisation de l'interaction : L'intégration de données client spécifiques permet des interactions plus personnalisées, améliorant l'expérience globale.
Quels sont les usages typiques du RAG en entreprise ?
Le RAG transforme diverses fonctions d'entreprise en fournissant des réponses précises et contextuelles. Il est adaptable pour les startups et les grandes entreprises.
• Automatisation du support client : Les assistants virtuels RAG accèdent instantanément aux documents internes, aux historiques de tickets et aux FAQ pour fournir des réponses pertinentes et actualisées. Ils peuvent par exemple récupérer le statut d'un bug auprès de l'équipe d'ingénierie et le communiquer au client. Cela mène à des temps de réponse plus rapides, des réponses précises, un support évolutif et une réduction de la charge de travail pour les équipes de support. Les capacités multilingues permettent de générer des réponses dans la langue préférée du client.
• Recherche d'entreprise unifiée : Les outils de recherche RAG permettent aux employés de poser des questions en langage naturel et d'obtenir des réponses utiles provenant de diverses sources comme le stockage cloud, les CRM, et les bases de connaissances, sans avoir à naviguer entre différents systèmes.
• Analyse de contrats et Q&A juridique : Les équipes juridiques peuvent interroger des systèmes RAG pour trouver des clauses, signaler des risques et effectuer des vérifications croisées par rapport à des cas passés ou des politiques. Cela accélère les révisions, réduit les risques juridiques et améliore la conformité.
• Rapports et analyses financières : Le RAG génère des résumés financiers en temps réel à partir de données internes et de marché. Les analystes peuvent exécuter des scénarios de simulation et créer des présentations pour les clients en utilisant des données provenant de systèmes ERP et d'API financières. Les équipes financières bénéficient également de la planification budgétaire, des prévisions et du suivi de la conformité automatisés.
• Assistants RH et d'intégration : Les assistants RAG répondent aux questions des employés sur les politiques de vacances ou les avantages, et guident les nouvelles recrues à travers le processus d'intégration, en puisant dans les documents RH actuels et les manuels. Cela assure une intégration cohérente et un support 24/7.
• Support informatique et bots de dépannage : Les bots RAG extraient des solutions des journaux système, des documents et de l'historique des tickets. Ils peuvent interpréter les problèmes des utilisateurs, reconnaître des schémas dans l'historique des tickets et suggérer des correctifs avant même que les problèmes ne s'aggravent, transformant ainsi le support informatique en un rôle plus proactif.
• Copilotes de documentation produit : Le RAG génère et met à jour automatiquement des manuels et des guides à partir de bases de code, d'historiques de versions et de conversations de support. Cela garantit une documentation toujours à jour, une intégration plus rapide des nouveaux membres de l'équipe et une cohérence des informations.
• Assistants de conformité et d'audit : Le RAG examine les communications de l'entreprise et les registres internes pour signaler les risques de conformité et générer des résumés d'audit. Il aide les responsables de la conformité à rester informés des exigences réglementaires changeantes en effectuant des vérifications croisées avec les directives externes.
• Vente et automatisation des RFP : Le RAG remplit automatiquement les propositions et répond aux RFP en utilisant les données de vente actuelles. Il agit comme un ingénieur commercial de poche, fournissant des réponses rapides et contextuelles sur les spécifications techniques ou la concurrence.
• Accélération de la recherche : Le RAG synthétise la recherche scientifique, de marché et universitaire à partir de sources fiables en quelques secondes, fournissant des informations précises avec des liens vers les sources. Il peut même suivre les tendances de recherche et signaler les résultats contradictoires.
• Gestion des connaissances : Le RAG facilite une gestion efficace des connaissances en permettant aux collaborateurs d'accéder rapidement aux informations pertinentes sans avoir à fouiller dans de nombreux dossiers.
• Création de contenu : Le RAG aide les entreprises à créer des articles de blog, des descriptions de produits ou d'autres contenus en combinant ses capacités de génération de texte avec la récupération d'informations provenant de sources internes et externes fiables. Un exemple concret donné est celui d'un chatbot d'une compagnie aérienne augmentée par RAG, capable de fournir à un voyageur platine des informations détaillées et personnalisées sur les options de surclassement basées sur son solde de miles et les vols spécifiques, au lieu d'une réponse générique.
Considérations éthiques, légales et gouvernance
• Confidentialité et conformité : L'accès et la gestion des données sensibles, comme les informations personnelles identifiables (PII), nécessitent des précautions rigoureuses pour éviter de violer les lois et réglementations sur la confidentialité (par exemple RGPD ou HIPAA), ce qui pourrait entraîner des amendes significatives et une perte de confiance des clients. La protection des données est un enjeu crucial.
• Qualité et fiabilité des données : L'efficacité d'un système RAG dépend fortement de la qualité et de la disponibilité des données auxquelles il accède. L'utilisation de sources de données peu fiables (informations fausses, incomplètes, non mises à jour, biaisées, ou sujettes à des pannes) peut entraîner des "hallucinations" ou des sorties incorrectes. Les données doivent être de "qualité de données IA" : accessibles, recherchables et de haute qualité.
• Biais : Les LLM, étant entraînés sur de vastes quantités de texte provenant d'Internet, peuvent intégrer des préjugés et des stéréotypes présents dans ces données. Pour limiter les biais dans les sorties RAG, il est essentiel de vérifier que les documents sources sélectionnés ne contiennent pas d'informations biaisées.
• Traçabilité de l'information : Le RAG améliore la traçabilité de l'information, ce qui est essentiel pour aider les utilisateurs à faire confiance à la sortie de l'IA et à explorer davantage la réponse. Il est possible d'annexer les sources de données spécifiques utilisées pour générer une sortie, ce qui peut être complexe si plusieurs sources sont impliquées. Citer les sources permet d'identifier et de corriger facilement les erreurs.
• Gouvernance des données : Un système RAG efficace nécessite de maintenir des informations et des données à jour et précises, ainsi que des métadonnées décrivant les données pour le cadre RAG. Une approche holistique est nécessaire pour intégrer efficacement les données d'entreprise avec les projets GenAI, couvrant la qualité et la cohérence des données, l'intégration et l'accès en temps réel, la gouvernance et la conformité des données, ainsi que la sécurité et la confidentialité.
Quels sont les principaux défis techniques et organisationnels par rapport à l'utilisation du RAG ?
Malgré ses avantages, le RAG présente des défis importants :
• Qualité et pertinence des données sources : La qualité des informations récupérées dépend fortement de la qualité du corpus de documents sous-jacent. Des données incomplètes ou erronées peuvent compromettre les résultats.
• Intégration efficace : L'intégration des informations récupérées dans la génération de texte reste un défi technique non négligeable. Il est complexe de localiser, d'accéder, d'intégrer et d'unifier les données d'entreprise en temps réel.
• Protection des données sensibles : Des considérations éthiques et de confidentialité sont cruciales pour déterminer quelles informations peuvent être récupérées et utilisées. Le RAG doit employer des contrôles d'accès basés sur les rôles (RBAC) pour empêcher les utilisateurs d'accéder à des données au-delà de leur rôle autorisé et doit masquer dynamiquement les données sensibles (PII).
• Qualité des données pour l'IA : Les informations et données stockées dans les bases de connaissances internes et les systèmes d'entreprise doivent être de qualité "AI data" : accessibles, recherchables et de haute qualité.
• Ingénierie des prompts sophistiquée : Pour générer des prompts contextuels intelligents, des capacités sophistiquées d'ingénierie des prompts sont nécessaires, incluant des techniques comme le chain-of-thought prompting.
• Pipelines de récupération : La construction et l'intégration de pipelines de récupération dans les applications sont complexes.
• Défis organisationnels : Les écarts de compétences, la prolifération des données et les problèmes de propriété des données sont des obstacles majeurs. Quelles sont les préoccupations principales des entreprises par rapport à l'utilisation du RAG ? Les entreprises ont diverses préoccupations lors de l'adoption du RAG :
• Scalabilité et performance : Assurer que la solution peut gérer de grands volumes de données et de requêtes tout en maintenant une faible latence est un défi.
• Intégration en temps réel : L'accès en temps réel à des données fragmentées provenant de nombreux systèmes d'entreprise (CRM, ERP, facturation, etc.) est crucial mais complexe.
• Qualité et cohérence des données : Assurer des données propres, complètes et à jour est fondamental.
• Gouvernance et conformité des données : La conformité aux réglementations (comme le RGPD et le règlement IA européen) et la gestion des risques de fuite de données via le système RAG sont primordiales.
• Sécurité et confidentialité des données : La protection des données sensibles et le contrôle d'accès sont des préoccupations majeures.
• Coûts et compétences : Bien que le RAG soit plus rentable que le réentraînement des LLM, il y a toujours des coûts et un besoin en talents spécialisés.