Maison  >  Article  >  Périphériques technologiques  >  Lightning Attention-2 : une nouvelle génération de mécanisme d'attention qui atteint une longueur de séquence infinie, un coût de puissance de calcul constant et une précision de modélisation plus élevée

Lightning Attention-2 : une nouvelle génération de mécanisme d'attention qui atteint une longueur de séquence infinie, un coût de puissance de calcul constant et une précision de modélisation plus élevée

王林
王林avant
2024-01-18 12:42:12762parcourir
Lightning Attention-2 est un nouveau mécanisme d'attention linéaire qui rend les coûts de formation et d'inférence des longues séquences cohérents avec ceux d'une longueur de séquence de 1K.

La limitation de la longueur de séquence des grands modèles de langage a considérablement restreint son application dans le domaine de l'intelligence artificielle, comme le dialogue multi-tours, la compréhension de textes longs, le traitement et la génération de données multimodales, etc. La raison fondamentale de cette limitation est que l'architecture Transformer utilisée dans les grands modèles de langage actuels présente une complexité de calcul quadratique par rapport à la longueur de la séquence. Cela signifie qu’à mesure que la longueur de la séquence augmente, les ressources informatiques requises augmentent de façon exponentielle. Comment traiter efficacement de longues séquences a toujours été l'un des défis des grands modèles de langage.

Les méthodes précédentes avaient tendance à se concentrer sur la manière d'adapter de grands modèles de langage à des séquences plus longues lors de la phase d'inférence. Par exemple, Alibi ou des méthodes de codage de position relative similaires peuvent être utilisées pour permettre au modèle de s'adapter à différentes longueurs de séquence d'entrée, ou des méthodes de codage de position relative similaires telles que RoPE peuvent être utilisées pour effectuer des différences, et une formation supplémentaire peut être effectuée sur le modèle. qui a terminé la formation. Un réglage fin à court terme est effectué pour atteindre l'objectif d'amplifier la longueur de la séquence. Ces méthodes permettent uniquement aux grands modèles de disposer de certaines capacités de modélisation de séquences longues, mais les frais généraux réels de formation et d'inférence n'ont pas été réduits.

L'équipe OpenNLPLab tente de résoudre une fois pour toutes le problème des séquences longues des grands modèles de langage. Ils ont proposé et open source Lightning Attention-2, un nouveau mécanisme d'attention linéaire qui rend les coûts de formation et d'inférence de longues séquences cohérents avec ceux d'une longueur de séquence de 1K. Avant de rencontrer un goulot d'étranglement de mémoire, augmenter indéfiniment la longueur de la séquence n'aura pas d'impact négatif sur la vitesse d'entraînement du modèle. Cela rend possible un pré-entraînement d'une durée illimitée. Dans le même temps, le coût d'inférence d'un texte très long est également cohérent, voire inférieur, au coût des jetons 1K, ce qui réduira considérablement le coût d'inférence des grands modèles linguistiques actuels. Comme le montre la figure ci-dessous, sous les tailles de modèle 400M, 1B et 3B, à mesure que la longueur de la séquence augmente, la vitesse d'entraînement de LLaMA prise en charge par FlashAttention2 commence à diminuer rapidement, mais la vitesse de TansNormerLLM prise en charge par Lightning Attention-2 a presque aucun changement.

新一代注意力机制Lightning Attention-2:无限序列长度、恒定算力开销、更高建模精度Photo 1新一代注意力机制Lightning Attention-2:无限序列长度、恒定算力开销、更高建模精度

  • Article : Lightning Attention-2 : Un déjeuner gratuit pour gérer des longueurs de séquence illimitées dans des modèles de langage volumineux
  • Adresse de l'article : https://arxiv.org/pdf/2401.04658.pdf
  • Adresse open source : https ://github.com/OpenNLPLab/lightning-attention

Lightning Attention-2 Introduction

Maintient la vitesse de pré-entraînement des grands modèles cohérente sur différentes longueurs de séquence, ce qui est ce qui cela ressemble à une mission impossible. En fait, cela peut être réalisé si la complexité informatique d’un mécanisme d’attention reste linéaire par rapport à la longueur de la séquence. Depuis l’émergence de l’attention linéaire [https://arxiv.org/abs/2006.16236] en 2020, les chercheurs ont travaillé dur pour rendre l’efficacité réelle de l’attention linéaire cohérente avec sa complexité informatique linéaire théorique. Avant 2023, la plupart des travaux sur l’attention linéaire se concentraient sur l’alignement de leur précision sur les Transformers. Enfin, à la mi-2023, le mécanisme d'attention linéaire amélioré [https://arxiv.org/abs/2307.14995] pourra être aligné sur l'architecture de pointe de Transformer en termes de précision. Cependant, l'astuce de calcul la plus critique de « multiplication gauche vers multiplication droite » (illustré dans la figure ci-dessous) qui change la complexité de calcul en linéaire en attention linéaire (comme le montre la figure ci-dessous) est beaucoup plus lente que l'algorithme de multiplication directe à gauche en réalité. mise en œuvre. La raison en est que la mise en œuvre de la multiplication à droite nécessite l'utilisation d'une sommation cumulative (cumsum) contenant un grand nombre d'opérations de boucle. Le grand nombre d'opérations d'E/S rend l'efficacité de la multiplication à droite bien inférieure à celle de la multiplication à gauche.
新一代注意力机制Lightning Attention-2:无限序列长度、恒定算力开销、更高建模精度
Figure 2

Afin de mieux comprendre l'idée de Lightning Attention-2, passons d'abord en revue la formule de calcul de l'attention softmax traditionnelle : O=softmax ((QK^ T)⊙ M_) V, où Q, K, V, M, O sont respectivement la requête, la clé, la valeur, le masque et la matrice de sortie M est ici une matrice triangulaire inférieure tout-1 dans les tâches unidirectionnelles (telles que GPT). .Dans les deux sens Il peut être ignoré dans les tâches (comme Bert), c'est-à-dire qu'il n'y a pas de matrice de masque pour les tâches bidirectionnelles.

L'auteur résume l'idée générale de Lightning Attention-2 dans les trois points d'explication suivants :

1 L'une des idées fondamentales de Linear Attention est de supprimer l'opérateur softmax coûteux en calcul, faire attention La formule de calcul peut s'écrire sous la forme O=((QK^T)⊙M_) V. Cependant, en raison de l'existence de la matrice de masque M dans la tâche unidirectionnelle, cette forme ne peut toujours effectuer que des calculs de multiplication à gauche, de sorte que la complexité de O (N) ne peut pas être obtenue. Mais pour les tâches bidirectionnelles, puisqu'il n'y a pas de matrice de masque, la formule de calcul de l'attention linéaire peut être encore simplifiée à O=(QK^T) V. La subtilité de l'attention linéaire est qu'en utilisant simplement la loi associative de multiplication matricielle, sa formule de calcul peut être transformée en : O=Q (K^T V). Cette forme de calcul est appelée multiplication à droite, et la première correspondante est Take the. gauche. À partir de la figure 2, nous pouvons comprendre intuitivement que l'attention linéaire peut atteindre une complexité O (N) attrayante dans les tâches bidirectionnelles !

2. Cependant, à mesure que le modèle GPT avec décodeur uniquement devient progressivement la norme de facto pour LLM, comment utiliser la bonne fonction de multiplication de l'attention linéaire pour accélérer les tâches à sens unique est devenu un problème urgent à résoudre. Afin de résoudre ce problème, l'auteur de cet article a proposé d'utiliser l'idée de "diviser pour régner" pour diviser le calcul de la matrice d'attention en deux formes : matrice diagonale et matrice non diagonale, et utiliser différentes façons de les calculer. Comme le montre la figure 3, Linear Attention-2 utilise l'idée du Tiling couramment utilisée dans le domaine informatique pour diviser les matrices Q, K et V en le même nombre de blocs. Parmi eux, le calcul du bloc lui-même (intra-bloc) conserve toujours la méthode de calcul de multiplication gauche du fait de l'existence de la matrice de masque, avec une complexité de O (N^2) tandis que le calcul du bloc (inter-bloc) ; bloc) n'a pas d'existence de matrice de masque, vous pouvez utiliser la bonne méthode de calcul de multiplication pour profiter de la complexité de O (N). Une fois les deux calculés séparément, ils peuvent être directement ajoutés pour obtenir la sortie d’attention linéaire Oi correspondant au i-ème bloc. Dans le même temps, l'état de KV est accumulé via la somme cumulée pour être utilisé dans le calcul du bloc suivant. De cette façon, la complexité de l'algorithme de l'ensemble de Lightning Attention-2 est de O (N ^ 2) pour le compromis intra-bloc et de O (N) pour le compromis inter-bloc. La manière d'obtenir un meilleur compromis est déterminée par la taille du bloc de Tiling.

3. Les lecteurs attentifs constateront que le processus ci-dessus n'est que la partie algorithmique de Lightning Attention-2. La raison pour laquelle il est nommé Lightning est que l'auteur a pleinement pris en compte l'efficacité du processus algorithmique dans l'exécution matérielle du GPU. processus. Inspiré par la série de travaux FlashAttention, lors de l'exécution de calculs sur le GPU, l'auteur a déplacé les tenseurs divisés Q_i, K_i, V_i du HBM plus lent avec une plus grande capacité à l'intérieur du GPU vers la SRAM plus rapide avec une capacité plus petite. système, réduisant ainsi une grande quantité de surcharge de mémoire IO.Une fois que le bloc a terminé le calcul de l'attention linéaire, son résultat de sortie O_i sera replacé vers HBM. Répétez ce processus jusqu'à ce que tous les blocs aient été traités.

Les lecteurs qui souhaitent en savoir plus peuvent lire attentivement l'algorithme 1 et l'algorithme 2 dans cet article, ainsi que le processus de dérivation détaillé dans l'article. L'algorithme et le processus de dérivation font la distinction entre les processus directs et inverses de Lightning Attention-2, ce qui peut aider les lecteurs à mieux comprendre. Les chercheurs ont d'abord comparé Lightning Attention sur un modèle de paramètre -2 à petite échelle (400 M) avec Lightning. La différence de précision d'Attention-1, comme le montre la figure ci-dessous, est presque la même.

新一代注意力机制Lightning Attention-2:无限序列长度、恒定算力开销、更高建模精度

Ensuite, les chercheurs ont comparé TransNormerLLM (TNL-LA2) pris en charge par Lightning Attention-2 avec d'autres réseaux d'architecture avancés non Transformer et LLaMA pris en charge par FlashAttention2 sur 1B et 3B sous le même corpus. Comme le montre la figure ci-dessous, TNL-LA2 et LLaMA maintiennent une tendance similaire et les performances de perte sont meilleures. Cette expérience montre que Lightning Attention-2 a des performances de précision qui ne sont pas inférieures à l'architecture de pointe de Transformer en matière de modélisation de langage. 新一代注意力机制Lightning Attention-2:无限序列长度、恒定算力开销、更高建模精度Dans la tâche de grand modèle de langage, les chercheurs ont comparé les résultats de TNL-LA2 15B et de Pythia sur des critères communs pour de grands modèles de taille similaire. Comme le montre le tableau ci-dessous, à condition de manger les mêmes jetons, TNL-LA2 est légèrement supérieur au modèle Pythia basé sur l'attention Softmax dans le raisonnement de bon sens et les capacités complètes à choix multiples.

新一代注意力机制Lightning Attention-2:无限序列长度、恒定算力开销、更高建模精度

Comparaison de la vitesse de Lightning Attention-2

Les chercheurs ont comparé la vitesse d'un module unique et l'utilisation de la mémoire de Lightning Attention-2 et FlashAttention2. Comme le montre la figure ci-dessous, par rapport à Lightning Attention-1 et FlashAttention2, Lightning Attention-2 montre une augmentation linéaire stricte de la vitesse par rapport à la longueur de la séquence. En termes d'utilisation de la mémoire, les trois affichent des tendances similaires, mais Lightning Attention-2 a une empreinte mémoire plus petite. La raison en est que l'utilisation de la mémoire de FlashAttention2 et Lightning Attention-1 est également à peu près linéaire.

新一代注意力机制Lightning Attention-2:无限序列长度、恒定算力开销、更高建模精度

L'auteur a remarqué que cet article se concentre principalement sur la résolution de la vitesse d'entraînement du réseau d'attention linéaire et atteint une vitesse d'entraînement similaire à celle des séquences de 1K pour de longues séquences de n'importe quelle longueur. En termes de vitesse d'inférence, il n'y a pas beaucoup d'introduction. En effet, l'attention linéaire peut être convertie sans perte en mode RNN pendant le raisonnement, obtenant ainsi un effet similaire, c'est-à-dire que la vitesse de raisonnement pour un seul jeton est constante. Pour Transformer, la vitesse d'inférence du jeton actuel est liée au nombre de jetons qui le précèdent.

新一代注意力机制Lightning Attention-2:无限序列长度、恒定算力开销、更高建模精度

L'auteur a testé la comparaison de la vitesse d'inférence entre TransNormerLLM-7B pris en charge par Lightning Attention-1 et le modèle 7B commun. Comme le montre la figure ci-dessous, sous la taille approximative du paramètre, la vitesse de débit de Lightning Attention-1 est 4 fois celle de Baichuan et plus de 3,5 fois celle de ChatGLM, ce qui montre un excellent avantage en termes de vitesse d'inférence.

新一代注意力机制Lightning Attention-2:无限序列长度、恒定算力开销、更高建模精度

Résumé

Lightning Attention-2 représente un progrès majeur dans le mécanisme d'attention linéaire, ce qui en fait un remplacement parfait de l'attention Softmax traditionnelle en termes de précision et de vitesse, et prend en charge des modèles de plus en plus grands dans le future Offre la possibilité d’évoluer de manière durable et permet de gérer des séquences infiniment longues avec une plus grande efficacité. L’équipe OpenNLPLab étudiera à l’avenir des algorithmes parallèles séquentiels basés sur des mécanismes d’attention linéaire pour résoudre le problème de barrière de mémoire actuellement rencontré.

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