Techniques RAG avancées : relier texte et visuels pour des réponses plus précises
Les grands modèles de langage (LLM) ont démontré des capacités exceptionnelles pour comprendre et générer divers types de contenu, textuel ou visuel, ce qui les rend largement adoptés dans différents secteurs. Malgré leur polyvalence, les LLM produisent souvent des informations inexactes ou inventées — appelées hallucinations — en raison de connaissances limitées du domaine et de données obsolètes.
La génération augmentée par récupération (RAG) est une technique qui répond à ces défis en combinant les capacités génératives des LLM avec des systèmes de récupération qui extraient des informations pertinentes de sources externes. En ancrant les réponses des LLM dans des données réelles et à jour, la RAG améliore la précision et la pertinence contextuelle des réponses, ainsi que l’efficacité globale du système. Cette combinaison de génération et de récupération stimule l’innovation, transforme le traitement des données et rend les LLM plus fiables dans les applications réelles.
Lors d’un récent Meetup sur les données non structurées organisé par Zilliz, Yi Ding, ancien responsable de Typescript et des partenariats chez LlamaIndex, a partagé des perspectives sur une nouvelle approche de la RAG : Small to Slide. Cette méthode améliore les performances des LLM multimodaux lorsqu’ils traitent des données visuelles telles que des présentations ou des documents comportant des images. Dans ce blog, nous allons explorer le fonctionnement de la RAG, ses défis et les techniques avancées de RAG telles que Small to Slide RAG.
Comprendre la RAG
La RAG combine la puissance des LLM avec la capacité de récupérer des informations spécifiques depuis une base de connaissances alimentée par des bases de données vectorielles. Lorsqu’un utilisateur pose une question, le système RAG recherche dans la base de données les informations pertinentes et utilise ces informations pour générer une réponse plus précise. Voyons comment fonctionne le processus RAG.
Figure : Fonctionnement de la RAG
Un système RAG se compose de trois éléments clés : un modèle d’embedding, une base de données vectorielle et un LLM.
Le modèle d’embedding convertit les documents en embeddings vectoriels, qui sont stockés dans une base de données vectorielle comme Milvus.
Lorsqu’un utilisateur pose une question, le système transforme la requête en vecteur à l’aide du même modèle d’embedding.
La base de données vectorielle effectue ensuite une recherche de similarité afin de récupérer les informations les plus pertinentes. Ces informations récupérées sont combinées à la question d’origine pour former une « question avec contexte », qui est ensuite envoyée au LLM.
Le LLM traite cette entrée enrichie pour générer une réponse plus précise et contextuellement pertinente.
Cette méthode est particulièrement précieuse pour gérer des connaissances spécialisées ou des informations dynamiques, fréquemment mises à jour, garantissant que les systèmes d’IA fournissent des réponses précises et fiables.
Par exemple, une grande plateforme d’e-commerce pourrait utiliser cette approche pour alimenter son système de recommandation de produits. Le système pourrait traiter des millions de descriptions de produits, d’avis clients et de données d’utilisation, puis les stocker sous forme de vecteurs. Lorsqu’un utilisateur recherche un produit, le système récupère rapidement les articles les plus pertinents, en tenant compte non seulement des mots-clés, mais aussi du sens sémantique de la requête.
Défis du RAG et techniques RAG avancées
Bien que le RAG offre de puissantes capacités, il est également confronté à des défis qui peuvent affecter son efficacité, en particulier lorsque les données deviennent volumineuses et complexes.
Vitesse : La recherche dans de plus grandes bases de données prend plus de temps. Cela peut être atténué en exploitant le calcul accéléré par matériel, par exemple en optimisant pour les GPU ou d’autres systèmes haute performance.
Précision : Garantir que nous récupérons les informations les plus pertinentes est difficile. Les développeurs ont besoin de moyens pour équilibrer les performances et la précision des données en fonction de leurs besoins.
Données multimodales : Un RAG de base éprouve des difficultés avec les données non textuelles comme les images ou les graphiques. La gestion de différents types de données vectorielles devient cruciale dans ces cas.
Dans les sections suivantes, nous explorerons plusieurs techniques RAG avancées — Small to Big RAG, Small to Slide RAG et ColPali — qui répondent à ces défis, en améliorant la vitesse, la précision et la polyvalence des systèmes RAG.
Small to Big RAG
Small to Big RAG est une méthode visant à améliorer la précision des systèmes RAG. L’idée centrale est de diviser les documents en fragments plus petits, centrés sur l’intention, pour des recherches précises, mais de récupérer des sections de contexte plus larges plutôt que de renvoyer uniquement les éléments correspondant exactement, afin de garantir que les LLM puissent générer des réponses pertinentes et complètes. En effet, bien que les fragments plus petits améliorent la précision de la recherche en se concentrant sur des détails spécifiques, ils peuvent aussi manquer un contexte critique, ce qui entraîne des réponses incomplètes ou inexactes.
Examinons un exemple.
Considérons la requête : “Où travaille Mme Churilo_ ?”_
Lors du traitement, le modèle d’embedding pourrait privilégier le mot moins courant “Churilo” au détriment de termes plus importants comme “travaille.” Par conséquent, le système pourrait récupérer des phrases mentionnant “Churilo” mais ne pas fournir l’information clé : “Chris est actuellement VP of Marketing chez Zilliz.”
Small to Big RAG remédie à cette limite en récupérant l’intégralité du paragraphe où son rôle est mentionné, donnant ainsi au LLM tout le contexte nécessaire pour fournir une réponse correcte et complète.
Figure : Récupération incorrecte dans un RAG traditionnel
Small to Big RAG est particulièrement efficace pour gérer des données textuelles complexes ou à plusieurs niveaux. Dans un système de support technique, par exemple, récupérer une seule phrase contenant un mot-clé pertinent pourrait omettre des détails environnants essentiels à la compréhension. À la place, Small to Big RAG récupère toutes les sections liées à la requête. Par exemple, lorsqu’un utilisateur demande : “Comment réinitialiser mon mot de passe ?” le système pourrait récupérer le paragraphe contenant la réponse directe et inclure du contexte supplémentaire, comme des recommandations de sécurité, rendant la réponse plus complète et plus utile.
En combinant la précision des embeddings plus petits avec la profondeur contextuelle d’une récupération plus large, Small to Big RAG garantit un équilibre entre précision et exhaustivité. Cette approche permet aux systèmes d’IA de fournir des réponses qui sont non seulement précises, mais aussi riches en contexte, améliorant leur fiabilité dans les applications réelles.
Small to Slide RAG
Si le RAG Small to Big excelle dans le traitement des données textuelles, il peine à capturer les informations intégrées dans des visuels tels que des diapositives, des graphiques ou des diagrammes. Small to Slide RAG est une méthode RAG améliorée qui résout ce problème en intégrant le texte provenant d’éléments visuels comme les diapositives, tout en récupérant l’image complète de la diapositive. Ce résultat récupéré est ensuite fourni à un LLM multimodal capable d’analyser à la fois le texte et les images, puis traité par celui-ci.
Voici comment cela fonctionne :
Intégration du texte : Le système extrait et intègre le texte des diapositives.
Récupération visuelle : Au lieu de récupérer uniquement du texte, il récupère l’image complète de la diapositive contenant les informations pertinentes.
Traitement multimodal : Les images de diapositives récupérées sont transmises à un LLM multimodal (par exemple, GPT-4 avec des capacités de vision) capable de traiter simultanément les composants visuels et textuels.
Cette méthode est particulièrement utile pour traiter des documents complexes où des informations cruciales sont transmises par des visuels. Par exemple, dans les rapports financiers trimestriels, les informations clés se trouvent souvent dans des graphiques ou des diagrammes que les systèmes RAG traditionnels basés sur le texte pourraient manquer. En récupérant et en analysant l’image complète de la diapositive, Small to Slide RAG garantit qu’aucun détail critique n’est négligé, fournissant une réponse plus précise et plus complète.
Pour démontrer la puissance de Small to Slide RAG, Yi Ding a présenté une démo d’un exemple pratique utilisant un jeu de diapositives Nvidia. Vous pouvez consulter la démo ici.
Figure : Comparaison entre le contexte récupéré par un RAG traditionnel et un Small to Slide RAG
Dans cette démo, Yi Ding a comparé le contexte récupéré par un système RAG traditionnel avec Small to Slide RAG lors de la réponse à la même question : "Quelles plateformes SaaS NVIDIA AI Enterprise prend-il en charge ?"
RAG traditionnel : Le système RAG traditionnel basé sur le texte a eu du mal à fournir une réponse complète. Il s’appuyait uniquement sur le texte extrait des diapositives, manquant des informations critiques intégrées dans les graphiques et les diagrammes. Cette limitation a entraîné une réponse incomplète et moins informative.
Small to Slide RAG : En revanche, Small to Slide RAG a fourni de bien meilleurs résultats. Le système a récupéré les images réelles des diapositives contenant les informations pertinentes et les a transmises à un LLM multimodal (par exemple, GPT-4 avec des capacités de vision). Cela a permis au modèle d’interpréter à la fois le texte et les éléments visuels, générant une réponse beaucoup plus complète et plus précise.
Cet exemple illustre la force unique de Small to Slide RAG : sa capacité à traiter des documents complexes où les informations clés sont réparties entre le texte et les visuels, ce qui en fait un outil inestimable pour le traitement de contenus riches en visuels.
Pour que ces méthodes RAG fonctionnent sans accroc, elles nécessitent une infrastructure permettant de gérer des requêtes complexes et des opérations de récupération.
ColPali : Repousser les limites
À la fin de son intervention, Yi a présenté une technique émergente appelée ColPali, un nouveau modèle de récupération de documents qui repousse les limites de la génération augmentée par récupération (RAG). Contrairement aux méthodes traditionnelles qui convertissent les documents contenant des données visuelles (comme les diapositives et les PDF) en texte, ColPali travaille directement avec les caractéristiques visuelles des documents, ce qui lui permet d’indexer et de récupérer des informations sans l’étape d’extraction de texte sujette aux erreurs.
Fonctionnement de ColPali
Bien qu’il en soit encore à ses débuts, ColPali modifie la façon dont nous effectuons habituellement la récupération de documents en se concentrant sur les données visuelles :
Les documents sont traités comme des images, en contournant entièrement la conversion en texte.
Plusieurs embeddings, similaires aux n-grammes visuels, sont générés par image afin de capturer des caractéristiques visuelles fines.
Les recherches sont effectuées en comparant les embeddings visuels à la requête, afin d’identifier les zones les plus pertinentes du document.
Figure : document français sur la production pétrolière au Kazakhstan, avec certaines zones mises en évidence
Examinons l’exemple présenté dans l’image ci-dessus : un document français sur la production pétrolière au Kazakhstan. Lorsqu’on l’interroge sur la production pétrolière offshore, ColPali met en évidence des zones spécifiques du document — comme des graphiques et des diagrammes — qui sont les plus pertinentes pour la requête. Cela garantit que les éléments textuels comme visuels sont pris en compte, offrant une compréhension complète du contenu.
Pourquoi ColPali est enthousiasmant
ColPali offre plusieurs avantages clés par rapport aux systèmes RAG traditionnels :
En travaillant directement avec des images, il évite les imprécisions introduites par la conversion de documents complexes (p. ex., des PDF) en texte.
Il capture les informations visuelles, telles que les mises en page, les diagrammes et la mise en forme, qui sont souvent perdues dans les méthodes basées sur le texte.
ColPali permet la récupération et la recherche de données visuelles, ouvrant des possibilités dans des domaines comme la conception technique, la documentation juridique, et bien d’autres.
Une application pratique de ColPali pourrait être les revues de conception architecturale. Imaginez un système d’IA analysant directement des plans et des dessins techniques. Lorsqu’il est interrogé sur des éléments de conception spécifiques, le système pourrait mettre en évidence les parties pertinentes des dessins, en intégrant à la fois les annotations textuelles et les caractéristiques visuelles.
Défis et limites de ColPali
Bien que ColPali soit prometteur, il en est encore à ses débuts et s’accompagne de certains défis :
Forte demande computationnelle : Générer et comparer plusieurs embeddings par image est intensif en calcul, ce qui rend l’accélération GPU essentielle pour une utilisation pratique.
Écosystème limité : Par rapport aux techniques RAG plus établies, il existe moins d’outils et de ressources disponibles pour mettre en œuvre ColPali.
Modèles spécifiques à la langue et à l’entraînement : Les modèles ColPali reposent actuellement sur des jeux de données d’entraînement spécifiques, ce qui peut limiter la généralisation à différents domaines.
Avantages et inconvénients de chaque technique RAG
Chacune des techniques que nous avons abordées ci-dessus offre des avantages et des limites distincts.
Figure : comparaison de différentes techniques RAG
Le RAG basé sur le texte est le plus simple à mettre en œuvre, bénéficiant d’un vaste support en matière d’outillage. Cependant, il a du mal à préserver les informations multimodales et ne gère pas toujours parfaitement le découpage en segments. D’autre part, Small to Slide améliore la capture des données multimodales, bien qu’il exige une configuration plus complexe et fonctionne mieux avec des types de données spécifiques. Enfin, ColPali simplifie le processus en évitant le besoin de conversion en texte et en intégrant une attribution native, mais il nécessite des GPU et des modèles personnalisés, ce qui peut limiter l’accessibilité pour certains projets.
Mettre en œuvre un RAG avancé : considérations pratiques
Si vous envisagez de mettre en œuvre ces techniques RAG avancées dans vos propres projets, voici quelques points à garder à l’esprit.
Évaluation des données
Examinez les types de données avec lesquels vous travaillez. Si vous avez de nombreux documents comportant des graphiques, des images ou des mises en page complexes, des approches comme Small to Slide RAG pourraient être particulièrement bénéfiques. Par exemple, si vous construisez un système pour analyser des rapports financiers, qui contiennent souvent un mélange de texte, de tableaux et de graphiques, Small to Slide RAG pourrait fournir des informations plus complètes qu’une approche uniquement textuelle.
Ressources computationnelles
Des méthodes comme Small to Slide RAG et ColPali peuvent être plus gourmandes en calcul que le RAG traditionnel. Assurez-vous de disposer des ressources nécessaires, en particulier lorsque vous travaillez avec de grands jeux de données.
Sélection du modèle
Ces techniques avancées nécessitent souvent des types de modèles spécifiques. Pour Small to Slide RAG, vous aurez besoin d’un LLM multimodal capable de traiter du texte et des images. Assurez-vous de choisir un modèle qui répond à vos besoins et de disposer des ressources nécessaires pour l’exécuter.
Capacités de la base de données vectorielle
Choisir la bonne base de données vectorielle est crucial pour mettre en œuvre un système RAG adapté à vos besoins. Par exemple, si vous mettez en œuvre un Small to Big RAG, vous aurez besoin d’une base de données vectorielle capable de récupérer efficacement de plus grands blocs de texte à l’aide d’embeddings générés à partir de blocs plus petits. La scalabilité devient essentielle si votre application traite d’énormes quantités de données vectorielles, comme des jeux de données à l’échelle du milliard. Des solutions comme Milvus et son service managé, Zilliz Cloud, sont conçues pour ces scénarios, offrant une récupération vectorielle hautement scalable et efficace.
Métriques d’évaluation
Définissez des métriques claires pour évaluer les performances de votre système RAG, notamment la pertinence des informations récupérées, l’exactitude des réponses générées et la vitesse de récupération et de génération.
Développement itératif
Le RAG évolue rapidement. Prévoyez un processus de développement itératif qui vous permette de tester et de comparer facilement différentes approches. Commencez par une implémentation RAG de base, puis introduisez progressivement des techniques plus avancées comme Small to Big RAG ou Small to Slide RAG. Évaluez continuellement les performances et les retours des utilisateurs pour guider votre processus de développement.
Conclusion
Les techniques RAG continuent d’évoluer, offrant différentes approches comme le RAG basé sur le texte, Small to Slide RAG et ColPali pour répondre à des besoins variés. Alors que le RAG basé sur le texte constitue un point de départ solide pour les applications générales, les cas plus spécialisés, en particulier ceux qui traitent des données visuelles, peuvent bénéficier de méthodes avancées comme Small to Slide RAG ou ColPali.
Le choix de la bonne méthode dépend de vos données et des ressources disponibles. Chaque approche offre un moyen d’améliorer l’efficacité et l’exactitude des systèmes d’IA, permettant un meilleur équilibre entre complexité, vitesse et coût. En alignant votre approche sur vos exigences spécifiques, vous pouvez exploiter le RAG pour créer des systèmes qui fournissent aux utilisateurs la bonne information au bon moment et dans le bon format.
Ressources supplémentaires
RAG multimodal : aller au-delà du texte pour une IA plus intelligente
ColPali : récupération efficace de documents avec des modèles de langage visuel
Le paysage de l’écosystème GenAI : au-delà des LLM et des bases de données vectorielles
Les modèles d’IA les plus performants pour vos applications GenAI | Zilliz
Créez des applications d’IA avec Milvus : tutoriels et notebooks
Continuer à lire

Announcing the General Availability of Zilliz Cloud BYOC on Google Cloud Platform
Zilliz Cloud BYOC on GCP offers enterprise vector search with full data sovereignty and seamless integration.

VidTok: Rethinking Video Processing with Compact Tokenization
VidTok tokenizes videos to reduce redundancy while preserving spatial and temporal details for efficient processing.

Building RAG Pipelines for Real-Time Data with Cloudera and Milvus
explore how Cloudera can be integrated with Milvus to effectively implement some of the key functionalities of RAG pipelines.



