En bref
Un modèle de langage ne “lit” pas un document comme un humain le ferait de bout en bout. Il traite une séquence de tokens d’un seul tenant, dans une opération dont le coût mémoire explose quadratiquement avec la longueur. Pendant des années, cette contrainte limitait les modèles à quelques milliers de tokens. Aujourd’hui, certains atteignent un million. Mais la longueur affichée et la longueur réellement utilisable ne sont pas la même chose — et la recherche le documente clairement.
Le goulot d’étranglement fondamental
Au cœur de l’architecture Transformer se trouve le mécanisme d’attention : chaque token doit comparer son contenu à celui de tous les autres tokens de la séquence. Pour une séquence de n tokens, cela représente n × n comparaisons — une complexité dite quadratique, notée O(n²).
En pratique : une séquence de 128 000 tokens demande environ 16 000 fois plus de mémoire GPU qu’une séquence de 1 000 tokens pour ce seul calcul d’attention. Pendant longtemps, cette contrainte fixait le plafond des modèles commerciaux autour de 4 000 à 8 000 tokens.
Le premier contournement majeur est venu non pas d’une nouvelle architecture, mais d’une optimisation algorithmique. FlashAttention (Dao et al., NeurIPS 2022) reformule le calcul de l’attention pour minimiser les transferts de données entre la mémoire haute bande passante du GPU (HBM) et sa mémoire rapide mais limitée (SRAM). Sans approximation — le résultat mathématique est identique — FlashAttention permet de traiter des séquences 2 à 4 fois plus longues à mémoire constante. FlashAttention-2 (2023) atteint 50 à 73 % du débit théorique maximal d’un GPU A100, contre 25 à 40 % pour la version originale.
Comment étendre la fenêtre sans tout réentraîner
Entraîner un modèle nativement sur des séquences d’un million de tokens est prohibitif. La recherche a donc développé des méthodes pour étendre la fenêtre d’un modèle existant avec un minimum de fine-tuning.
Ces méthodes s’appuient toutes sur RoPE (Rotary Position Embedding), l’encodage positionnel devenu dominant. RoPE encode la position d’un token via une rotation dans l’espace des représentations. Son avantage clé : il peut être modifié après entraînement, contrairement aux embeddings de position appris de façon absolue.
Position Interpolation (Chen et al., Meta, 2023) : le problème de l’extension naïve est que le modèle rencontre des positions qu’il n’a jamais vues à l’entraînement, ce qui produit des calculs d’attention aberrants. La solution : plutôt qu’extrapoler vers des positions inconnues, compresser les indices de position pour les ramener dans la plage connue. Avec seulement 1 000 pas de fine-tuning, LLaMA peut ainsi passer de 2 048 à 32 768 tokens.
YaRN (Peng et al., 2023) raffine cette approche en observant que toutes les dimensions de RoPE ne jouent pas le même rôle. Certaines encodent des positions proches (hautes fréquences), d’autres des positions lointaines (basses fréquences). YaRN traite chaque dimension différemment selon sa fréquence, et ajoute un facteur de correction sur les scores d’attention. Résultat : 10 fois moins de données et 2,5 fois moins d’étapes d’entraînement que les méthodes antérieures pour des performances comparables sur contextes étendus.
LongRoPE (Microsoft Research, 2024) pousse l’extension à 2 millions de tokens via une stratégie d’extension progressive : fine-tuning à 256 000 tokens, puis second passage vers 2 048 000. Un réajustement préserve les performances sur contextes courts, évitant la régression habituelle de ces méthodes.
Distribuer le calcul sur plusieurs machines
Pour l’entraînement sur des séquences de plusieurs millions de tokens, même FlashAttention ne suffit pas : la séquence entière ne tient pas sur un seul GPU. Ring Attention (Liu, Zaharia, Abbeel, UC Berkeley, 2023) résout ce problème en distribuant la séquence sur plusieurs machines disposées en anneau. Chaque nœud traite un bloc de la séquence et échange les blocs clé-valeur avec ses voisins, la communication étant masquée derrière le calcul. Cette approche permet de traiter des séquences proportionnellement plus longues au nombre de machines utilisées.
Pour le fine-tuning, LongLoRA (Chen et al., ICLR 2024) propose une alternative économique : remplacer l’attention dense par une attention locale décalée pendant l’entraînement, tout en conservant l’attention complète à l’inférence. Avec cette méthode, LLaMA 2 7B passe de 4 000 à 100 000 tokens sur un seul nœud de 8 GPU.
Ce que les benchmarks révèlent
Le test le plus simple pour évaluer la mémoire contextuelle est le “Needle in a Haystack” (Kamradt, 2023) : cacher une information précise à différentes positions dans un long document, puis demander au modèle de la retrouver. Quand ce test a été appliqué à Claude 2.1, qui affichait 200 000 tokens de fenêtre, le taux de rappel n’atteignait que 27 % sur les contextes longs. Gemini 1.5 Pro (Google DeepMind, 2024) constitue l’exception la plus documentée : 99,7 % de rappel à 1 million de tokens sur ce test, et 99,2 % à 10 millions de tokens en mode expérimental.
Mais ce test mesure uniquement la capacité à retrouver un fait isolé. Le benchmark RULER (NVIDIA, 2024), qui couvre 13 tâches plus variées, dresse un tableau moins flatteur : sur 17 modèles évalués, presque tous montrent des chutes de performance importantes lorsque la longueur augmente, y compris ceux qui réussissent quasi parfaitement le test précédent.
LLaMA 3.1 70B, entraîné avec des techniques d’extension avancées, montre une longueur de contexte effectif estimée à 64 000 tokens seulement dans les tests RULER — alors que la fenêtre affichée est bien supérieure.
La cause principale identifiée : lors de l’entraînement, les positions lointaines dans la séquence sont massivement sous-représentées dans les données. Le modèle n’a simplement pas appris à y accorder la même attention. Les annonces sur les fenêtres contextuelles sont donc à lire avec prudence.
Un phénomène connexe, documenté par Stanford (Liu et al., TACL 2024), est désormais appelé “Lost in the Middle” : sur des tâches de questions-réponses multi-documents, la performance est maximale quand l’information pertinente se trouve en début ou en fin de contexte. Quand elle est au milieu, la performance chute significativement. Cette courbe en U rappelle les effets de primauté et de récence bien connus en psychologie de la mémoire.
RAG ou long contexte ? La question reste ouverte
Face aux LLM capables de lire de très longs documents, une question pratique s’est imposée : faut-il encore utiliser le RAG (récupération augmentée) ? Le RAG consiste à extraire à la volée les passages pertinents via un index vectoriel et à les injecter dans un contexte court, plutôt que de charger l’intégralité du document.
Une étude comparative de Google (EMNLP 2024) sur Gemini 1.5 et GPT-4 montre que le long contexte surpasse le RAG en performance brute sur des tâches de questions-réponses. Mais le RAG reste nettement moins coûteux, et pour plus de 60 % des requêtes testées, les deux approches donnent des réponses identiques. Les auteurs proposent donc une approche hybride : utiliser le RAG par défaut et basculer vers le long contexte seulement lorsque la requête l’exige.
D’autres travaux nuancent ce tableau. Un article de 2025 (LaRA) conclut qu’il n’existe pas de solution universellement supérieure :
| Tâche | Avantage |
|---|---|
| Vue globale, comparaison transversale, raisonnement multi-document | Long contexte |
| Requête factuelle précise, coût contraint | RAG |
| Requêtes sans accès à l’information pertinente | Équivalents (> 60 % des cas) |
Une limite plus fondamentale a été mise en évidence récemment : allonger le contexte dégrade les performances même quand la récupération de l’information est parfaite (Yen et al., 2025). Ce résultat suggère que le simple volume de tokens dans le contexte perturbe le traitement, indépendamment de la capacité à localiser l’information. La cause structurelle de ce phénomène n’est pas encore expliquée.
Ce qu’il faut retenir
- La complexité quadratique de l’attention est le goulot d’étranglement fondamental du long contexte. FlashAttention l’a contourné par une optimisation algorithmique, sans approximation.
- Les techniques d’extension comme YaRN et LongRoPE permettent d’étendre la fenêtre contextuelle d’un modèle existant avec peu de réentraînement, en traitant différemment les dimensions de position selon leur fréquence.
- La longueur de contexte affichée et la longueur effectivement utilisable diffèrent systématiquement. RULER (NVIDIA, 2024) documente cet écart sur 17 modèles.
- Le phénomène “Lost in the Middle” (Stanford, 2023) montre que les LLM utilisent préférentiellement les informations en début et en fin de contexte — une propriété structurelle, pas un bug.
- RAG et long contexte ont chacun leurs forces selon la tâche. Aucune méthode ne domine universellement, et les deux peuvent être combinées de façon adaptative.
Sources
- Dao et al., “FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness”, NeurIPS 2022
- Dao, “FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning”, ICLR 2024
- Chen et al. (Meta), “Extending Context Window of Large Language Models via Positional Interpolation”, 2023
- Peng et al., “YaRN: Efficient Context Window Extension of Large Language Models”, ICLR 2024
- Liu, Zaharia, Abbeel (UC Berkeley), “Ring Attention with Blockwise Transformers for Near-Infinite Context”, ICLR 2024
- Liu et al. (Stanford), “Lost in the Middle: How Language Models Use Long Contexts”, TACL 2024
- Hsieh et al. (NVIDIA), “RULER: What’s the Real Context Size of Your Long-Context Language Models?”, COLM 2024
- Ding et al. (Microsoft Research), “LongRoPE: Extending LLM Context Window Beyond 2 Million Tokens”, 2024
- Li et al. (Google), “Retrieval Augmented Generation or Long-Context LLMs? A Comprehensive Study and Hybrid Approach”, EMNLP 2024
- Tang et al., “LaRA: Benchmarking Retrieval-Augmented Generation and Long-Context LLMs”, 2025
- Yen et al., “Context Length Alone Hurts LLM Performance Despite Perfect Retrieval”, 2025
- Hsieh et al., “Why Does the Effective Context Length of LLMs Fall Short?”, 2024
- Reid et al. (Google DeepMind), “Gemini 1.5: Unlocking multimodal understanding across millions of tokens of context”, 2024