Un grand modèle avec seulement une longueur de fenêtre de 4k peut toujours lire de grandes sections de texte !
Une dernière réalisation d'un doctorant chinois à Princeton a réussi à « franchir » la limite de la longueur de la fenêtre des grands modèles.
Non seulement il peut répondre à diverses questions, mais l'ensemble du processus de mise en œuvre peut être entièrement complété par une invite, sans aucune formation supplémentaire.
L'équipe de recherche a créé une stratégie de mémoire arborescente appelée MemWalker, qui peut dépasser la limite de longueur de fenêtre du modèle lui-même.
Pendant le test, le texte le plus long lu par le modèle contenait plus de 12 000 jetons, et les résultats ont été considérablement améliorés par rapport à LongChat.
Comparé au TreeIndex similaire, MemWalker peut raisonner et répondre à n'importe quelle question au lieu de simplement faire des généralisations.
MemWalker a été développé en utilisant l'idée de "diviser pour régner". Certains internautes ont commenté :
Chaque fois que nous faisons en sorte que le processus de réflexion des grands modèles ressemble davantage à celui des humains, leurs performances seront meilleures
Donc , Quelle est exactement la stratégie de mémoire arborescente et comment lire un texte long avec une longueur de fenêtre limitée ?
Sur le modèle, MemWalker utilise Stable Beluga 2 comme modèle de base, qui est obtenu par Llama 2-70B après réglage des commandes.
Avant de sélectionner ce modèle, les développeurs ont comparé ses performances avec celles du Llama 2 original et ont finalement opté pour celui-ci.
Tout comme le nom MemWalker, son processus de travail est comme un flux de mémoire qui marche.
Plus précisément, il est grossièrement divisé en deux étapes : Construction de l'arbre mémoire et Récupération de navigation.
Lors de la construction d'un arbre de mémoire, le texte long sera divisé en plusieurs petits segments (seg1-6), et le grand modèle résumera chaque segment séparément et obtiendra "nœuds feuilles" (nœuds feuilles, été 1-6).
Lors de la segmentation, plus la longueur de chaque segment est longue, moins il y aura de niveaux, ce qui est bénéfique pour la récupération ultérieure. Cependant, être trop long entraînera une diminution de la précision, des considérations approfondies sont donc nécessaires pour déterminer la longueur. de chaque segment.
L'auteur estime que la longueur raisonnable de chaque paragraphe est de 500 à 2 000 jetons, et celle utilisée dans l'expérience est de 1 000 jetons.
Ensuite, le modèle résume à nouveau de manière récursive le contenu de ces nœuds feuilles pour former des "nœuds non-feuilles"(nœuds non-feuilles, summ7-8).
Une autre différence entre les deux est que les nœuds feuilles contiennent des informations originales, tandis que les nœuds non-feuilles n'ont que des informations secondaires résumées par .
Fonctionnellement, les nœuds non-feuilles sont utilisés pour naviguer et localiser les nœuds feuilles où se trouve la réponse, tandis que les nœuds feuilles sont utilisés pour raisonner sur la réponse.
Les nœuds non-feuilles peuvent avoir plusieurs niveaux, et le modèle est progressivement résumé jusqu'à ce que le « nœud racine » soit obtenu pour former une structure arborescente complète.
Une fois l'arborescence de mémoire établie, vous pouvez entrer dans l'étape de récupération de navigation pour générer des réponses.
Dans ce processus, le modèle part du nœud racine, lit le contenu des sous-nœuds de premier niveau un par un, puis déduit s'il doit entrer dans ce nœud ou revenir.
Après avoir décidé d'entrer dans ce nœud, répétez le processus jusqu'à ce que le nœud feuille soit lu. Si le contenu du nœud feuille est adapté, la réponse est générée, sinon elle est renvoyée. Afin de garantir l'exhaustivité de la réponse, la condition finale de ce processus n'est pas qu'un nœud feuille approprié soit trouvé, mais que le modèle pense qu'une réponse complète est obtenue ou que le nombre maximum d'étapes est atteint. Pendant le processus de navigation, si le modèle constate qu'il s'est trompé de chemin, il peut également revenir en arrière.De plus, MemWalker introduit également un mécanisme de mémoire de travail pour améliorer la précision.
Ce mécanisme ajoutera le contenu du nœud qui a été visité au contexte du contenu actuel.
Lorsque le modèle entre dans un nouveau nœud, le contenu actuel du nœud sera ajouté à la mémoire.
Ce mécanisme permet au modèle d'utiliser le contenu des nœuds visités à chaque étape pour éviter la perte d'informations importantes.
Les résultats expérimentaux montrent que le mécanisme de mémoire de travail peut augmenter la précision de MemWalker d'environ 10 %.
De plus, le processus mentionné ci-dessus ne peut être complété qu'en s'appuyant sur des invites, et aucune formation supplémentaire n'est requise.
Théoriquement, MemWalker peut lire un texte infiniment long tant qu'il dispose de suffisamment de puissance de calcul.
Cependant, la complexité temporelle et spatiale de la construction de l'arbre de mémoire augmente de façon exponentielle à mesure que la longueur du texte augmente.
Le premier auteur de l'article est Howard Chen, un doctorant chinois au laboratoire de PNL de l'Université de Princeton.
Chen Danqi, ancienne élève de la classe Tsinghua Yao, est le mentor de Howard, et son rapport académique sur l'ACL cette année était également lié à la recherche.
Ce résultat a été complété par Howard lors de son stage à Meta Trois chercheurs, Ramakanth Pasunuru, Jason Weston et Asli Celikyilmaz du Meta AI Laboratory ont également participé à ce projet.
Adresse papier : https://arxiv.org/abs/2310.05029
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!