Parmi toutes les optimisations spécifiques pour être plus facilement repris dans les réponses des LLMs, le chunking figure en bonne place car un consensus se dégage pour dire que cela fonctionne plutôt bien.
Le “chunking” consiste à veiller à ce que votre contenu soit composé de passages assez courts, et “auto suffisants”.
Cette notion « d’auto suffisance » signifie que si on venait à extraire ce passage du reste du contenu, l’information ou le message que vous vouliez faire passer à cet endroit reste parfaitement compréhensible.
Pourquoi cette optimisation est importante pour la compréhension de votre contenu par les LLMs ?
Ce découpage des morceaux en taille réduite est conçu pour s’adapter au comportement des Transformers lors de l’entrainement et de la génération du modèle. Les Transformers sont une architecture de réseau neuronal qui a permis le développement des LLMs : c’est le T de BERT ou le T dans GPT.
Dans la phase d’entrainement, un transformer analyse chaque contenu en déplaçant une fenêtre qui contient quelques centaines de mots maximum, et qu’il analyse finement pour comprendre la relation entre chaque terme et son contexte (d’où l’appellation de « fenêtre de contexte »). Une fois l’analyse terminée, il déplace sa fenêtre pour travailler sur le morceau suivant. Chaque déplacement permet un recouvrement entre deux fenêtres de contexte de 10 à 20% selon les modèles.
Une illustration du concept de « fenêtre glissante » : cette méthode est employée par le mécanisme d’attention de l’architecture Transformer : source https://amaarora.github.io/posts/2024-07-04%20SWA.html
On retrouve aussi cette logique de fenêtre glissante dans les outils RAG (comme Perplexity ou SearchGPT ou Bing Copilot) lorsque l’outil va chercher des sources sur le net. Pour calculer les vecteurs d’embeddings nécessaires à la génération de sa réponse, la même logique s’applique.
Pourquoi cela marche ?
Quand un utilisateur demande « Comment les plantes font-elles de l’oxygène ? », le système RAG :
- Trouve ce chunk via la similarité sémantique
- Le fournit au LLM qui peut donner une réponse complète
- N’a pas besoin de reconstituer un puzzle d’informations fragmentées
C’est la différence entre donner à quelqu’un un chapitre complet d’un livre vs des pages déchirées au hasard.
Cette approche par chunks cohérents est ce qui permet aux systèmes comme ChatGPT ou Claude de donner des réponses précises à partir de grandes bases de connaissances, sans avoir à traiter des documents entiers de milliers de pages à chaque question !
Les limites imposées par la « complexité quadratique »
Les Transformers (l’architecture derrière GPT, Claude, etc.) utilisent un mécanisme appelé « attention » pour comprendre le texte. Imaginez que pour chaque mot, le modèle doit regarder TOUS les autres mots pour comprendre le contexte. C’est comme si, pour comprendre le mot « pomme » dans une phrase, le modèle devait examiner sa relation avec chaque autre mot.
Le problème, c’est que le nombre d’analyses nécessaires augmente suivant le carré de la longueur de la fenêtre :
- 100 mots = 10,000 analyses de contexte
- 1,000 mots = 1,000,000 analyses de contexte
- 10,000 mots = 100,000,000 analyses de contexte !!
Agrandir la fenêtre produit une explosion combinatoire du temps de calcul et des ressources nécessaires pour le LLM.
La longueur préconisée pour les « chunks » : 200 à 400 tokens
Pour la longueur des « chunks », on raisonne en tokens et non en mots.
Dans tous les outils de traitement du langage, les textes sont convertis en « tokens » (jetons) qui sont des courts ensembles de caractères qui correspondent souvent à la notion classique de mots ou de termes, mais peuvent également être des espaces, des signes de ponctuation et même des morceaux de mots !
En moyenne, on considère qu’un texte de 200 mots sera découpé en 250 tokens, soit 25% plus de tokens que de mots
Découpage en tokens d’un bout de texte avant utilisation pour entrainement dans un LLM. Source site d’IBM
Les « vraies » fenêtres glissantes utilisées dans les outils RAG et les LLMs sont devenues plus grandes que ces limites (150 à 300 mots donc). Mais cette taille de passage est raisonnable d’une part, et d’autre part évite de trop jouer avec les limites des fenêtres de contexte.
Comment rédiger de bons « chunks »
Voici un exemple de texte qui coche toutes les cases pour un bon chunk, facile à analyser pour un LLM
La photosynthèse : processus fondamental de conversion énergétique
La photosynthèse est le processus biologique par lequel les plantes vertes transforment l’énergie lumineuse en énergie chimique. Ce mécanisme vital se déroule principalement dans les chloroplastes, des organites cellulaires contenant de la chlorophylle, le pigment vert responsable de l’absorption de la lumière.
Le processus se divise en deux phases distinctes. La phase lumineuse, qui se produit dans les thylakoïdes, capture l’énergie solaire pour produire de l’ATP et du NADPH. Ces molécules énergétiques sont essentielles pour la seconde phase. Durant cette première étape, les molécules d’eau sont également décomposées, libérant de l’oxygène comme sous-produit dans l’atmosphère.
La phase sombre, aussi appelée cycle de Calvin, utilise l’ATP et le NADPH produits précédemment pour convertir le dioxyde de carbone atmosphérique en glucose. Cette transformation se déroule dans le stroma du chloroplaste et ne nécessite pas directement de lumière, d’où son nom.
L’équation globale simplifiée s’écrit : 6CO₂ + 6H₂O + énergie lumineuse → C₆H₁₂O₆ + 6O₂. Ce processus est fondamental pour la vie sur Terre, produisant l’oxygène que nous respirons et formant la base de toutes les chaînes alimentaires terrestres.
On voit qu’expliquer un concept en 250 mots, c’est limitant mais tout à fait possible.
Les caractéristiques d’un bon chunk
- Autonomie complète
- Aucune référence à « comme mentionné précédemment »
- Pas de « nous verrons plus tard »
- Compréhensible sans contexte externe
- Tester l’autonomie : le chunk a-t-il du sens lu isolément ?
- Unité thématique
- UN sujet : la photosynthèse
- Progression logique : définition → mécanisme → importance
- Conclusion naturelle
- Taille optimale
- Ici ~248 tokens (environ 220 mots) – entre 150 et 300 mots
- Assez court pour être traité efficacement
- Assez long pour contenir une information complète
- Structure claire
- Introduction (définition)
- Développement (les deux phases)
- Synthèse (équation et importance)
Et ce qu’il ne faut pas faire
Exemple de mauvais chunk 1 : Mélange thématique incohérent
« La photosynthèse est essentielle pour la vie sur Terre. Elle produit l’oxygène que nous respirons. Les plantes ont également développé d’autres adaptations remarquables. Par exemple, les cactus stockent l’eau dans leurs tissus épais. Les racines des arbres peuvent s’étendre sur des dizaines de mètres. La communication entre arbres via les réseaux mycorhiziens est fascinante.
Le cycle de Calvin utilise l’ATP et le NADPH pour fixer le CO₂. Cette réaction se produit dans le stroma. Les produits de la photosynthèse incluent le glucose et l’amidon. Certaines plantes comme les orchidées ont des stratégies de reproduction complexes impliquant des insectes spécifiques. »
Les problèmes posés par ce chunk :
- Saut thématique constant : photosynthèse → adaptations → mycorhizes → Calvin → orchidées
- Pas d’unité conceptuelle : mélange de 5-6 sujets différents
- Contexte insuffisant : mentionne le cycle de Calvin sans expliquer ce que c’est
- Un LLM aura du mal à déterminer le sujet principal pour répondre précisément
Exemple de mauvais chunk 2 : Références ambiguës
« Ce processus transforme l’énergie lumineuse en énergie chimique. Il se déroule en deux phases principales. La première produit ces molécules essentielles qui seront utilisées plus tard. La seconde phase utilise ce qui a été produit précédemment pour créer le produit final.
Cette transformation est cruciale car elle produit ce dont tous les êtres vivants ont besoin. Sans elle, la vie telle que nous la connaissons n’existerait pas. Les scientifiques ont découvert que ce mécanisme est plus efficace dans certaines conditions que dans d’autres. La température et la luminosité affectent son rendement. »
Problèmes :
- Pronoms et références vagues : « ce processus », « ces molécules », « ce qui a été produit »
- Aucune information concrète : de quoi parle-t-on exactement ?
- Trop générique : pourrait décrire n’importe quel processus biologique
- Le LLM ne peut pas identifier précisément de quoi ce passage parle
Exemple de mauvais chunk 3 : Information fragmentée
« Les chloroplastes contiennent de la chlorophylle. La chlorophylle absorbe la lumière. Les thylakoïdes sont dans les chloroplastes. L’ATP est une molécule énergétique. Le NADPH est aussi une molécule énergétique. Le CO₂ vient de l’atmosphère. L’eau est décomposée. L’oxygène est libéré. Le glucose est produit. Le cycle de Calvin se produit dans le stroma. La lumière n’est pas nécessaire pour le cycle de Calvin. Les plantes vertes font la photosynthèse. »
Les problèmes posés par ce chunk :
- Phrases déconnectées : liste de faits sans liens logiques
- Pas de flow narratif : impossible de comprendre le processus
- Manque de contexte : pourquoi ces éléments sont-ils importants ?
- Le LLM devra reconstituer les connexions, risquant des erreurs
Pour optimiser un contenu pour le GEO : faites un plan
On peut produire ce type de chunks optimisés sans le savoir, un peu comme M. Jourdain faisait de la prose. Mais cela n’arrive que si on produit du contenu en structurant son texte à partir d’un plan détaillé.
Voilà ce que cela donne pour un contenu sur la photosynthèse.
I. La photosynthèse (chunk 1)
A. Définition et importance
B. Les acteurs : chloroplastes et chlorophylleII. Phase lumineuse (chunk 2)
A. Localisation : thylakoïdes
B. Production : ATP et NADPH
C. Libération d’oxygèneIII. Phase sombre (chunk 3)
A. Localisation : stroma
B. Fixation du CO₂
C. Production de glucose
Utiliser les principes de la pyramide inversée (regardez comment les articles du Monde sont rédigés) peut aider également à éviter de créer des contenus avec des renvois entre « chunks ». Et cela permet de faire un « chapo » qui est un chunk bien meilleur qu’une introduction classique. Par contre si le rédacteur s’égare dans les détails, la pyramide inversée ne donnera pas de bons résultats.
L’idéal, c’est de combiner les deux approches : pyramide inversée + plan
Article complet
Introduction [Chunk 1 – Pyramide inversée]
- Résumé complet en 250 tokens
- Contient TOUTES les infos essentielles
- Autonome et searchable
Section 1 [Chunk 2]
Titre explicite : Phase lumineuse de la photosynthèse
- Intro de la section (rappel minimal du contexte) – sous chapô
- Développement complet
- Conclusion de section
Section 2 [Chunk 3]
Titre explicite : Phase sombre et cycle de Calvin
- Intro de la section (sous chapô)
- Développement complet
- Conclusion de section
Est-ce que tout le texte doit être optimisé pour que cela marche ?
Si des passages sont des chunks corrects, et d’autres non, cela n’a pas vraiment de conséquences sérieuses.
En pratique, seuls les chunks optimisés ont des chances augmentées d’être visibles dans les réponses. Les autres risquent de ne pas être choisis, mais le pire n’est pas sûr, notamment en l’absence de contenus jugés plus pertinents.
Cela autorise des stratégies, notamment pour les contenus existants, où seules les parties contenant des informations importantes ou que vous souhaitez rendre visibles seront optimisées.
Quels résultats attendre de ces optimisations
En pratique quand on benchmark des contenus optimisés vs des contenus non optimisés, on note une amélioration d’au moins 15% de la visibilité.
L’étude des chercheurs de Princeton de 2024 obtient une amélioration de 27-41% de la visibilité avec une structuration appropriée. Leur méthodologie à quelques biais, mais ceux qui ont reproduit l’expérience pour les systèmes RAG obtiennent de bons résultats (Marie Haynes obtient +/- 15% avec sa méthodologie).
Par ailleurs, structurer son contenu de cette façon a aussi un impact positif sur le SEO sur un moteur comme Google et Bing. Rappelons que leurs algorithmes embarquent déjà depuis des années des couches utilisant des LLMs de la famille de BERT (pour RankEmbed-BERT, Deeprank, Rankbrain…)
Donc intégrer ces bonnes pratiques sur tous vos contenus :
- c’est bon pour le GEO
- c’est bon pour le SEO