À retenir
- Les modèles à long contexte peuvent simplifier un travail ponctuel sur quelques documents, puisque tout l’input peut tenir dans un seul prompt sans pipeline de recherche.
- Le RAG demeure utile pour les datasets vastes ou changeants, puisqu’il récupère un contexte plus petit et pertinent au lieu d’envoyer toute la collection à chaque requête.
- Choisissez à partir de mesures. La taille et la fraîcheur des données, le volume de requêtes, la latence, les coûts et la qualité des réponses comptent plus que de déclarer l’une ou l’autre approche morte.
Beaucoup de personnes affirment que le RAG est mort depuis l’arrivée de tous ces nouveaux modèles dotés de grandes fenêtres de contexte, comme GPT-4o Mini, qui peut traiter jusqu’à 128 000 tokens en input, ou, pire encore, Gemini 1.5 Pro, qui peut en traiter 2 millions. Pour vous donner une idée, 2 millions de tokens équivalent à 3 000 pages.
Alors, avons-nous encore besoin de faire de la génération augmentée par la recherche d’information, sachant que de meilleurs modèles continueront d’apparaître à court et à long terme avec des fenêtres de contexte et des capacités accrues?
Je ne le pense pas. Pour comprendre pourquoi, il est important de saisir les avantages et les compromis liés à l’utilisation de modèles à long contexte comparativement à la construction d’un pipeline RAG. Vous saurez ainsi quand et pourquoi investir du temps et des ressources dans son développement.
Disons par exemple que vous créez un assistant d’écriture IA personnel qui doit avoir accès à toute votre collection d’articles ou de livres. Que feriez-vous?
Ou que vous développez un assistant financier IA qui doit analyser des rapports financiers. Quelle méthode interprétera correctement les rapports, y compris les chiffres?
Connaître les avantages et les inconvénients des modèles à long contexte par rapport à la construction d’un système RAG performant vous fera économiser du temps et de l’argent.
Comme les fenêtres de contexte deviennent de plus en plus grandes et que les modèles deviennent multimodaux, vous pourriez ne pas vouloir perdre de temps à développer un pipeline de recherche pour votre cas d’utilisation précis, surtout pour une tâche ponctuelle. C’est tout à fait logique. Mais savoir comment tirer le meilleur de ces approches vous sera utile tôt ou tard, lorsque la bonne application se présentera.
Commençons par expliquer ce que sont les modèles à long contexte, ainsi que leurs avantages et leurs inconvénients.
Les modèles de langage à long contexte sont des modèles d’IA capables de traiter et de raisonner sur des quantités beaucoup plus importantes de texte en input que les LLMs traditionnels publiés auparavant. Ces modèles peuvent gérer des contextes allant de centaines de milliers à des millions de tokens dans un seul prompt. Ils peuvent ainsi ingérer et analyser des documents, des livres, des bases de données ou des collections d’information au complet et en une seule fois. Beaucoup ont annoncé la mort du RAG lorsque Gemini a lancé sa fenêtre de contexte de plus d’un million de tokens.
La version de GPT-4 du 14 mars 2023 ne pouvait traiter que 8k tokens. En juillet 2024, un an plus tard, GPT-4o Mini, un remplaçant plus intelligent et moins coûteux de GPT-3.5 Turbo, peut traiter jusqu’à 128k tokens. Les modèles de la récente suite Llama 3.1 possèdent aussi chacun une fenêtre de contexte de 128k tokens. Il existe également des modèles récents comme Gemini 1.5 Pro, qui peut traiter jusqu’à 2M tokens. Cela représente environ 3 000 pages de texte!
Cette fenêtre de contexte étendue peut permettre aux LLMs d’accomplir, dans un seul modèle, des tâches qui exigeaient traditionnellement des outils externes ou des systèmes spécialisés, comme la recherche d’information, le raisonnement sur plusieurs documents et la réponse à des requêtes complexes.
Elle est particulièrement utile, par exemple, lorsqu’on place une base de code complète dans le contexte. La compréhension du modèle profite alors d’une vue du dépôt au complet et des liens entre ses différentes parties.
Travailler avec un long contexte convient aussi lorsqu’un temps de traitement prolongé ne pose pas problème. Ces modèles traitent un grand nombre de tokens au moyen d’un processus itératif. De petites quantités sont traitées de façon séquentielle jusqu’à ce que toute la longueur de l’input soit couverte, tandis que les connaissances de chaque sous-partie sont conservées sous une forme encodée. J’ai expliqué ce processus dans mon article sur l’attention infinie si vous souhaitez en savoir plus sur la façon dont ils y arrivent.
Alors, quels sont les avantages du RAG?
Le RAG est une excellente technique pour gérer de plus grandes collections de documents qui ne peuvent pas tenir dans une seule fenêtre de contexte de LLM.
Contrairement à certaines croyances populaires, les systèmes RAG bien conçus sont rapides et précis. Les requêtes adressées à une base de données contenant plusieurs documents sont traitées rapidement grâce à des méthodes efficaces d’indexation des documents. Avec beaucoup de données, ce processus de recherche est bien plus léger que d’envoyer toute l’information directement à un LLM et de tenter de « trouver l’aiguille utile » dans la pile de données. Avec le RAG, nous pouvons inclure sélectivement l’information pertinente dans le prompt initial. Cela réduit le bruit et les hallucinations potentielles. En prime, le RAG permet d’utiliser des techniques et des systèmes avancés, comme le filtrage par métadonnées, les graphes et la recherche hybride, pour améliorer les performances sans dépendre uniquement d’un LLM.
Alors, quelle approche est la meilleure?
En général, je pense qu’il y a une place pour l’utilisation et la combinaison des deux méthodes. Les modèles à long contexte simplifient le processus global en réduisant le besoin de techniques RAG complexes, puisqu’ils peuvent traiter de plus grands blocs d’information à la fois. Cela peut augmenter les chances d’inclure l’information pertinente et réduire le besoin d’évaluations poussées.
Le RAG demeure toutefois utile, surtout lorsqu’on travaille avec de grands datasets, lorsque le temps de traitement est critique ou lorsque la rentabilité est une priorité. Le RAG est particulièrement utile lorsqu’on utilise des LLMs via des API, puisqu’il est plus efficace et rentable de récupérer et d’envoyer seulement l’information la plus pertinente que de traiter d’immenses quantités de texte.
Les modèles à long contexte peuvent être préférables pour des tâches ponctuelles, de plus petits datasets, par exemple pour analyser un ou deux PDF, ou un nombre réduit de prompts par heure. Ils peuvent alors être plus rentables lorsqu’on tient compte du coût de construction d’un pipeline RAG performant.
La principale différence réside dans la façon dont l’information est ajoutée au prompt initial. Le RAG ajoute seulement l’information pertinente, ce qui peut limiter les hallucinations et le bruit, tandis que les modèles à long contexte incluent toute l’information disponible et confient au LLM une plus grande responsabilité pour la traiter efficacement. En pratique, le RAG convient bien aux applications comme les systèmes de soutien à la clientèle et l’intégration de données en temps réel, tandis que les modèles à long contexte excellent dans les tâches complexes d’analyse et de résumé de plusieurs documents.
Au bout du compte, le choix entre ces approches dépend des besoins et des contraintes propres à l’application. Pour répondre à la question initiale, le RAG n’est pas mort. Les deux méthodes ont leurs forces dans différents scénarios, alors la décision vous revient. Voici un tableau pour vous aider à choisir la voie à suivre pour votre application.

Maintenant que vous comprenez mieux les avantages et les compromis de chaque méthode, assurez-vous de consulter notre cours, où nous approfondissons ce sujet. Vous découvrirez de nombreuses techniques avancées, comme le KV caching, une nouvelle méthode récemment lancée par Google qui exploite les modèles à long contexte et rend le processus un peu plus efficace.
Merci d’avoir lu jusqu’au bout. Si vous souhaitez en apprendre davantage sur les systèmes RAG et les LLMs, inscrivez-vous dès maintenant à notre nouveau cours « Beginner to Advanced LLM Developer »!
FAQ
Qu’est-ce qu’un modèle de langage à long contexte?
Il peut traiter une grande quantité de texte ou d’autres tokens dans une seule requête sans étape de recherche externe.
Pourquoi utiliser le RAG lorsque la fenêtre de contexte est déjà grande?
Le RAG sélectionne un sous-ensemble pertinent plus petit, ce qui réduit le coût des tokens et aide le modèle à se concentrer sur les preuves utiles.
Dans quels cas le long contexte fonctionne-t-il bien?
Il convient aux collections délimitées où les relations entre documents comptent et où le traitement de tout le matériel demeure abordable.
Dans quels cas le RAG fonctionne-t-il mieux?
Le RAG convient aux sources de données vastes et changeantes qui exigent des filtres, des permissions, des citations ou des mises à jour fréquentes.
Un système peut-il combiner le long contexte et le RAG?
Oui. La recherche peut sélectionner un vaste ensemble de preuves qu’un modèle à long contexte analyse ensuite dans son ensemble.

