Pipeline RAG optimisée pour la récupération à grande échelle

pipeline-RAG
Home » Pipeline RAG optimisée pour la récupération à grande échelle

Cet article explique l’importance des applications d’IA basées sur la génération augmentée par récupération (Pipeline RAG). De plus, il fournit des conseils détaillés sur la conception de pipelines d’ingestion et de récupération pour les cas d’utilisation RAG à grande échelle. Par ailleurs, il met en lumière les fonctionnalités de la solution HPE Private Cloud AI qui vous permettent de construire des pipelines RAG optimisés.

pipeline-RAG-1024x585 Pipeline RAG optimisée pour la récupération à grande échelle

L’essor de l’IA générative dans les stratégies d’entreprise

L’IA générative constitue désormais un axe prioritaire pour toute stratégie d’entreprise. En effet, ce domaine de l’intelligence artificielle utilise des techniques avancées d’apprentissage automatique pour générer du contenu unique, comme du texte, des images ou même des modèles 3D à partir d’une requête initiale.

Les solutions d’IA générative s’appuient sur des grands modèles de langage (LLM). Ces derniers ont bénéficié d’un entraînement sur d’immenses volumes de données. Par conséquent, ils prédisent le mot ou pixel suivant en utilisant la requête de l’utilisateur et la sortie déjà générée. Les LLM ont révolutionné l’apprentissage automatique traditionnel en permettant des interactions efficaces en langage naturel. Ainsi, ils comprennent et génèrent du texte semblable à celui d’un humain dans diverses langues et sur différents sujets.

Les LLM forment le cœur des chatbots intelligents et des applications de traitement du langage naturel. Grâce à eux, les chatbots répondent de manière humaine. Toutefois, les développeurs ont préentraîné les LLM accessibles au public sur un vaste corpus de données publiques. Par conséquent, ces modèles ne possèdent aucune connaissance inhérente des données privées d’entreprise. Un défi majeur avec les LLM réside dans leur tendance à halluciner ou produire des réponses imprévisibles en inventant des faits. De plus, les LLM peuvent devenir obsolètes si les équipes ne les réentraînent pas constamment sur de nouveaux ensembles de données.

La génération augmentée par récupération (Pipeline RAG) : une solution aux limites des LLM

Pour atténuer ces problèmes, les développeurs intègrent les LLM avec la génération augmentée par récupération (RAG). Cette approche optimise la sortie générée par le LLM en fournissant un contexte supplémentaire provenant de sources autorisées. Ainsi, les sources se situent en dehors de l’ensemble de données utilisé pour entraîner ces LLM. De ce fait, RAG étend la capacité déjà puissante des LLM à des domaines spécifiques ou à la base de connaissances interne d’une organisation, évitant la nécessité de réentraîner le modèle.

La précision des questions posées aux robots LLM dépend fortement de l’implémentation d’un système RAG efficace. Il devient donc crucial de concevoir une architecture RAG qui incorpore un grand nombre de sources de connaissances spécifiques à un domaine. En outre, cette architecture doit également convertir efficacement et sécuritairement ces sources en base de connaissances. Cette conversion nécessite un choix judicieux de modèle d’embedding qui transforme les données sources avec une méthodologie de découpage optimisée. Ensuite, elle représente ces segments comme vecteurs de connaissance dans la base de données vectorielle.

Solution HPE Private Cloud AI pour Pipeline RAG

Pour simplifier et accélérer le développement d’applications d’IA générative, HPE et NVIDIA ont codéveloppé HPE Private Cloud AI. Cette solution constitue la première offre entièrement intégrée et prête à déployer issue de l’initiative NVIDIA AI Computing by HPE. Ce partenariat vise à permettre aux entreprises d’atteindre leurs objectifs en matière d’IA. Par ailleurs, NVIDIA AI Computing by HPE combine expertise, technologie et efficacité économique pour rationaliser les déploiements d’IA, atténuer les risques et gérer les coûts de l’IA dans le temps.

Avant de déployer votre solution RAG, vous devrez répondre à plusieurs questions essentielles :

  • Comment pouvez-vous concevoir et construire votre pipeline RAG ?
  • Comment pouvez-vous déployer votre modèle d’embedding sur site, et lequel devriez-vous choisir ?
  • Comment pouvez-vous vous connecter à plusieurs sources de données d’entreprise pour alimenter le pipeline d’ingestion RAG ?
  • Quelle stratégie de découpage devriez-vous choisir pour optimiser les opérations d’ingestion et de récupération RAG ?
  • Comment pouvez-vous déployer votre magasin vectoriel, et lequel devriez-vous choisir pour les opérations RAG ?
  • Combien d’instances de LLM, d’embedder et de reclasseur devriez-vous utiliser dans votre pipeline RAG ?

HPE Private Cloud AI, bâti sur HPE AI Essentials, simplifie ces défis en offrant une capacité RAG à la demande. Cette solution vous permet de créer un pipeline RAG en trois étapes simples :

  1. Choisissez votre LLM
  2. Sélectionnez vos sources de données et choisissez la stratégie de découpage
  3. Déployez votre solution

Ce déploiement RAG intègre automatiquement une base de données vectorielle. De plus, HPE applique un contrôle d’accès à chaque source de données pour assurer la sécurité du système. Par conséquent, vous pouvez utiliser cette solution RAG avec n’importe quelle application d’IA générative via des API standard comme OpenAI, Langchain Framework ou LlamaIndex Framework.

Architecture du Pipeline RAG d’ingestion

La première étape d’une implémentation RAG consiste à mettre en place le pipeline d’ingestion. Ce dernier facilite l’intégration d’une source de connaissances par laquelle vous incorporez les données d’entreprise non structurées.

Le processus se déroule en plusieurs étapes :

  1. Le pipeline d’ingestion de RAG facilite d’abord l’intégration avec les sources de connaissances. Ainsi, vous chargez les données d’entreprise non structurées dans le datastore d’objets de HPE Private Cloud AI via des API S3.
  2. Ensuite, un prétraitement sépare les données textuelles et les images. Ce processus utilise une série de tâches parallèles avec des analyseurs PDF, texte et document, selon la nature des documents.
  3. Puis, différents modèles traitent les images selon les divers types de graphiques et tableaux. Parallèlement, le texte alimente directement l’étape suivante du pipeline.
  4. Une fois le prétraitement terminé, le système découpe les données en segments. Ensuite, le modèle d’embedding transforme chaque segment en vecteur.
  5. Enfin, le système stocke les embeddings générés dans la base de données vectorielle gérée par HPE Private Cloud AI.

Architecture du Pipeline RAG de récupération

Une fois que le système a stocké les embeddings dans le magasin vectoriel, le pipeline de récupération peut accepter des requêtes qui déclencheront la récupération d’informations.

D’abord, le modèle d’embedding traite les requêtes utilisateurs. Ensuite, les récupérateurs du magasin vectoriel utilisent le vecteur résultant pour trouver des vecteurs similaires dans la base de données. Le système remplace ensuite ces vecteurs par les segments de document correspondants. Par ailleurs, un modèle de reclassement améliore les résultats de recherche en réordonnant les segments pour prioriser les réponses les plus pertinentes. Finalement, les modèles d’inférence traitent les réponses récupérées pour générer une réponse en langage naturel.

HPE déploie tous ces LLM de récupération comme services d’inférence NVIDIA (NIM) avec des points de terminaison gérés par HPE Private Cloud AI/HPE AI Essentials. De plus, le magasin vectoriel fonctionne comme un service distinct soutenu par un stockage haute performance interne. Par conséquent, il offre une échelle au niveau du pétaoctet avec des performances de lecture hautement évolutives pour les opérations de récupération.

Métriques de performance pour les pipelines d’ingestion et de récupération

Vous pouvez mesurer la performance d’un pipeline RAG selon plusieurs facteurs. Cet article ne vise pas à fournir une analyse complète de la performance, mais plutôt à vous donner un aperçu des différents composants et de leur impact sur les performances globales.

Un facteur critique définissant les métriques de performance d’un RAG est la taille des segments (ou taille de découpage). Le découpage divise de grands ensembles de données en plus petits morceaux d’information pour une utilisation efficace par les LLM. Vous décidez de la taille des segments lors de l’ingestion, ce qui définit la taille du passage de texte extrait des données sources pour générer un index de récupération.

Impact de la taille des segments sur les performances d’ingestion

Le temps d’ingestion se caractérise par son débit qui affecte le temps nécessaire pour charger un ensemble de données. Vous définissez ce débit par le nombre de fichiers et de pages traités par seconde. Puisque les documents non structurés contiennent plusieurs types d’entrées (textes et images), vous devez choisir les modèles de traitement appropriés pour atteindre un débit élevé.

Les observations clés concernant le débit du pipeline d’ingestion avec différentes tailles de segments sont les suivantes :

  • La taille des segments joue un rôle crucial pour atteindre un pipeline d’ingestion optimal. Par exemple, pour une taille entre 200-300 tokens, vous générez un nombre optimal de vecteurs.
  • De même, pour le temps de calcul, une taille entre 200-300 tokens vous offre un meilleur temps de calcul pour les vecteurs générés.
  • En outre, le débit d’ingestion (fichiers/sec) atteint son optimum pour des tailles entre 200-300 tokens. Par conséquent, des valeurs inférieures vous donnent des performances sous-optimales, tandis que des valeurs supérieures dégradent les performances.

Performances du pipeline de récupération

Une fois que vous avez créé la base de connaissances, les requêtes passent par le pipeline de récupération. Ce pipeline se caractérise par le temps jusqu’au premier token (TTFT), également appelé latence, et son débit mesuré en tokens/s ou requêtes/s. Vous devez donc configurer le pipeline avec le bon niveau de concurrence pour atteindre des performances de récupération optimales.

De plus, l’opération de recherche vectorielle s’appuie sur des algorithmes comme la recherche de similarité cosinus ou la recherche euclidienne. Ces algorithmes déterminent les « K » éléments les plus pertinents récupérés de l’ensemble de données en réponse à une requête. Ainsi, « top_k » est un paramètre que vous définissez pour spécifier le nombre d’éléments à retourner.

Les observations clés concernant le débit du pipeline de récupération pour les opérations de recherche sont les suivantes :

  • Pour maintenir un débit optimal, vous devez équilibrer la récupération par ensemble de services NIM (NIM LLM Inference, NIM Embedder et NIM Reranker).
  • Ensuite, votre choix du nombre de tokens d’entrée et de sortie définit les cas d’utilisation considérés. Par exemple, dans notre cas, nous considérons 200 tokens en entrée et 1000 tokens en sortie.
  • Par ailleurs, un top_k plus élevé diminuera les performances mais améliorera la précision en fournissant un contexte supplémentaire au LLM. La valeur de k dépend fortement de la qualité de la source de connaissances et de la taille des segments.

Précision des réponses RAG

Un autre aspect à considérer est la précision des réponses récupérées. Vous mesurez la précision RAG en comparant les réponses récupérées aux données de référence (GroundTruth). Les développeurs prégénèrent ces données de référence en utilisant la même source de connaissances que RAG, mais en employant aussi un LLM pour générer une liste de questions et/ou réponses.

Les métriques clés définissant la précision des réponses sont les suivantes :

  • Précision du contexte : mesure la proportion de segments pertinents dans les contextes récupérés. Elle varie de 0 à 1, une valeur plus élevée indiquant une meilleure précision.
  • Rappel du contexte : évalue combien de documents pertinents le système a récupérés avec succès. Un rappel plus élevé signifie que le système a omis moins de documents pertinents.
  • Fidélité : évalue la cohérence factuelle de la réponse générée par rapport au contexte donné. Elle se note sur une échelle de 0 à 1, une valeur plus élevée étant meilleure.
  • Pertinence du contexte : analyse la pertinence de la réponse générée par rapport à la requête. Les évaluateurs attribuent des scores plus bas aux réponses incomplètes ou contenant des informations redondantes.

Lorsque vous augmentez la taille des segments, vous améliorez la précision RAG jusqu’à certaines valeurs seuil. Cependant, une taille inférieure à ce seuil vous donnerait une précision sous-optimale.

Optimisez vos pipelines RAG haute performance avec HPE Private Cloud AI

Voici un résumé de l’implémentation d’un pipeline RAG haute performance pour les cas d’utilisation d’IA générative avec la solution HPE Private Cloud AI :

  • D’abord, RAG vous permet de prétraiter des documents, d’ingérer des données, de générer des embeddings et d’effectuer des opérations de récupération. Par ailleurs, l’implémentation RAG avec HPE Private Cloud AI se fait en 3 étapes simples : choisir votre LLM, sélectionner vos sources de données avec la stratégie de découpage, puis déployer.
  • Ensuite, vous devez concevoir les pipelines d’ingestion et de récupération de manière optimale pour une opération RAG efficace.
  • De plus, vous devez définir des métriques clés pour un RAG efficace, car plusieurs paramètres interviennent à chaque étape du pipeline.
  • Enfin, grâce à RAG, vos applications d’IA générative accèdent aux données d’entreprise en temps réel avec un LLM préentraîné qui reste constamment à jour.

Slug : pipeline-rag-optimisee-ingestion-recuperation-grande-echelle

Méta-description : Découvrez comment optimiser vos pipelines RAG pour l’ingestion et la récupération de données à grande échelle grâce à HPE Private Cloud AI.

Share this content:

Laisser un commentaire

You May Have Missed