GPT-4 : pourquoi une fenêtre de 8 000 jetons impose la récupération
GPT-4RAGArchitectureContexte2023-03-1410 min
GPT-4 est multimodal, mais sa fenêtre tient dans une quinzaine de pages. Cette limite n'est pas un détail : c'est elle qui a imposé la récupération documentaire.
Ce que GPT-4 change, et ce qu'il ne change pas
GPT-4 apporte la multimodalité et un raisonnement nettement supérieur, mais il arrive avec une fenêtre de 8 000 jetons, environ quinze pages. C'est la contrainte qui va structurer toutes les architectures d'entreprise des dix-huit mois qui viennent, et c'est celle dont on parle le moins.
Quinze pages, c'est moins qu'un contrat cadre, moins qu'une procédure qualité complète, très loin d'un corpus documentaire. Aucune organisation ne peut donc « donner ses documents au modèle ». Il faut choisir quoi lui donner, à chaque question, et ce choix est un problème d'ingénierie à part entière.
La démonstration publique masque cette contrainte parce qu'elle porte sur des cas courts : un texte collé, une image, un exercice. Dès qu'on branche un corpus réel, la limite se manifeste immédiatement, sous forme d'erreur de dépassement, ou pire, sous forme de troncature silencieuse où le modèle répond sans la moitié du contexte.

Pourquoi ce choix ne peut pas être fait à la main
Sélectionner les bons extraits pour chaque question est un problème de recherche, pas de rédaction. La tentation initiale, coller le document pertinent dans le prompt, fonctionne pour une démonstration et s'effondre dès qu'on ne sait plus lequel est pertinent.
C'est exactement le point où naît la récupération documentaire : indexer le corpus une fois, retrouver les passages utiles à chaque question, ne donner au modèle que ceux-là. L'architecture complète est décrite dans le RAG, la seule architecture qui tienne.
La conséquence organisationnelle est plus lourde qu'il n'y paraît. Le système ne peut être bon que si le corpus l'est, et un corpus d'entreprise contient presque toujours trois versions d'une même procédure, dont deux périmées. Le modèle n'a aucun moyen de savoir laquelle fait autorité, c'est une décision humaine, développée dans le corpus est le projet.
Les quatre conséquences immédiates pour une équipe
- Le découpage devient un choix d'ingénierie. Couper tous les mille caractères sépare une clause de sa condition et rend la réponse fausse sans qu'aucune erreur ne s'affiche. Voir découper un document.
- Les droits d'accès doivent être filtrés avant la recherche. Filtrer après revient à laisser le système lire ce qu'il n'a pas le droit de lire, puis masquer le résultat, ce qui n'est pas une protection.
- Le coût devient proportionnel au contexte envoyé. Envoyer vingt extraits quand cinq suffisent multiplie la facture et dégrade souvent la réponse, l'information utile se noyant dans le bruit.
- La citation des sources devient possible. C'est le bénéfice inattendu : puisqu'on sait exactement quels extraits ont été fournis, on peut les afficher, et l'utilisateur peut vérifier.
La multimodalité, utile mais secondaire en entreprise
Sur les corpus réels que je rencontre, la lecture d'images sert surtout à traiter les documents scannés. C'est loin de l'usage spectaculaire montré en démonstration, et c'est pourtant celui qui a le plus de valeur.
Un corpus d'entreprise contient toujours une proportion de PDF images : contrats signés puis numérisés, courriers reçus, plans, formulaires remplis à la main. Jusqu'ici ils étaient invisibles à la recherche, ou dépendaient d'une reconnaissance optique médiocre qui produisait un texte truffé d'erreurs. Pouvoir les faire lire directement change leur statut : ils redeviennent interrogeables.
Mais attention au coût. Une page image consomme beaucoup plus de jetons qu'une page texte, et la facture s'en ressent immédiatement. Sur un corpus mixte, il reste préférable d'extraire le texte une seule fois à l'indexation plutôt que d'envoyer l'image à chaque question. La multimodalité devient alors un outil de préparation du corpus, pas un mode d'interrogation.
Le réflexe à prendre dès maintenant
Mesurer la taille réelle du corpus avant de concevoir quoi que ce soit. Un dossier partagé de trois giga-octets ne tiendra jamais dans une fenêtre, quelle que soit son évolution, et la fenêtre grandira moins vite que le corpus.
Ce que je fais dans un cadrage aujourd'hui
Je pose trois questions avant d'écrire une ligne de code, et elles portent toutes sur le corpus, pas sur le modèle. Quel est le volume réel, en nombre de documents et en formats. Qui décide qu'un document fait autorité. Et quels droits d'accès existent, sous une forme exploitable par une machine.
Sans ces réponses, la fenêtre de contexte, 8 000 jetons aujourd'hui, davantage demain, reste un faux problème : ce qui bloquera n'est pas la taille de la fenêtre, c'est l'incapacité à choisir quoi y mettre.
J'ajoute une quatrième question, plus inconfortable : quelles questions le système devra-t-il refuser de traiter. Un système qui répond à tout répond mal à beaucoup, et le périmètre de refus doit être décidé au cadrage. C'est le sujet du refus de répondre comme fonctionnalité.
Ces quatre réponses tiennent en une page. Elles déterminent l'essentiel du coût, du délai et de la qualité du système, bien davantage que le choix du modèle, qui sera de toute façon remplacé deux fois dans l'année.
Questions fréquentes
- Une fenêtre plus grande supprimera-t-elle le besoin de récupération ?
Non. Un corpus d'entreprise dépasse toujours la fenêtre, quelle que soit sa taille, et le coût croît avec ce qu'on envoie. Une grande fenêtre change la maille du découpage, pas la nécessité de choisir.
- Combien d'extraits faut-il envoyer par question ?
En pratique, entre trois et huit sur la plupart des corpus documentaires. Au-delà, l'information utile se noie et la réponse se dégrade, tout en coûtant davantage. Le bon nombre se règle sur le jeu de tests, jamais au jugé.
- Faut-il traiter les documents scannés séparément ?
Oui. Un texte issu de reconnaissance optique se découpe mal et se cherche mal. Il vaut mieux le repérer à l'indexation, le traiter à part, et savoir qu'il constituera une source d'erreurs identifiée plutôt qu'une surprise en production.
- Peut-on se passer de récupération pour un petit corpus ?
Oui, si le corpus tient entièrement dans la fenêtre et n'évolue pas. C'est le cas d'une documentation produit de quelques pages. Dès que le corpus grandit ou change, la récupération redevient nécessaire, et l'avoir anticipée évite une réécriture.