Maison  >  Article  >  Périphériques technologiques  >  La zone de saisie 32k du GPT-4 n'est toujours pas suffisante ? Unlimiformer étend la longueur du contexte à une longueur infinie

La zone de saisie 32k du GPT-4 n'est toujours pas suffisante ? Unlimiformer étend la longueur du contexte à une longueur infinie

WBOY
WBOYavant
2023-05-19 15:19:061339parcourir

Transformer est l'architecture seq2seq la plus puissante aujourd'hui. Les transformateurs pré-entraînés ont généralement des fenêtres contextuelles de 512 (par exemple BERT) ou 1 024 (par exemple BART), ce qui est suffisamment long pour de nombreux ensembles de données de synthèse de texte actuels (XSum, CNN/DM).

Mais 16384 n'est pas une limite supérieure à la longueur du contexte nécessaire pour générer : des tâches impliquant de longs récits, comme des résumés de livres (Krys-´cinski et al., 2021) ou des questions et réponses narratives (Kociský et al. , 2018), nécessitent souvent des entrées dépassant 100 000 jetons. L'ensemble de défis généré à partir d'articles Wikipédia (Liu* et al., 2018) contient des entrées de plus de 500 000 jetons. Les tâches de domaine ouvert dans la réponse générative aux questions peuvent synthétiser des informations à partir d'entrées plus larges, telles que répondre à des questions sur les propriétés agrégées des articles de tous les auteurs vivants sur Wikipédia. La figure 1 représente la taille de plusieurs ensembles de données de synthèse et de questions-réponses populaires par rapport aux longueurs de fenêtre contextuelle courantes ; l'entrée la plus longue est plus de 34 fois plus longue que la fenêtre contextuelle de Longformer.

La zone de saisie 32k du GPT-4 nest toujours pas suffisante ? Unlimiformer étend la longueur du contexte à une longueur infinie

Dans le cas de ces entrées très longues, le transformateur vanille ne peut pas évoluer car le mécanisme d'attention natif a une complexité quadratique. Les transformateurs à entrée longue, bien que plus efficaces que les transformateurs standards, nécessitent néanmoins des ressources de calcul importantes qui augmentent à mesure que la taille de la fenêtre de contexte augmente. De plus, l'augmentation de la fenêtre contextuelle nécessite de recycler le modèle à partir de zéro avec la nouvelle taille de la fenêtre contextuelle, ce qui est coûteux en termes de calcul et d'environnement.

Dans l'article « Unlimiformer : transformateurs à longue portée avec entrée de longueur illimitée », des chercheurs de l'Université Carnegie Mellon ont présenté Unlimiformer. Il s'agit d'une approche basée sur la récupération qui augmente un modèle de langage pré-entraîné pour accepter des entrées de longueur infinie au moment du test. Unlimiformer peut être injecté dans n'importe quel transformateur codeur-décodeur existant, capable de gérer une entrée de longueur illimitée. . Étant donné une longue séquence d'entrée, Unlimiformer peut créer un magasin de données sur les états cachés de tous les jetons d'entrée. Le mécanisme d'attention croisée standard du décodeur est alors capable d'interroger le magasin de données et de se concentrer sur les k premiers jetons d'entrée. Le magasin de données peut être stocké dans la mémoire du GPU ou du CPU et peut être interrogé de manière sublinéaire.

Unlimiformer peut être appliqué directement à un modèle entraîné et peut améliorer les points de contrôle existants sans aucune formation supplémentaire. Les performances d'Unlimiformer seront encore améliorées après un réglage fin. Cet article démontre qu'Unlimiformer peut être appliqué à plusieurs modèles de base, tels que BART (Lewis et al., 2020a) ou PRIMERA (Xiao et al., 2022), sans ajout de poids ni recyclage. Dans divers ensembles de données seq2seq à longue portée, Unlimiformer est non seulement plus puissant que les transformateurs à longue portée tels que Longformer (Beltagy et al., 2020b), SLED (Ivgi et al., 2022) et les transformateurs mémorisants (Wu et al., 2021). ) sur ces ensembles de données, les performances sont meilleures et cet article a également révélé qu'Unlimiform peut être appliqué au-dessus du modèle d'encodeur Longformer pour apporter d'autres améliorations. La zone de saisie 32k du GPT-4 nest toujours pas suffisante ? Unlimiformer étend la longueur du contexte à une longueur infinie

Principe technique illimité

La taille de la fenêtre contextuelle de l'encodeur étant fixe, la longueur maximale d'entrée du Transformer est limitée. Cependant, lors du décodage, différentes informations peuvent être pertinentes et différentes têtes d'attention peuvent se concentrer sur différents types d'informations (Clark et al., 2019). Par conséquent, une fenêtre de contexte fixe peut gaspiller des efforts sur des jetons sur lesquels l’attention est moins concentrée.

À chaque étape de décodage, chaque tête d'attention dans Unlimiformer sélectionne une fenêtre contextuelle distincte parmi toutes les entrées. Ceci est réalisé en injectant la recherche Unlimiformer dans le décodeur : avant d'entrer dans le module d'attention croisée, le modèle effectue une recherche du k-voisin le plus proche (kNN) dans le magasin de données externe, en sélectionnant un ensemble de chaque tête d'attention dans chaque couche de décodeur. jeton pour participer.

Encodage

Afin d'encoder la séquence d'entrée plus longue que la longueur de la fenêtre contextuelle du modèle, cet article encode les blocs d'entrée qui se chevauchent selon la méthode d'Ivgi et al (2022) (Ivgi et al., 2022), en ne conservant que chacun. fragmentez la moitié centrale de la sortie pour garantir un contexte suffisant avant et après le processus d'encodage. Enfin, cet article utilise des bibliothèques telles que Faiss (Johnson et al., 2019) pour indexer les entrées codées dans les magasins de données (Johnson et al., 2019).

Récupérer un mécanisme d'attention croisée amélioré

Dans le mécanisme d'attention croisée standard, le décodeur du transformateur se concentre sur l'état caché final de l'encodeur, et l'encodeur tronque généralement l'entrée et seulement le premier k jetons sont codés.

Cet article ne se concentre pas uniquement sur les k premiers jetons de l'entrée. Pour chaque tête d'attention croisée, il récupère les k premiers états cachés de la série d'entrée la plus longue et se concentre uniquement sur les k premiers. Cela permet au mot-clé d'être récupéré à partir de l'intégralité de la séquence d'entrée plutôt que de tronquer le mot-clé. Notre approche est également moins coûteuse en termes de calcul et de mémoire GPU que le traitement de tous les jetons d'entrée, tout en conservant généralement plus de 99 % des performances d'attention.

La figure 2 montre les modifications apportées par cet article à l'architecture du transformateur seq2seq. L'entrée complète est codée par bloc à l'aide du codeur et stockée dans une mémoire de données ; la mémoire de données d'état latent codée est ensuite interrogée lors du décodage. La recherche kNN est non paramétrique et peut être injectée dans n'importe quel transformateur seq2seq pré-entraîné, comme détaillé ci-dessous.

La zone de saisie 32k du GPT-4 nest toujours pas suffisante ? Unlimiformer étend la longueur du contexte à une longueur infinie

Résultats expérimentaux

Résumé du document long

Le tableau 3 montre les résultats dans l'ensemble de données récapitulatives en texte long (entrée de jeton 4k et 16k).

La zone de saisie 32k du GPT-4 nest toujours pas suffisante ? Unlimiformer étend la longueur du contexte à une longueur infinie

Parmi les méthodes d'entraînement du tableau 4, Unlimiformer peut obtenir le meilleur dans divers indicateurs.

La zone de saisie 32k du GPT-4 nest toujours pas suffisante ? Unlimiformer étend la longueur du contexte à une longueur infinie

Résumé du livre

Le tableau 5 montre les résultats sur le résumé du livre. On peut voir que sur la base de BARTbase et PRIMERA, l'application d'Unlimiformer peut obtenir certains résultats d'amélioration.

La zone de saisie 32k du GPT-4 nest toujours pas suffisante ? Unlimiformer étend la longueur du contexte à une longueur infinie

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer