Everything You Need to Know About Recursive Language Models

Tout ce que vous devez savoir sur les modèles de langage récursifs
Introduction
Les modèles de langage récursifs (RLMs) sont une réponse aux problèmes rencontrés avec les modèles de langage traditionnels lorsqu'ils traitent de très longs inputs. Bien que les grands modèles de langage (LLMs) aient fait des progrès significatifs dans leur capacité à gérer de grandes quantités d'informations, il existe encore des défis à surmonter. Lorsqu'on fournit des entrées très longues, les modèles peuvent devenir moins fiables, manquer des détails importants, contredire des affirmations précédentes ou produire des réponses superficielles. Ce phénomène est souvent désigné sous le terme de "context rot".
Pourquoi le long contexte ne suffit pas
-
Les LLMs fonctionnent en prenant une seule invite et en générant des sorties token par token. Cela fonctionne bien pour des invites courtes, mais la performance se dégrade avec des invites longues.
-
Les raisons de cette dégradation incluent :
- Les modèles basés sur des transformers ont une attention qui devient diffuse avec la longueur de l'invite.
- La présence d'informations hétérogènes mélangées, comme des journaux, des documents, du code, et des historiques de chat.
- De nombreuses tâches nécessitent l'agrégation d'informations à travers l'ensemble de l'input, plutôt que de simplement retrouver des extraits pertinents.
Comment fonctionne un modèle de langage récursif en pratique
-
Initialisation d'un environnement REPL persistant
Un environnement d'exécution est initialisé, généralement un REPL Python, contenant :- Une variable pour l'invite complète de l'utilisateur.
- Une fonction permettant d'invoquer des appels supplémentaires au modèle de langage sur des morceaux de texte sélectionnés.
-
Invocation du modèle racine avec uniquement des métadonnées sur l'invite
Le modèle racine est invoqué avec :- Des métadonnées de taille constante sur l'invite.
- Des instructions décrivant la tâche.
- Des instructions d'accès pour interagir avec l'invite via l'environnement REPL.
-
Inspection et décomposition de l'invite via l'exécution de code
Le modèle inspecte la structure de l'input, en générant et exécutant du code pour effectuer des opérations comme imprimer les premières lignes ou diviser le texte. -
Émission d'appels récursifs sur des tranches sélectionnées
Le modèle peut émettre des sous-requêtes pour des sections spécifiques de l'invite, décomposant le problème et stockant les résultats intermédiaires. -
Assemblage et retour de la réponse finale
Après avoir rassemblé suffisamment d'informations, le modèle construit la réponse finale, qui peut dépasser les limites de tokens d'un seul appel au modèle de langage.
Ce qui distingue les RLMs des systèmes d'agents et de récupération
-
Les systèmes d'agents injectent souvent l'historique complet de la conversation dans le contexte du modèle, tandis que les RLMs gardent l'invite externe dès le départ.
-
Les systèmes de récupération s'appuient sur l'identification d'un petit ensemble de morceaux pertinents avant le raisonnement, ce qui fonctionne bien lorsque la pertinence est rare.
Coûts, compromis et limitations
Les RLMs ne suppriment pas le coût computationnel, mais le déplacent. Les défis pratiques incluent la nécessité pour le modèle de générer un code fiable et la conception de protocoles de sortie pour distinguer les étapes intermédiaires des réponses finales.
Conclusion et références
Si votre tâche devient plus difficile simplement parce que l'input est plus long, et que la summarisation ou la récupération pourrait entraîner une perte d'informations importantes, un RLM vaut probablement la peine d'être considéré. Pour explorer davantage les modèles de langage récursifs, les ressources suivantes sont utiles :
- Article : Modèles de Langage Récursifs
- Code source officiel des RLM : alexzhang13/rlm
- Article de blog de l'auteur : "Modèles de Langage Récursifs" (Alex Zhang)
- Benchmark OOLONG : Bertsch et al., arXiv
- Perspective d'ingénierie de contexte d'Anthropic : Contexte sur les difficultés des agents avec de longs historiques
- Rapport et boîte à outils sur le context rot : Rapport "Context Rot" de Chroma
Brief IA — Veille IA quotidienne
Toutes les innovations IA du monde entier, résumées et analysées automatiquement chaque jour.