Maison  >  Article  >  Périphériques technologiques  >  Vitesse de génération 3 fois supérieure et coûts de mémoire réduits, un cadre de décodage efficace qui surpasse Medusa2 est enfin là

Vitesse de génération 3 fois supérieure et coûts de mémoire réduits, un cadre de décodage efficace qui surpasse Medusa2 est enfin là

王林
王林original
2024-06-12 11:55:28879parcourir

Décodez efficacement les séquences de jetons n, cadre de décodage CLLM + Jacobi.

Traditionnellement, les grands modèles linguistiques (LLM) sont considérés comme des décodeurs séquentiels, décodant chaque jeton un par un.

Une équipe de recherche de l'Université Jiao Tong de Shanghai et de l'Université de Californie montre que les LLM pré-entraînés peuvent être facilement enseignés pour devenir des décodeurs parallèles efficaces et présente une nouvelle famille de décodeurs parallèles appelés Consistent Large Language Models (CLLM), capables de réduire latence d'inférence en décodant efficacement une séquence de jetons n à chaque étape d'inférence.

Dans cet article, la recherche montre que : « Imiter le processus cognitif que les humains utilisent pour exprimer des expressions mot à mot après avoir formé des phrases complètes dans leur tête peut être appris efficacement en ajustant simplement les LLM pré-entraînés

. » Plus précisément, les CLLM produisent des séquences décodées avec les mêmes résultats que le décodage autorégressif (AR) en mappant toute séquence de n jetons initialisée de manière aléatoire en aussi peu d'étapes que possible. De cette manière, un entraînement au décodage parallèle peut être effectué.

Les résultats expérimentaux montrent que les CLLM obtenus à l'aide de la méthode proposée par l'équipe de recherche sont très efficaces, montrant que la méthode permet d'obtenir une amélioration de 2,4x à 3,4x de la vitesse de génération et est comparable à d'autres techniques d'inférence rapide telles que Medusa2 et Eagle. et ne nécessite aucun coût de mémoire supplémentaire pour accueillir les composants auxiliaires du modèle pendant l'inférence.

Vitesse de génération 3 fois supérieure et coûts de mémoire réduits, un cadre de décodage efficace qui surpasse Medusa2 est enfin là

  • Nom de l'article : "CLLM : Consistency Large Language Models"

  • Lien de l'article : https://arxiv.org/pdf/2403.00835

Vitesse de génération 3 fois supérieure et coûts de mémoire réduits, un cadre de décodage efficace qui surpasse Medusa2 est enfin là

Figure 1 : Dans GSM8K Ci-dessus, une démonstration de CLLM-ABEL-7B-001 étant environ 3 fois plus rapide que l'ABEL-7B-001 de base lors de l'utilisation du décodage Jacobi.

Jacobi Decoding

Les grands modèles de langage (LLM) changent le visage de la vie humaine, de la programmation à la fourniture de conseils juridiques et de santé.

Cependant, lors de l'inférence, les LLM utilisent le décodage autorégressif pour générer des réponses jeton par jeton, comme le montre la figure 1, ce qui entraîne une latence élevée pour des réponses plus longues. L'utilisation du décodage autorégressif nécessite souvent des modifications architecturales, des composants auxiliaires ou des premières ébauches de modèles pour accélérer l'inférence en générant plusieurs jetons à la fois.

Vitesse de génération 3 fois supérieure et coûts de mémoire réduits, un cadre de décodage efficace qui surpasse Medusa2 est enfin là

                                                                                                                                                                                              .

Le décodage Jacobi est dérivé des méthodes itératives à virgule fixe de Jacobi et Gauss-Seidel pour résoudre des équations non linéaires et s'avère être exactement le même que la génération autorégressive utilisant le décodage glouton.

Le décodage Jacobi reconstruit le processus de génération séquentielle en un système de n équations non linéaires contenant n variables, et peut être résolu en parallèle sur la base de l'itération Jacobi.

Chaque étape d'itération peut prédire plusieurs jetons corrects (les moyens dits « corrects » alignés sur les résultats du décodage autorégressif dans le cadre de la stratégie d'échantillonnage glouton), accélérant ainsi potentiellement le décodage autorégressif.

Vitesse de génération 3 fois supérieure et coûts de mémoire réduits, un cadre de décodage efficace qui surpasse Medusa2 est enfin là

                                                                                                                                                       .

Plus précisément, la méthode de décodage Jacobi devine d'abord au hasard le prochain jeton de la séquence à partir de l'invite de saisie (ci-après dénommée la séquence de jetons n, sauf indication contraire).

Ensuite, la séquence n-token est introduite dans le LLM avec les astuces pour les mises à jour itératives. Ce processus se poursuivra jusqu'à ce que la séquence de jeton n se stabilise, ne change plus et atteigne un point fixe.

Il est à noter que le décodage Jacobi ne nécessite pas plus de requêtes au LLM que le décodage autorégressif (AR). Finalement, la séquence de n -jetons convergera vers la sortie générée par le décodage AR dans le cadre de la stratégie gloutonne. Le processus depuis la supposition aléatoire initiale jusqu'au résultat final généré par l'AR est appelé « trajectoire Jacobi ».

Un exemple du processus d'itération de décodage de Jacobi et de la trajectoire de Jacobi est illustré dans la figure 2.

Limitations du décodage Jacobi :

Cependant, en pratique, le décodage Jacobi ordinaire n'apporte qu'une faible amélioration de l'effet d'accélération des LLM, par exemple, le rapport d'accélération moyen n'est que de 1,05 fois. En effet, il est difficile pour LLM de générer des jetons corrects lorsqu'il y a des erreurs dans les jetons précédents.

Ainsi, la plupart des itérations de Jacobi ne peuvent obtenir qu'une seule correction pour une séquence de n-jetons, ce qui entraîne la trajectoire plus longue indiquée sur le côté gauche de la figure 3.

Les méthodes de décodage anticipé et de décodage spéculatif tentent d'atténuer les inefficacités du décodage Jacobi et du décodage autorégressif traditionnel, mais entraînent des coûts de mémoire supplémentaires lors de l'inférence.

Les CLLM ne nécessitent pas ces coûts de mémoire supplémentaires.

Consistent Large Language Models (CLLM)

Décodage préliminaire de Jacobi :

À partir d'une invite x et d'un LLM p(·|x) pré-entraîné, les chercheurs utiliseront généralement la norme L'autorégressif (AR) obtient la réponse du modèle selon la stratégie gloutonne, à savoir : Vitesse de génération 3 fois supérieure et coûts de mémoire réduits, un cadre de décodage efficace qui surpasse Medusa2 est enfin là

Le décodage Jacobi recadre le processus d'inférence LLM en tant que processus de résolution d'un système d'équations non linéaires pour transformer le processus de décodage en une forme réalisable de calcul parallèle . Considérant :

Vitesse de génération 3 fois supérieure et coûts de mémoire réduits, un cadre de décodage efficace qui surpasse Medusa2 est enfin là

Le chercheur peut réécrire l'équation ci-dessus sous la forme d'un système d'équations non linéaire :

Vitesse de génération 3 fois supérieure et coûts de mémoire réduits, un cadre de décodage efficace qui surpasse Medusa2 est enfin là

Il convient de noter que :

Le processus se termine à une certaine valeur k telle que : Vitesse de génération 3 fois supérieure et coûts de mémoire réduits, un cadre de décodage efficace qui surpasse Medusa2 est enfin là

Ensuite, définir Vitesse de génération 3 fois supérieure et coûts de mémoire réduits, un cadre de décodage efficace qui surpasse Medusa2 est enfin là comme le point fixe et Vitesse de génération 3 fois supérieure et coûts de mémoire réduits, un cadre de décodage efficace qui surpasse Medusa2 est enfin là comme le lieu de Jacobi.

Pour résoudre ce problème, l'équipe de recherche propose d'ajuster les LLM pré-entraînés afin qu'ils puissent systématiquement cartographier n'importe quel point y sur la trajectoire de Jacobi J à un point fixe y* .

Étonnamment, ils ont découvert qu'un tel objectif est similaire à celui du modèle de cohérence, une méthode d'accélération majeure pour les modèles de diffusion.

Dans la méthode proposée par l'équipe, le modèle est entraîné à l'aide des trajectoires Jacobi collectées à partir du modèle cible, et une fonction de perte est utilisée qui encourage la convergence en une seule étape lors des itérations Jacobi.

Pour chaque modèle cible p à régler sur CLLM, la formation se compose de deux parties :

(1) Préparation de la trajectoire Jacobi :

Pour chaque invite, l'auteur exécute Jacobi sur chaque troncature de jeton afin de décoder jusqu'à toute la séquence de réponse l est générée, ce qui équivaut à la concaténation de tous les points fixes consécutifs.

Chaque séquence générée le long de la trajectoire est comptée comme une saisie de données.

Il est important de noter ici que pour les réponses longues contenant des jetons N(N ≫ n), cette troncature évite une évaluation lente du modèle sur des entrées longues. (2) Formation utilisant la cohérence et la perte AR : L'auteur optimise conjointement deux pertes pour ajuster les CLLM. La perte de cohérence garantit que plusieurs jetons sont prédits en même temps, tandis que la perte AR empêche le CLLM de s'écarter du LLM cible vers. maintenir la qualité de la génération.

Vitesse de génération 3 fois supérieure et coûts de mémoire réduits, un cadre de décodage efficace qui surpasse Medusa2 est enfin là                                                                                                                                                                          Figure 4 : Diagramme schématique d'un entraînement à la cohérence de convergence en une étape : ajustement du LLM cible pour toujours prédire le point fixe lorsqu'un état sur la trajectoire de Jacobi est pris en entrée.

Perte de cohérence et AR :

(1) Perte de cohérence Soit

p

représente le LLM cible. Soit représenté comme un CLLM avec des paramètres

θ

Vitesse de génération 3 fois supérieure et coûts de mémoire réduits, un cadre de décodage efficace qui surpasse Medusa2 est enfin là initialisés à p. Pour l'invite x et la trajectoire Jacobi correspondante

J, soit y et y* représentent respectivement des états aléatoires et des points fixes sur la trajectoire. peut être invité à afficher y lorsque l'entrée est

y*

en minimisant la perte suivante, appelée perte de cohérence globale (GC) :

Vitesse de génération 3 fois supérieure et coûts de mémoire réduits, un cadre de décodage efficace qui surpasse Medusa2 est enfin làDans cette formule, Vitesse de génération 3 fois supérieure et coûts de mémoire réduits, un cadre de décodage efficace qui surpasse Medusa2 est enfin là

L'auteur utilise largement des symboles pour représenter un échantillonnage uniforme de l'ensemble de données.

D(·||·) représente la distance entre deux distributions, et le choix est discuté dans la méthode GKD. Dans cet article, le KL direct est principalement utilisé.

Vous pouvez également utiliser la perte de cohérence locale (LC) selon la formule du modèle de cohérence.

où les états adjacents : Vitesse de génération 3 fois supérieure et coûts de mémoire réduits, un cadre de décodage efficace qui surpasse Medusa2 est enfin làDans la trajectoire de Jacobi J , sont amenés à produire le même résultat :

Vitesse de génération 3 fois supérieure et coûts de mémoire réduits, un cadre de décodage efficace qui surpasse Medusa2 est enfin là

(2) Perte AR :

Pour éviter de s'écarter de la distribution du LLM cible, le l'auteur combine la distribution basée sur la perte AR traditionnelle pour la génération l du LLM cible p :

Vitesse de génération 3 fois supérieure et coûts de mémoire réduits, un cadre de décodage efficace qui surpasse Medusa2 est enfin là

En combinant les deux pertes ensemble, en utilisant quelques poids ω, la perte totale pour l'entraînement le CLLM est :

Vitesse de génération 3 fois supérieure et coûts de mémoire réduits, un cadre de décodage efficace qui surpasse Medusa2 est enfin là

Expérience

Résultats :

Dans l'ensemble, cette expérience couvre trois tâches spécifiques au domaine :

(1) Spider (Text to SQL)

(2) Human-Eval (achèvement du code Python) et GSM8k (mathématiques)

(3) Défi de session de domaine ouvert plus large MT-bench.

Les expériences rapportées utilisent l'encodeur affiné LLM, Deepseek-coder-7B-instruct, LLaMA-2-7B ou ABEL-7B-001 comme modèle cible, en fonction de la tâche.

La formation et l'évaluation sont effectuées sur le serveur NVIDIA A100 40 Go.

Vitesse de génération 3 fois supérieure et coûts de mémoire réduits, un cadre de décodage efficace qui surpasse Medusa2 est enfin là

Figure 5 : Effet d'accélération du CLLM sur différentes tâches en aval. Les résultats montrent : "CLLM est beaucoup plus rapide que le modèle pré-entraîné et atteint une accélération comparable à celle de Medusa, mais sans frais supplémentaires lors de l'inférence." de benchmarks sur des tâches de domaine spécifiques (Spider, CSN-Python, GSM8k) et MT-bench. CLLM atteint des accélérations similaires, voire meilleures, par rapport à Medusa2 tout en n'introduisant aucun coût d'inférence supplémentaire (à en juger par les FLOPS et la consommation de mémoire).

Vitesse de génération 3 fois supérieure et coûts de mémoire réduits, un cadre de décodage efficace qui surpasse Medusa2 est enfin làDomaine d'expertise :

À partir de la figure 5, nous pouvons voir que les CLLM atteignent l'accélération la plus significative par rapport à d'autres lignes de base, y compris le modèle cible d'origine, Medusa2 et le décodage des suppositions. Open Domain Session Challenge (MT-bench) :

CLLM formé à partir de LLaMA2-7B à l'aide de l'ensemble de données ShareGPT, lorsqu'il est combiné avec le décodage anticipé, atteint à peu près la même accélération que Medusa2 et obtient de meilleures performances sur MT. Obtenez des scores comparables sur -banc.

Cependant, CLLM est plus adaptable et plus efficace en mémoire car il ne nécessite pas de modifications de l'architecture d'origine du modèle cible ni de composants auxiliaires.

Coût de la formation :

Le coût de la mise au point des CLLM est modeste.

Par exemple, pour LLaMA-7B, seul le passage d'environ 1 million de jetons peut atteindre son accélération de 3,4x sur l'ensemble de données Spider. Dans les cas où la taille de l'ensemble de données est grande (par exemple pour CodeSearchNet-Python), seulement 10 % de l'ensemble de données doivent être utilisés pour générer des trajectoires Jacobi pour la formation des CLLM, ce qui entraîne une accélération d'environ 2,5 fois.

Le nombre total de jetons peut être estimé de la manière suivante :

N = montant moyen de la trajectoire de chaque invite × longueur moyenne de la trajectoire × nombre d'invites.

Figure 7 : Comparaison de trajectoire Jacobi entre la cible LLM et CLLM sur Spider. Chaque point de la trajectoire Jacobi est une séquence codée par couleur : les correspondances correctes avec les résultats AR sont marquées en bleu, les correspondances inexactes sont marquées en rouge. CLLM présente une efficacité améliorée, convergeant vers le point fixe 2 fois plus rapidement que le LLM cible. Cette efficacité accrue de CLLM peut être attribuée à la perte de cohérence, qui facilite l'apprentissage de la structure de la séquence de n jetons pour chaque préfixe donné.

Le côté gauche de la figure 6 montre que le LLM cible ne génère généralement qu'un seul jeton correct en une seule itération. En revanche, dans les CLLM, les auteurs ont découvert un phénomène d’avancement rapide, dans lequel plusieurs jetons consécutifs sont correctement prédits en une seule itération de Jacobi.

De plus, dans le LLM cible, les jetons correctement générés à l'avance (tels que « pays » et « H » aux index 6 et 7 sur le côté gauche de la figure 7) sont souvent remplacés de manière inexacte dans les itérations suivantes.

D'autre part, les CLLM ont montré leur capacité à prédire le bon jeton, garantissant que le jeton reste inchangé même en présence d'un précédent jeton incorrect.

L'auteur appelle un tel jeton un « jeton fixe ». Ces deux phénomènes contribuent ensemble à la convergence rapide des CLLM dans le décodage Jacobi, permettant ainsi des améliorations considérables de la vitesse de génération.

L'équipe de recherche a également observé que grâce à la formation, les CLLM ont acquis un concept linguistique clé : la collocation : « une séquence de mots ou de termes qui apparaissent ensemble plus fréquemment que prévu par hasard.

Le langage n'est pas seulement composé d'isolement de mots. » , mais s'appuie également fortement sur des paires de mots spécifiques. Les exemples de collocations sont abondants dans les langages naturels et de programmation.

Ils comprennent :

  • Combinaisons verbe + préposition (par exemple, "parler à", "rappeler... de...")

  • Structures verbe + nom (par exemple "prendre une décision", "attraper un cold")

  • De nombreuses structures syntaxiques spécifiques au domaine (telles que "SELECT ... FROM ...", "if ... else" pour la programmation).

L'objectif de génération de cohérence permet aux CLLM de déduire de telles structures à partir de n'importe quel point de la trajectoire de Jacobi, permettant ainsi aux CLLM de maîtriser un grand nombre de collocations et ainsi de prédire plusieurs mots simultanément pour minimiser les étapes d'itération.

Lien de référence :

https://hao-ai-lab.github.io/blogs/cllm/

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:
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