Maison >Périphériques technologiques >IA >Mécanisme d'attention de nouvelle génération Lightning Attention-2 : longueur de séquence illimitée, surcharge de puissance de calcul constante, précision de modélisation plus élevée

Mécanisme d'attention de nouvelle génération Lightning Attention-2 : longueur de séquence illimitée, surcharge de puissance de calcul constante, précision de modélisation plus élevée

PHPz
PHPzavant
2024-01-18 14:12:06707parcourir

L'application actuelle des grands modèles de langage est limitée par la limite de longueur de séquence, ce qui limite son application dans le domaine de l'intelligence artificielle. Par exemple, il existe certains défis en matière de dialogue à plusieurs tours, de compréhension de textes longs et de traitement et de génération de données multimodales. La raison fondamentale de cette limitation est que l'architecture Transformer couramment utilisée dans les grands modèles de langage présente actuellement une relation quadratique entre la complexité du calcul et la longueur de la séquence. Par conséquent, à mesure que la longueur de la séquence augmente, la demande en ressources informatiques augmente de façon exponentielle. Par conséquent, le traitement efficace de longues séquences a toujours été l’un des défis auxquels sont confrontés les grands modèles de langage.

Les approches passées se sont principalement concentrées sur l'adaptation de grands modèles de langage à des séquences plus longues pendant la phase d'inférence. Une approche consiste à utiliser un alibi ou un codage de position relative similaire pour permettre au modèle de s'adapter à des séquences d'entrée de différentes longueurs. Une autre approche consiste à utiliser RoPE ou un codage de position relative similaire pour la différence, et à affiner brièvement le modèle déjà entraîné pour étendre la longueur de la séquence. Ces méthodes permettent aux grands modèles de disposer de certaines capacités de modélisation de séquences longues, mais les frais généraux de formation et d'inférence n'ont pas été réduits.

L'équipe OpenNLPLab a open source un nouveau mécanisme d'attention linéaire appelé Lightning Attention-2, conçu pour résoudre le problème de séquence longue des grands modèles de langage. Ce mécanisme maintient le coût de formation et d'inférence de longues séquences cohérent avec des longueurs de séquence de 1 000, permettant une solution définie et oubliée. L'augmentation de la longueur de la séquence n'a pas d'impact négatif sur la vitesse d'entraînement du modèle, même avant que des goulots d'étranglement de mémoire ne soient rencontrés, permettant ainsi un pré-entraînement d'une durée illimitée. De plus, le coût d'inférence des textes très longs est également cohérent, voire inférieur, à celui des jetons 1K, réduisant ainsi considérablement le coût d'inférence des grands modèles linguistiques actuels. Comme le montre la figure ci-dessous, lorsque la taille du modèle est de 400 M, 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, tandis que la vitesse de TansNormerLLM prise en charge par Lightning Attention-2 a presque diminué. pas de changement.

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

Figure 1

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

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

Lightning Attention-2 Introduction

Laissez le grand model Maintenir la vitesse de pré-entraînement constante sur différentes longueurs de séquence semble être une tâche impossible. Cependant, depuis l’avènement de l’attention linéaire 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. Jusqu’à mi-2023, les recherches sur l’attention linéaire se concentreront principalement sur l’alignement de la précision avec l’architecture Transformer. Enfin, après l’avènement du mécanisme d’attention linéaire amélioré, sa précision est comparable à l’architecture de pointe du Transformer. Cependant, l'astuce de calcul la plus critique de la « multiplication de gauche à droite » en attention linéaire est beaucoup plus lente que l'algorithme de multiplication directe à gauche dans la mise en œuvre réelle. En effet, 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, et un grand nombre d'opérations d'E/S rendent la multiplication à droite beaucoup moins efficace que la multiplication à gauche. Par conséquent, il reste toujours difficile de maintenir la vitesse de pré-entraînement des grands modèles cohérente sur différentes longueurs de séquence. Les chercheurs doivent explorer davantage et améliorer la mise en œuvre de l’attention linéaire pour améliorer son efficacité informatique et réduire les opérations d’E/S. Cela contribuera à obtenir une vitesse de pré-entraînement cohérente afin de mieux faire face aux exigences des tâches de différentes longueurs de séquence.

​新一代注意力机制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 et O sont respectivement une requête, une clé, une valeur, un masque et une matrice de sortie. M est ici une matrice triangulaire inférieure tout-1 dans les tâches unidirectionnelles (telles que GPT In). les tâches bidirectionnelles (telles que Bert) peuvent être ignorées, 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 l'attention linéaire est de supprimer l'opérateur softmax coûteux en calcul, de sorte que la formule de calcul de l'attention puisse être écrite 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 le standard de facto du 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 le processus d'exécution du matériel GPU. . 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-2 avec L sur un modèle de paramètre à petite échelle (400 M) attention -1 différence de précision, comme le montre la figure ci-dessous, il n'y a presque aucune différence entre les deux.

​新一代注意力机制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 de 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 l'objectif principal de cet article est de résoudre la vitesse d'entraînement du réseau d'attention linéaire et d'atteindre 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.

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, offrant une plate-forme pour plus et plus d’attention à l’avenir. Les grands modèles offrent la possibilité d’évoluer de manière durable et permettent de traiter 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