Génération augmentée de récupération à l’aide du flux d’invite Azure Machine Learning (préversion)
Important
Cette fonctionnalité est actuellement disponible en préversion publique. Cette préversion est fournie sans contrat de niveau de service et n’est pas recommandée pour les charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge.
Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.
La récupération de génération augmentée (RAG) est un modèle qui fonctionne avec des modèles LLM (Large Language Models) pré-entraînés et vos propres données pour générer des réponses. Dans Azure Machine Learning, vous pouvez désormais implémenter RAG dans un flux d’invite. Le support pour RAG est actuellement disponible en préversion publique.
Cet article répertorie certains des avantages de RAG, fournit une vue d’ensemble technique et décrit la prise en charge de RAG dans Azure Machine Learning.
Notes
Vous débutez avec les concepts LLM et RAG ? Ce clip vidéo d’une présentation Microsoft offre une explication simple.
Pourquoi utiliser RAG ?
Traditionnellement, un modèle de base est entraîné avec des données à un point dans le temps pour garantir son efficacité dans l’exécution de tâches spécifiques et l’adaptation au domaine souhaité. Toutefois, vous devez parfois utiliser des données plus récentes ou plus actuelles. Deux approches peuvent compléter le modèle de base : le réglage ou l’entraînement du modèle de base avec de nouvelles données, ou RAG qui utilise l’ingénierie d’invite pour compléter ou guider le modèle en temps réel.
Le réglage affiné convient à l’adaptation continue du domaine, ce qui permet d’améliorer sensiblement la qualité du modèle, mais entraîne souvent des coûts plus élevés. À l’inverse, RAG offre une autre approche, qui permet d’utiliser le même modèle en tant que moteur de raisonnement sur de nouvelles données, fournies dans une invite. Cette technique permet l’apprentissage en contexte sans avoir besoin de réglage affiné coûteux, ce qui permet aux entreprises d’utiliser les LLM plus efficacement.
RAG permet aux entreprises d’obtenir des solutions personnalisées tout en conservant la pertinence des données et en optimisant les coûts. En adoptant RAG, les entreprises peuvent utiliser les fonctionnalités de raisonnement des LLM, en utilisant leurs modèles existants pour traiter et générer des réponses basées sur de nouvelles données. RAG facilite les mises à jour périodiques des données sans nécessiter de réglage affiné, ce qui simplifie l’intégration des LLM dans les entreprises.
- Fournir des données supplémentaires sous forme de directive ou d’invite au LLM
- Ajoute un composant de vérification des faits sur vos modèles existants
- Entraîner votre modèle sur des données à jour sans nécessiter le temps et les coûts supplémentaires associés au réglage
- Entraîne sur des données spécifiques à votre entreprise
Vue d’ensemble technique de l’utilisation de RAG sur les grands modèles linguistiques (LLM, Large Language Model)
Dans le domaine de la recherche d'informations, RAG est une approche qui vous permet d'exploiter la puissance des LLM avec vos propres données. L’activation d’un LLM pour accéder aux données personnalisées implique les étapes suivantes. Premièrement, les données volumineuses doivent être segmentées en blocs gérables. Deuxièmement, les blocs doivent être convertis dans un format pouvant faire l’objet d’une recherche. Troisièmement, les données converties doivent être stockées dans un emplacement qui permet un accès efficace. En outre, il est important de stocker les métadonnées pertinentes pour les citations ou les références lorsque le LLM fournit des réponses.
Examinons le diagramme plus en détail.
Données sources : c’est là que se trouvent vos données. Il peut s’agir d’un fichier/dossier sur votre machine, d’un fichier dans un stockage cloud, d’une ressource de données Azure Machine Learning, d’un référentiel Git ou d’une base de données SQL.
Segmentation des données : les données de votre source doivent être converties en texte brut. Par exemple, les documents Word ou les fichiers PDF doivent être ouverts et convertis en texte. Le texte est ensuite segmenté en blocs plus petits.
Convertir le texte en vecteurs : appelés embeddings. Les vecteurs sont des représentations numériques de concepts convertis en séquences numériques, qui permettent aux ordinateurs de comprendre facilement les relations entre ces concepts.
Liens entre les données sources et les incorporations : ces informations sont stockées sous forme de métadonnées sur les blocs créés qui sont ensuite utilisées pour aider les LLM à générer des citations tout en générant des réponses.
RAG avec Azure Machine Learning (préversion)
RAG dans Azure Machine Learning est activé par l’intégration à Azure OpenAI Service pour les modèles de langage volumineux et la vectorisation, avec une prise en charge de Faiss et d’Azure AI Search (anciennement Recherche cognitive Azure) en tant que magasins vectoriels, et une prise en charge des outils et frameworks d’offres open source tels que LangChain pour la segmentation des données.
Pour implémenter RAG, quelques exigences clés doivent être remplies. Tout d’abord, les données doivent être mises en forme de manière à permettre une recherche efficace avant de les envoyer au LLM, ce qui réduit la consommation de jetons. Pour garantir l’efficacité de RAG, il est également important de mettre à jour régulièrement vos données sur une base périodique. En outre, la possibilité d’évaluer la sortie du LLM à l’aide de vos données vous permet de mesurer l’efficacité de vos techniques. Azure Machine Learning vous permet non seulement de commencer facilement sur ces aspects, mais vous permet également d’améliorer et de produire RAG. Azure Machine Learning offre :
- Exemples pour démarrer des scénarios de Q&A basés sur RAG.
- Expérience d’interface utilisateur basée sur l’Assistant pour créer et gérer des données et les incorporer dans des flux d’invite.
- Possibilité de mesurer et d’améliorer les workflows RAG, notamment la génération de données de test, la création automatique d’invite et les mesures d’évaluation d’invite visualisées.
- Scénarios avancés avec plus de contrôle à l’aide des nouveaux composants RAG intégrés pour la création de pipelines personnalisés dans des notebooks.
- Expérience de code, qui permet d’utiliser les données créées avec des offres open source telles que LangChain.
- Intégration transparente des workflows RAG aux workflows MLOps à l’aide de pipelines et de travaux.
Conclusion
Azure Machine Learning vous permet d’incorporer RAG dans votre IA à l’aide d’Azure Machine Learning Studio ou d’utiliser du code avec des pipelines Azure Machine Learning. Il offre plusieurs ajouts de valeur, comme la possibilité de mesurer et d’améliorer les workflows RAG, de tester la génération de données, de créer automatiquement des invites et de visualiser les mesures d’évaluation d’invite. Il permet d’intégrer des workflows RAG aux workflows MLOps à l’aide de pipelines. Vous pouvez également utiliser vos données avec des offres open source telles que LangChain.
Étapes suivantes
Utiliser des magasins vectoriels avec Azure Machine Learning (préversion)
Comment créer un index vectoriel dans le flux d’invite Azure Machine Learning (préversion)