


Si vous avez déjà interagi avec un robot IA conversationnel, vous vous souviendrez de moments très frustrants. Par exemple, les choses importantes que vous avez mentionnées dans la conversation de la veille ont été complètement oubliées par l'IA...
C'est parce que la plupart des LLM actuels ne peuvent mémoriser qu'un contexte limité, tout comme les étudiants qui bachotent pour les examens, un peu croisés. l’examen « révélera la vérité ».
Ne serait-il pas enviable si un assistant IA pouvait référencer contextuellement des conversations d'il y a des semaines ou des mois dans une conversation, ou si vous pouviez demander à l'assistant IA de résumer un rapport de plusieurs milliers de pages ?
Afin de permettre au LLM de mieux mémoriser et de mémoriser plus de contenu, les chercheurs ont travaillé dur. Récemment, des chercheurs du MIT, Meta AI et de l'Université Carnegie Mellon ont proposé une méthode appelée "StreamingLLM" qui permet aux modèles de langage de traiter en douceur du texte sans fin
- Adresse papier : https://arxiv.org /pdf/2309.17453.pdf
- Adresse du projet : https://github.com/mit-han-lab/streaming-llm
StreamingLLM fonctionne en identifiant et en enregistrant les « puits d'attention » inhérents au modèle " (l'attention coule) qui ancre le jeton initial pour son raisonnement. Combiné à la mise en cache continue des jetons récents, StreamingLLM accélère l'inférence de 22 fois sans sacrifier la précision. En quelques jours seulement, le projet a gagné 2,5K étoiles sur la plateforme GitHub :
Plus précisément, StreamingLLM est un modèle de langage qui permet de mémoriser avec précision le score du jeu précédent, le nom d'un enfant. un long contrat ou le contenu d'un débat. Tout comme la mise à niveau de la mémoire de l'assistant IA, il peut parfaitement gérer des charges de travail plus lourdes
Examinons ensuite les détails techniques.
Method Innovation
Habituellement, le LLM est limité par la fenêtre d'attention pendant la pré-formation. Bien qu'il y ait eu de nombreux travaux antérieurs pour étendre cette taille de fenêtre et améliorer l'efficacité de la formation et de l'inférence, la longueur de séquence acceptable de LLM est encore limitée, ce qui n'est pas convivial pour un déploiement persistant.
Dans cet article, le chercheur a d'abord introduit le concept d'application de streaming LLM et a soulevé une question : "Le LLM peut-il être déployé avec une entrée infiniment longue sans sacrifier l'efficacité et les performances ?"
Lors de l'application du LLM à une entrée infiniment longue flux d'entrée, vous serez confronté à deux défis principaux :
1. Lors de l'étape de décodage, le LLM basé sur le transformateur mettra en cache l'état de la clé et de la valeur (KV) de tous les jetons précédents, comme le montre la figure 1 (comme le montre la figure 1). a), cela peut entraîner une utilisation excessive de la mémoire et augmenter la latence de décodage
2. La capacité d'extrapolation de longueur des modèles existants est limitée, c'est-à-dire que lorsque la longueur de la séquence dépasse la fenêtre d'attention définie lors de la pré-entraînement, elle l'est également ; de longues heures, ses performances se dégraderont.
Une méthode intuitive est appelée Window Attention (Figure 1 b). Cette méthode maintient uniquement une fenêtre glissante de taille fixe sur l'état KV du jeton le plus récent, bien qu'elle puisse garantir une utilisation et un décodage stables de la mémoire. vitesse une fois le cache rempli, mais une fois que la longueur de la séquence dépasse la taille du cache, ou même expulse simplement le KV du premier jeton, le modèle plante. Une autre méthode consiste à recalculer la fenêtre glissante (illustré dans la figure 1 c). Cette méthode reconstruira l'état KV du jeton récent pour chaque jeton généré. Bien que les performances soient puissantes, elle nécessite le calcul de l'attention secondaire dans la fenêtre. le résultat est nettement plus lent, ce qui n’est pas idéal dans les vraies applications de streaming.
En étudiant l'échec de l'attention par fenêtre, les chercheurs ont découvert un phénomène intéressant : selon la figure 2, un grand nombre de scores d'attention sont attribués aux balises initiales, que ces balises soient liées ou non à la tâche de modélisation du langage
Les chercheurs appellent ces jetons « pools d'attention » : bien qu'ils manquent de signification sémantique, ils occupent une grande partie des scores d'attention. Les chercheurs attribuent ce phénomène à Softmax (qui nécessite que la somme des scores d'attention de tous les jetons de contexte soit égale à 1). Même si la requête actuelle n'a pas de correspondance forte parmi de nombreux jetons précédents, le modèle doit quand même transférer ces attentions indésirables. . Les valeurs sont attribuées quelque part pour qu'elles totalisent 1. La raison pour laquelle le jeton initial devient un « pool » est intuitive : en raison des caractéristiques de la modélisation autorégressive du langage, le jeton initial est visible par presque tous les jetons suivants, ce qui facilite leur formation en tant que pool d'attention.
Sur la base des informations ci-dessus, le chercheur a proposé StreamingLLM. Il s'agit d'un cadre simple et efficace qui permet aux modèles d'attention formés avec des fenêtres d'attention limitées de gérer des textes infiniment longs sans réglage fin.
StreamingLLM profite du fait que les pools d'attention ont des valeurs d'attention élevées. En fait, conserver ces pools d'attention peut rendre la distribution du score d'attention proche d'une distribution normale. Par conséquent, StreamingLLM n'a besoin de conserver que la valeur KV du jeton du pool d'attention (seuls 4 jetons initiaux suffisent) et la valeur KV de la fenêtre glissante pour ancrer le calcul de l'attention et stabiliser les performances du modèle.
Utilisation de StreamingLLM, notamment Llama-2-[7,13,70] B, MPT-[7,30] B, Falcon-[7,40] B et Pythia [2.9,6.9,12] B Le modèle peut simuler de manière fiable 4 millions de jetons ou plus.
Par rapport au recalcul de la fenêtre glissante, StreamingLLM est 22,2 fois plus rapide sans affecter les performances
Évaluation
Dans l'expérience, comme le montre la figure 3, pour une durée de 20K Pour le texte étiqueté, la perplexité de StreamingLLM est comparable à la ligne de base Oracle recalculant la fenêtre glissante. Dans le même temps, lorsque la longueur d'entrée dépasse la fenêtre de pré-entraînement, l'attention dense échoue, et lorsque la longueur d'entrée dépasse la taille du cache, l'attention de la fenêtre reste bloquée, provoquant l'élimination des balises initiales
Figure 5 Plus loin La fiabilité de StreamingLLM a été démontrée et il peut gérer du texte de tailles inhabituelles, dont plus de 4 millions de jetons, couvrant une variété de familles et de tailles de modèles. Ces modèles incluent Llama-2-[7,13,70] B, Falcon-[7,40] B, Pythia-[2.8,6.9,12] B et MPT-[7,30] B
Par la suite, les chercheurs ont confirmé l'hypothèse du « pool d'attention » et ont prouvé que le modèle de langage peut être pré-entraîné et ne nécessite qu'un seul jeton de pool d'attention lors du déploiement du streaming. Plus précisément, ils recommandent d’ajouter un jeton apprenable supplémentaire au début de tous les échantillons de formation en tant que pool d’attention désigné. En pré-entraînant un modèle de langage avec 160 millions de paramètres à partir de zéro, les chercheurs ont démontré que notre méthode peut maintenir les performances du modèle. Cela contraste fortement avec les modèles de langage actuels, qui nécessitent la réintroduction de plusieurs jetons initiaux en tant que pools d'attention pour atteindre le même niveau de performances.
Enfin, les chercheurs ont comparé la latence de décodage et l'utilisation de la mémoire de StreamingLLM avec la fenêtre coulissante de recalcul et l'ont testé en utilisant les modèles Llama-2-7B et Llama-2-13B sur un seul GPU NVIDIA A6000. Selon les résultats de la figure 10, à mesure que la taille du cache augmente, la vitesse de décodage de StreamingLLM augmente de manière linéaire, tandis que le délai de décodage augmente de manière quadratique. Des expériences ont prouvé que StreamingLLM atteint des accélérations impressionnantes, la vitesse de chaque jeton étant augmentée jusqu'à 22,2 fois
Pour plus de détails sur la recherche, veuillez vous référer à l'article original.
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!

Explorer le fonctionnement interne des modèles de langue avec Gemma Scope Comprendre les complexités des modèles de langue IA est un défi important. La sortie de Google de Gemma Scope, une boîte à outils complète, offre aux chercheurs un moyen puissant de plonger

Déverrouiller le succès de l'entreprise: un guide pour devenir un analyste de Business Intelligence Imaginez transformer les données brutes en informations exploitables qui stimulent la croissance organisationnelle. C'est le pouvoir d'un analyste de Business Intelligence (BI) - un rôle crucial dans GU

Instruction ALTER TABLE de SQL: Ajout de colonnes dynamiquement à votre base de données Dans la gestion des données, l'adaptabilité de SQL est cruciale. Besoin d'ajuster votre structure de base de données à la volée? L'énoncé de la table alter est votre solution. Ce guide détaille l'ajout de Colu

Introduction Imaginez un bureau animé où deux professionnels collaborent sur un projet critique. L'analyste commercial se concentre sur les objectifs de l'entreprise, l'identification des domaines d'amélioration et la garantie d'alignement stratégique sur les tendances du marché. Simulé

Excel Counting and Analysis: Explication détaillée du nombre et des fonctions de compte Le comptage et l'analyse des données précises sont essentiels dans Excel, en particulier lorsque vous travaillez avec de grands ensembles de données. Excel fournit une variété de fonctions pour y parvenir, les fonctions Count et Count sont des outils clés pour compter le nombre de cellules dans différentes conditions. Bien que les deux fonctions soient utilisées pour compter les cellules, leurs cibles de conception sont ciblées sur différents types de données. Faisons des détails spécifiques du comptage et des fonctions de coude, mettons en évidence leurs caractéristiques et différences uniques et apprenez à les appliquer dans l'analyse des données. Aperçu des points clés Comprendre le nombre et le cou

La révolution de l'IA de Google Chrome: une expérience de navigation personnalisée et efficace L'intelligence artificielle (IA) transforme rapidement notre vie quotidienne, et Google Chrome mène la charge dans l'arène de navigation Web. Cet article explore les exciti

Réinventuation d'impact: le quadruple bas Pendant trop longtemps, la conversation a été dominée par une vision étroite de l’impact de l’IA, principalement axée sur le résultat du profit. Cependant, une approche plus holistique reconnaît l'interconnexion de BU

Les choses évoluent régulièrement vers ce point. L'investissement affluant dans les prestataires de services quantiques et les startups montre que l'industrie comprend son importance. Et un nombre croissant de cas d'utilisation réels émergent pour démontrer sa valeur


Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

MinGW - GNU minimaliste pour Windows
Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP