Abonnez-vous au flux

La génération augmentée de récupération (RAG) fait partie des dernières avancées en matière de traitement du langage naturel (TLN). Elle désigne une technique qui associe les avantages de la récupération d'informations et la génération du langage naturel (GLN). La RAG permet de redéfinir la façon dont les logiciels sont pensés, conçus et mis en œuvre, conduisant à une nouvelle ère d'efficacité et de créativité basée sur les modèles génératifs.

Définition de la génération augmentée de récupération

La génération augmentée de récupération est un modèle de traitement du langage naturel qui combine deux composants clés : un module de génération et un module de récupération.

Module de génération : élément qui crée des contenus, tels que des phrases ou des paragraphes, généralement basés sur de grands modèles de langage (LLM).

Module de récupération : élément qui récupère les informations pertinentes à partir d'un ensemble prédéterminé de documents ou de données.

En clair, la RAG utilise le module de récupération pour trouver des informations utiles dans un vaste ensemble de textes, puis le module de génération utilise ces informations pour améliorer son entraînement basé sur les LLM afin de créer un texte cohérent. Cette approche permet de renforcer la qualité et la pertinence du contenu généré par l'intelligence artificielle (IA) grâce à l'exploitation de connaissances nouvelles et souvent plus spécifiques à un domaine, en dehors du vaste ensemble de données utilisé pour entraîner le LLM d'origine. Elle est couramment adoptée pour des tâches impliquant de répondre à des questions ou de résumer un texte.

La RAG intègre ces deux modules, ce qui permet aux équipes de développement d'utiliser une multitude de connaissances existantes pour enrichir les LLM, afin d'améliorer la génération de nouveaux contenus contextuellement pertinents.

Types de données utilisées

Les données sont le socle des LLM, des modèles d'IA générative et des applications d'IA. Elles sont aussi utilisées de différentes manières pour entraîner, confirmer et améliorer les performances de ces modèles dans différents domaines. Les modèles TLN et RAG utilisent des données d'entraînement appelées « données vectorielles » pour déterminer les relations entre les ensembles de données.

Définition des données vectorielles

Les données vectorielles sont souvent citées dans le contexte des systèmes d'information géographique (SIG) et la cartographie. Aujourd'hui, ces données sont utilisées dans de nombreux domaines, notamment la localisation, l'urbanisme, les sciences environnementales et les transports. Elles permettent la représentation, l'analyse et la visualisation précises des informations spatiales, ce qui aide les utilisateurs à comprendre et prendre des décisions sur la base de données géographiques. Les données vectorielles illustrent la relation ou l'espace qui existe entre des éléments, par exemple la distance qui sépare une ville d'une autre.

Utilisation des données vectorielles dans le TLN et la RAG

Les technologies de TLN et de RAG n'utilisent pas de données vectorielles au sens classique des systèmes SIG ou de l'analyse spatiale. Toutefois, les représentations vectorielles sont essentielles pour effectuer de nombreuses tâches au sein de ces systèmes. Dans ce contexte, les données vectorielles font généralement référence à des représentations numériques de mots, phrases ou documents dans un espace vectoriel en haute dimension.

Ces représentations numériques sont utilisées dans des modèles couramment appelés « représentations compactes ». Ces représentations permettent de saisir les relations sémantiques et syntaxiques entre les mots ou les segments de texte. Par exemple, les données vectorielles en haute dimension peuvent être injectées dans des modèles tels que watsonx.ai ou Hugging Face d'IBM, spécifiquement utilisés pour la conversion de données en représentations compactes, en convertissant des données complexes en formes numériques compréhensibles pour les ordinateurs.

Bien que le terme « données vectorielles » dans le contexte de la RAG ne se réfère pas nécessairement aux vecteurs géographiques, la conversion de texte en vecteurs est au cœur de nombreux aspects du TLN et de la RAG, notamment l'apprentissage, la récupération et la génération de représentations. Ces données d'entraînement permettent aux modèles de traiter et manipuler du texte de manière pertinente, ce qui facilite les tâches telles que la réponse à des questions, la synthèse et la génération de dialogues.

Utilisation de la RAG dans le développement logiciel

1. Récupération d'informations

La récupération d'informations joue un rôle crucial dans le développement logiciel. Les équipes de développement ont souvent besoin d'accéder à de nombreuses ressources, notamment la documentation, les référentiels de code, les forums et les articles de recherche. La RAG rationalise ce processus en automatisant la récupération d'informations pertinentes, ce qui permet à ces équipes de gagner du temps et d'accéder aux informations les plus récentes, précises et adaptées au contexte.

2. Génération du langage naturel

Une fois que les informations pertinentes sont extraites, le composant de génération du langage naturel de la RAG passe à l'action. Sa tâche consiste à créer du texte lisible par l'utilisateur à partir des données récupérées. Dans le domaine du développement logiciel, il peut prendre la forme d'extraits de code, de documentation, voire de guides interactifs. Le contenu généré n'est pas simplement un copier-coller d'informations existantes : il est adapté aux besoins spécifiques du développeur.

3. Peaufinage itératif

La RAG implique un processus de peaufinage itératif, ce qui le distingue des autres techniques. Les équipes de développement peuvent interagir avec le contenu généré en fournissant des commentaires et en ajustant la réponse. Cette interaction à double sens affine le résultat final afin qu'il soit plus précis et qu'il corresponde mieux à leur intention et à leur style de codage. Il s'agit d'une approche itérative qui permet de combler l'écart entre la vaste étendue d'informations et les exigences uniques d'un projet donné.

Cas d'utilisation de développement logiciel pour la RAG

Cas d'utilisation 1 : génération de code

La RAG peut changer la donne en matière de génération de code. Les équipes de développement peuvent fournir des exigences ou une logique de haut niveau, et le système peut récupérer des extraits de code pertinents, en les adaptant au contexte en question. Cette étape aide à accélérer le processus de codage et à favoriser les meilleures pratiques.

Cas d'utilisation 2 : documentation

Aspect essentiel du développement logiciel, la documentation est souvent négligée en raison de contraintes de temps. La RAG simplifie la création de la documentation en extrayant des informations de sources pertinentes et en générant automatiquement une documentation cohérente et facile à utiliser pour les équipes de développement.

Cas d'utilisation 3 : résolution de problèmes et débogage

Lorsqu'elles sont confrontées à un problème de codage, les équipes de développement peuvent utiliser le système RAG pour rechercher des solutions et bénéficier de suggestions contextuelles. Le processus de débogage est ainsi considérablement accéléré, et les temps d'arrêt réduits.

Exploitation de la RAG pour le cloud computing hybride

Les équipes DevOps (développement et exploitation) et MLOps (Machine Learning Operations) peuvent tirer parti de la RAG dans un environnement de cloud hybride pour améliorer l'efficacité de l'exploitation de l'apprentissage automatique (AA). Elles pourront par exemple améliorer la gestion des données, l'entraînement des modèles, la documentation, la surveillance et les processus d'allocation des ressources.

Données et documentation

La RAG permet de récupérer des données pertinentes à partir de sources de données sur site et dans le cloud. Cet aspect est particulièrement utile dans un environnement de cloud hybride où les données peuvent être réparties sur plusieurs sites. Grâce à une récupération et une analyse plus efficaces des données, l'approche MLOps permet aux modèles d'AA d'accéder à des ensembles de données complets et variés à des fins d'entraînement et de validation.

La RAG aide également à automatiser les processus de documentation et de partage des connaissances au sein des workflows MLOps. Les systèmes RAG peuvent générer automatiquement de la documentation, des rapports et des résumés d'expériences d'AA, d'évaluations de modèles et de procédures de déploiement en exploitant les capacités de la GLN. Ils aident ainsi à conserver des registres d'activité complets et à faciliter le transfert de connaissances entre les membres de l'équipe.

Allocation et optimisation des ressources

Les techniques RAG peuvent également être intégrées aux workflows afin d'améliorer l'allocation et la mise à l'échelle des ressources dans un environnement de cloud hybride. Par exemple, les équipes MLOps peuvent allouer des ressources de calcul de manière dynamique entre l'infrastructure sur site et les plateformes cloud afin d'optimiser l'entraînement des modèles, l'inférence et les processus de déploiement en générant des informations sur les performances des modèles et l'utilisation des ressources.

L'IA et son écosystème en pleine expansion

Il existe un écosystème grandissant de solutions de données et de modèles génératifs destinés aux équipes de développement qui cherchent à exploiter la RAG. OpenAI, l'entreprise créatrice de ChatGPT, en est un exemple significatif. L'assistant RAG d'OpenAI est actuellement disponible en version bêta et fait partie de la famille élargie de modèles développés par OpenAI.

Les entreprises et les équipes de développement ont également la possibilité de mettre en œuvre leurs versions de la RAG à l'aide d'un écosystème d'outils et de modèles de données, afin de créer un environnement à la posture de sécurité renforcée pour des cas d'utilisation spécifiques. En outre, les partenariats qui se développent au sein de cet écosystème aident les équipes MLOps à se lancer rapidement et à se concentrer sur l'obtention de résultats, plutôt que de consacrer du temps à résoudre des problèmes et à gérer un ensemble complexe de technologies autonomes.

Pour aller plus loin

Dell Technologies et Red Hat se sont associés dans le but de fournir une solution d'IA/AA pour toute la pile reposant sur Dell APEX Cloud Platform pour Red Hat OpenShift : Red Hat OpenShift AI. À partir d'un ensemble de données vectorielles, OpenShift AI sur Dell APEX Cloud Platform utilise un LLM avec la RAG pour créer un assistant numérique qui exploite des informations thématiques propres à une entreprise et fournit des réponses actualisées à ses utilisateurs.

Nous continuons de développer notre écosystème de fournisseurs de matériel et de logiciels partenaires afin de proposer des solutions complètes destinées à la création, au déploiement et à la gestion des modèles d'AA et des applications intelligentes basées sur l'IA.

Découvrez les solutions qu'offrent nos partenaires certifiés Red Hat OpenShift pour toutes vos charges de travail d'IA/AA dans le Red Hat Ecosystem Catalog.


À propos de l'auteur

Adam Wealand's experience includes marketing, social psychology, artificial intelligence, data visualization, and infusing the voice of the customer into products. Wealand joined Red Hat in July 2021 and previously worked at organizations ranging from small startups to large enterprises. He holds an MBA from Duke's Fuqua School of Business and enjoys mountain biking all around Northern California.

Read full bio
UI_Icon-Red_Hat-Close-A-Black-RGB

Parcourir par canal

automation icon

Automatisation

Les dernières nouveautés en matière d'automatisation informatique pour les technologies, les équipes et les environnements

AI icon

Intelligence artificielle

Actualité sur les plateformes qui permettent aux clients d'exécuter des charges de travail d'IA sur tout type d'environnement

open hybrid cloud icon

Cloud hybride ouvert

Découvrez comment créer un avenir flexible grâce au cloud hybride

security icon

Sécurité

Les dernières actualités sur la façon dont nous réduisons les risques dans tous les environnements et technologies

edge icon

Edge computing

Actualité sur les plateformes qui simplifient les opérations en périphérie

Infrastructure icon

Infrastructure

Les dernières nouveautés sur la plateforme Linux d'entreprise leader au monde

application development icon

Applications

À l’intérieur de nos solutions aux défis d’application les plus difficiles

Original series icon

Programmes originaux

Histoires passionnantes de créateurs et de leaders de technologies d'entreprise