View a markdown version of this page

Comprendre le LLM et le RAG - AWS Conseils prescriptifs

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Comprendre le LLM et le RAG

Pour comprendre comment l'amélioration de la qualité du document source améliore la qualité d'une réponse RAG, vous devez comprendre le fonctionnement interne d'un LLM. Le véritable pouvoir des LLM réside dans leur capacité à utiliser des mécanismes d'attention personnelle et des architectures de transformateurs. Ces techniques avancées permettent aux modèles de traiter et de relier efficacement différentes parties de la séquence d'entrée, indépendamment de leur position ou de leur distance dans le texte. Cette fonctionnalité contraste nettement avec les modèles linguistiques traditionnels, qui ont souvent du mal à gérer les dépendances à long terme et à comprendre le contexte. De plus, les LLM sont formés à une échelle sans précédent. Certains des modèles les plus importants sont composés de milliards de paramètres et ont ingéré des téraoctets de données textuelles provenant de diverses sources. Cette échelle massive permet aux LLM de développer une riche compréhension du langage, en capturant des nuances subtiles, des expressions idiomatiques et des indices contextuels qui étaient auparavant difficiles pour les systèmes d'IA. Le résultat est une classe de modèles capables de générer un texte cohérent et fluide et de démontrer des capacités remarquables dans des tâches telles que la réponse aux questions, la synthèse de texte et même la génération de code.

Pour utiliser ces modèles, nous pouvons nous tourner vers des services tels qu'Amazon Bedrock, qui donne accès à une variété de modèles de base d'Amazon et de fournisseurs tiers, notamment Anthropic, Cohere et Meta. Vous pouvez utiliser Amazon Bedrock pour expérimenter des modèles de pointe, les personnaliser et les affiner, ou les intégrer à vos AI-powered solutions génératives via une API unique.

Bien que les LLM excellent dans la capture de modèles et la génération de texte cohérent, ils n'ont souvent pas accès à des informations actualisées ou spécialisées. RAG combine le pouvoir générateur des LLM avec un composant de récupération qui peut accéder aux informations pertinentes provenant de sources externes et les intégrer, dans le cadre de l'invite LLM matérialisée. Parmi les sources externes, on peut citer les bases de connaissances pour Amazon Bedrock, les systèmes de recherche intelligents tels qu'Amazon Kendra ou les bases de données vectorielles telles qu'Amazon OpenSearch Service.

Le flux de travail qui permet à une RAG-based application de répondre aux requêtes d'un utilisateur.

Le diagramme décrit le flux de travail suivant :

  1. L'utilisateur soumet une requête à l'application RAG.

  2. L'application RAG interroge une base de données vectorielle contenant des sources de connaissances, telles que des documents, des données ou des médias.

  3. L'application RAG extrait les informations pertinentes de la base de données vectorielle en fonction des similitudes sémantiques entre la requête et les documents stockés.

  4. L'application RAG complète l'invite d'origine avec le contexte récupéré et l'envoie au point de terminaison LLM.

  5. Le point de terminaison LLM génère une réponse et la renvoie à l'application RAG.

  6. L'application RAG renvoie la réponse générée à l'utilisateur.

À la base, RAG utilise un processus en deux étapes. Dans un premier temps, un modèle de récupération identifie et extrait les documents ou passages pertinents en fonction de la requête d'entrée. Ce modèle de récupération peut être un système de récupération d'informations traditionnel, un modèle de récupération dense ou une combinaison des deux. Dans la deuxième étape, les informations récupérées et la requête d'origine sont introduites dans un LLM sous forme de modèle d'invite entièrement matérialisé. Les LLM dépendent fortement de la qualité du contenu source fourni par le composant retriever. Ils appliquent un mécanisme d'attention personnelle pour encoder mathématiquement le lien entre le contenu récupéré et la tâche. Le LLM génère ensuite une réponse basée à la fois sur la requête et sur les informations extraites. Dans RAG, le contrôle de la qualité des documents sources récupérés représente un moyen direct d'améliorer la représentation interne d'une tâche par un LLM. RAG augmente efficacement les données de formation du LLM avec des données externes pertinentes. Cette approche permet à RAG de tirer parti des points forts des LLM et des systèmes de récupération, permettant ainsi de générer des réponses plus précises et informées intégrant les connaissances actuelles et spécialisées.

Vecteurs et intégrations

Les vecteurs et les intégrations sont des concepts fondamentaux de l'apprentissage automatique et du traitement du langage naturel. Les vecteurs sont des objets mathématiques qui représentent des quantités possédant à la fois une amplitude et une direction. Dans le contexte du traitement du langage naturel (NLP), les mots, les phrases ou les documents sont souvent représentés sous forme de vecteurs dans des espaces vectoriels de grande dimension. Les intégrations, quant à elles, sont un moyen de représenter des objets tels que des mots ou des documents dans un espace vectoriel de dimension inférieure où les relations entre les vecteurs capturent des similitudes sémantiques ou syntaxiques. Les intégrations de mots, par exemple, permettent à des mots ayant des significations similaires d'avoir des représentations vectorielles similaires. Cela permet aux algorithmes de comprendre et de traiter le langage plus efficacement.

bases de données vectorielles

Dans l'IA générative, une base de données vectorielle est une base de données qui stocke et gère les représentations vectorielles de documents, de requêtes ou d'autres objets. Il est conçu pour stocker et récupérer efficacement les vecteurs. Cela prend en charge des opérations rapides et évolutives telles que la recherche sémantique et la mise en correspondance des similitudes. Les bases de données vectorielles indexent les vecteurs à l'aide de structures de données spécialisées, telles que les graphes Hierarchical Navigable Small World (HNSW) ou les algorithmes K-Nearest Neighbors (KNN). Ces structures de données permettent d'effectuer des recherches rapides auprès des voisins les plus proches, ce qui permet de trouver rapidement des vecteurs similaires dans la base de données.

La recherche sémantique est une technique qui améliore la pertinence des résultats de recherche en comprenant l'intention et le contexte de la requête, plutôt que de simplement faire correspondre des mots clés. En termes techniques, la recherche sémantique consiste à comparer les représentations vectorielles de la requête et les documents de la base de données afin de trouver les correspondances les plus pertinentes. Différentes stratégies de récupération peuvent être utilisées pour la recherche sémantique, notamment :

  • HNSW — Structure de données basée sur des graphes qui organise les vecteurs de manière à faciliter la recherche des voisins les plus proches.

  • KNN — Algorithme qui trouve les K vecteurs les plus proches d'un vecteur de requête sur la base d'une métrique de distance, telle que la similitude des cosinus.

  • Similarité du cosinus : mesure de similitude entre deux vecteurs non nuls qui mesure le cosinus de l'angle entre eux. Il est souvent utilisé dans la recherche sémantique pour comparer la direction des vecteurs dans un espace de grande dimension.

  • Locality-sensitive hachage (LSH) : technique qui hache des vecteurs similaires vers des compartiments identiques ou voisins avec une probabilité élevée. Cela permet d'effectuer des recherches approximatives auprès du plus proche voisin, ce qui peut être plus rapide que des recherches exactes dans des espaces de grande dimension.