Table des matières
Si une fenêtre ne suffit pas, ouvrez-en quelques autres
À propos de l'auteur
Maison Périphériques technologiques IA Les textes longs peuvent être lus avec une longueur de fenêtre de 4k. Chen Danqi et ses disciples se sont associés à Meta pour lancer une nouvelle méthode permettant d'améliorer la mémoire des grands modèles.

Les textes longs peuvent être lus avec une longueur de fenêtre de 4k. Chen Danqi et ses disciples se sont associés à Meta pour lancer une nouvelle méthode permettant d'améliorer la mémoire des grands modèles.

Oct 24, 2023 pm 08:13 PM
ai 训练

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.

Les textes longs peuvent être lus avec une longueur de fenêtre de 4k. Chen Danqi et ses disciples se sont associés à Meta pour lancer une nouvelle méthode permettant daméliorer la mémoire des grands modèles.

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.

Les textes longs peuvent être lus avec une longueur de fenêtre de 4k. Chen Danqi et ses disciples se sont associés à Meta pour lancer une nouvelle méthode permettant daméliorer la mémoire des grands modèles.

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

Les textes longs peuvent être lus avec une longueur de fenêtre de 4k. Chen Danqi et ses disciples se sont associés à Meta pour lancer une nouvelle méthode permettant daméliorer la mémoire des grands modèles.

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 ?

Si une fenêtre ne suffit pas, ouvrez-en quelques autres

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.

Les textes longs peuvent être lus avec une longueur de fenêtre de 4k. Chen Danqi et ses disciples se sont associés à Meta pour lancer une nouvelle méthode permettant daméliorer la mémoire des grands modèles.

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.

Les textes longs peuvent être lus avec une longueur de fenêtre de 4k. Chen Danqi et ses disciples se sont associés à Meta pour lancer une nouvelle méthode permettant daméliorer la mémoire des grands modèles.

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.

Les textes longs peuvent être lus avec une longueur de fenêtre de 4k. Chen Danqi et ses disciples se sont associés à Meta pour lancer une nouvelle méthode permettant daméliorer la mémoire des grands modèles.

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.

Les textes longs peuvent être lus avec une longueur de fenêtre de 4k. Chen Danqi et ses disciples se sont associés à Meta pour lancer une nouvelle méthode permettant daméliorer la mémoire des grands modèles.

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.

Les textes longs peuvent être lus avec une longueur de fenêtre de 4k. Chen Danqi et ses disciples se sont associés à Meta pour lancer une nouvelle méthode permettant daméliorer la mémoire des grands modèles.

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.

Les textes longs peuvent être lus avec une longueur de fenêtre de 4k. Chen Danqi et ses disciples se sont associés à Meta pour lancer une nouvelle méthode permettant daméliorer la mémoire des grands modèles.

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.

À propos de l'auteur

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
4 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser Char Array dans la langue C Comment utiliser Char Array dans la langue C Apr 03, 2025 pm 03:24 PM

Le Array Char stocke des séquences de caractères en C et est déclaré Char Array_name [Taille]. L'élément d'accès est passé par l'opérateur d'indice, et l'élément se termine par le terminateur nul «\ 0», qui représente le point final de la chaîne. Le langage C fournit une variété de fonctions de manipulation de cordes, telles que strlen (), strcpy (), strcat () et strcmp ().

Évitez les erreurs causées par défaut dans les instructions du commutateur C Évitez les erreurs causées par défaut dans les instructions du commutateur C Apr 03, 2025 pm 03:45 PM

Une stratégie pour éviter les erreurs causées par défaut dans les instructions de commutateur C: utilisez des énumérations au lieu des constantes, limitant la valeur de l'instruction de cas à un membre valide de l'énumération. Utilisez Fallthrough dans la dernière instruction de cas pour permettre au programme de continuer à exécuter le code suivant. Pour les instructions de commutation sans tomber, ajoutez toujours une instruction par défaut pour la gestion des erreurs ou fournissez un comportement par défaut.

Quelle est la fonction de la somme du langage C? Quelle est la fonction de la somme du langage C? Apr 03, 2025 pm 02:21 PM

Il n'y a pas de fonction de somme intégrée dans le langage C, il doit donc être écrit par vous-même. La somme peut être obtenue en traversant le tableau et en accumulant des éléments: Version de boucle: la somme est calculée à l'aide de la longueur de boucle et du tableau. Version du pointeur: Utilisez des pointeurs pour pointer des éléments de tableau, et un résumé efficace est réalisé grâce à des pointeurs d'auto-incitation. Allouer dynamiquement la version du tableau: allouer dynamiquement les tableaux et gérer la mémoire vous-même, en veillant à ce que la mémoire allouée soit libérée pour empêcher les fuites de mémoire.

L'importance de la valeur par défaut dans l'instruction de cas de commutation (langue C) L'importance de la valeur par défaut dans l'instruction de cas de commutation (langue C) Apr 03, 2025 pm 03:57 PM

L'instruction par défaut est cruciale dans l'instruction de cas de commutateur car elle fournit un chemin de traitement par défaut qui garantit qu'un bloc de code est exécuté lorsque la valeur de variable ne correspond à aucune instruction de cas. Cela empêche un comportement ou des erreurs inattendu et améliore la robustesse du code.

Quels sont les types de valeurs de retour de la fonction du langage C? Résumé des types de valeurs de retour de la fonction du langage C? Quels sont les types de valeurs de retour de la fonction du langage C? Résumé des types de valeurs de retour de la fonction du langage C? Apr 03, 2025 pm 11:18 PM

Les types de valeur de retour de la fonction de langue C incluent les types int, float, double, char, void et pointer. INT est utilisé pour retourner des entiers, Float et Double sont utilisés pour retourner des flotteurs, et Char retourne les caractères. void signifie que la fonction ne renvoie aucune valeur. Le type de pointeur renvoie l'adresse de mémoire, veillez à éviter les fuites de mémoire. Une structure ou un consortium peut renvoyer plusieurs données connexes.

Quelle est la plage de valeur de char dans le langage C Quelle est la plage de valeur de char dans le langage C Apr 03, 2025 pm 03:39 PM

La plage de valeur de char dans le langage C dépend de la méthode de mise en œuvre: CHAR signé: -128 à 127 CHAR non signé: 0 à 255 La plage spécifique est affectée par l'architecture informatique et les options de compilateur. Par défaut, Char est défini sur un type signé.

Concept de fonction de langue C Concept de fonction de langue C Apr 03, 2025 pm 10:09 PM

Les fonctions de langue C sont des blocs de code réutilisables. Ils reçoivent des entrées, effectuent des opérations et renvoient les résultats, ce qui améliore modulairement la réutilisabilité et réduit la complexité. Le mécanisme interne de la fonction comprend le passage des paramètres, l'exécution de la fonction et les valeurs de retour. L'ensemble du processus implique une optimisation telle que la fonction en ligne. Une bonne fonction est écrite en suivant le principe de responsabilité unique, un petit nombre de paramètres, des spécifications de dénomination et une gestion des erreurs. Les pointeurs combinés avec des fonctions peuvent atteindre des fonctions plus puissantes, telles que la modification des valeurs de variables externes. Les pointeurs de fonctions passent les fonctions comme des paramètres ou des adresses de magasin, et sont utilisées pour implémenter les appels dynamiques aux fonctions. Comprendre les fonctionnalités et les techniques des fonctions est la clé pour écrire des programmes C efficaces, maintenables et faciles à comprendre.

La somme est-elle un mot-clé dans le langage C? La somme est-elle un mot-clé dans le langage C? Apr 03, 2025 pm 02:18 PM

Le mot-clé SUM n'existe pas dans le langage C, il s'agit d'un identifiant normal et peut être utilisé comme un nom de variable ou de fonction. Mais pour éviter les malentendus, il est recommandé d'éviter de l'utiliser pour les identifiants des codes mathématiques. Des noms plus descriptifs tels que Array_sum ou Calcul_sum peuvent être utilisés pour améliorer la lisibilité du code.

See all articles