2024-08-19
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Rapport sur le cœur de la machine
Editeur : Panda
Mamba est une bonne chose, mais son développement est encore précoce.
Il existe de nombreuses architectures d'apprentissage profond, mais la plus réussie de ces dernières années est Transformer, qui a établi sa domination dans de multiples domaines d'application.
L'un des principaux facteurs de ce succès est le mécanisme d'attention, qui permet aux modèles basés sur Transformer de se concentrer sur les parties pertinentes de la séquence d'entrée pour obtenir une meilleure compréhension contextuelle. Cependant, l’inconvénient du mécanisme d’attention est que la charge de calcul est élevée, qui augmente quadratiquement avec la taille d’entrée, ce qui rend difficile le traitement de textes très longs.
Heureusement, une nouvelle architecture à fort potentiel est née il y a quelque temps : le modèle de séquence d'états structurés (SSM). Cette architecture peut capturer efficacement des dépendances complexes dans les données de séquence, ce qui en fait un puissant adversaire de Transformer.
La conception de ce type de modèle s'inspire du modèle classique d'espace d'états - nous pouvons le considérer comme un modèle de fusion de réseaux de neurones récurrents et de réseaux de neurones convolutifs. Ils peuvent être calculés efficacement à l'aide d'opérations de boucle ou de convolution, permettant à la charge de calcul d'évoluer de manière linéaire ou presque linéaire avec la longueur de la séquence, réduisant ainsi considérablement les coûts de calcul.
Plus précisément, Mamba, l'une des variantes les plus réussies de SSM, possède déjà des capacités de modélisation comparables à celles de Transformer, tout en conservant une évolutivité linéaire avec la longueur des séquences.
Mamba introduit d'abord un mécanisme de sélection simple mais efficace qui reparamétre les SSM en fonction des entrées, permettant au modèle de conserver indéfiniment les données nécessaires et pertinentes tout en filtrant les informations non pertinentes. Ensuite, Mamba inclut également un algorithme sensible au matériel qui utilise des analyses au lieu de convolutions pour calculer le modèle de manière cyclique, ce qui peut augmenter la vitesse de calcul de 3 fois sur le GPU A100.
Comme le montre la figure 1, avec sa puissante capacité à modéliser des données complexes à séquence longue et son évolutivité quasi linéaire, Mamba est devenu un modèle de base et devrait révolutionner plusieurs domaines de recherche et développement tels que la vision par ordinateur, le traitement du langage naturel et la médecine. soins. Domaines d’application.
Par conséquent, la littérature sur la recherche et l’application de Mamba se développe rapidement et donne le vertige, et un rapport d’examen complet serait d’un grand bénéfice. Récemment, une équipe de recherche de l'Université polytechnique de Hong Kong a publié ses contributions sur arXiv.
Ce rapport d'examen résume Mamba sous plusieurs angles, ce qui peut non seulement aider les débutants à apprendre le mécanisme de fonctionnement de base de Mamba, mais également aider les praticiens expérimentés à comprendre les derniers progrès.
Mamba est une direction de recherche populaire, et c'est pourquoi de nombreuses équipes tentent de rédiger des rapports de révision. En plus de celle présentée dans cet article, il existe d'autres revues axées sur les modèles spatiaux d'états ou sur Mamba visuel. Pour plus de détails, veuillez vous référer aux articles correspondants. :
Connaissances préliminaires
Mamba combine le cadre cyclique du réseau neuronal récurrent (RNN), le mécanisme de calcul et d'attention parallèle du transformateur et les caractéristiques linéaires du modèle spatial d'état (SSM). Par conséquent, afin de bien comprendre Mamba, vous devez d’abord comprendre ces trois architectures.
réseau neuronal récurrent
Les réseaux de neurones récurrents (RNN) sont efficaces dans le traitement des données de séquence en raison de leur capacité à conserver la mémoire interne.
Plus précisément, à chaque pas de temps discret k, un RNN standard traite un vecteur avec l'état caché du pas de temps précédent, puis génère un autre vecteur et met à jour l'état caché. Cet état caché peut être utilisé comme mémoire du RNN, qui peut conserver les informations d'entrée vues dans le passé. Cette mémoire dynamique permet à RNN de gérer des séquences de différentes longueurs.
Autrement dit, RNN est un modèle récurrent non linéaire qui capture efficacement les modèles temporels en utilisant les connaissances historiques stockées dans des états cachés.
Transformateur
Le mécanisme d'auto-attention de Transformer permet de capturer les dépendances globales entre les entrées. Cela se fait en attribuant des pondérations à chaque poste en fonction de leur importance par rapport aux autres postes. Plus précisément, l'entrée d'origine est d'abord transformée linéairement pour convertir la séquence x de vecteurs d'entrée en trois types de vecteurs : requête Q, clé K et valeur V.
Ensuite, le score d'attention normalisé S est calculé et le poids d'attention est calculé.
En plus de pouvoir effectuer une fonction d’attention unique, nous pouvons également effectuer une attention multi-têtes. Cela permet au modèle de capturer différents types de relations et de comprendre les séquences d'entrée sous plusieurs perspectives. L'attention multi-têtes utilise plusieurs ensembles de modules d'auto-attention pour traiter les séquences d'entrée en parallèle. Chacune de ces têtes fonctionne indépendamment et effectue les mêmes calculs que les mécanismes standards d’auto-attention.
Ensuite, les poids d’attention de chaque tête sont agrégés et combinés pour obtenir la somme pondérée des vecteurs de valeur. Cette étape d'agrégation permet au modèle d'utiliser les informations provenant de plusieurs têtes et de capturer de nombreux modèles et relations différents dans la séquence d'entrée.
espace d'état
Le modèle espace d'états (SSM) est un cadre mathématique traditionnel qui peut être utilisé pour décrire le comportement dynamique d'un système au fil du temps. Ces dernières années, le SSM a été largement utilisé dans de nombreux domaines tels que la cybernétique, la robotique et l’économie.
À la base, SSM reflète le comportement du système à travers un ensemble de variables cachées appelées « état », lui permettant de capturer efficacement les dépendances des données temporelles. Contrairement à RNN, SSM est un modèle linéaire doté de propriétés associatives. Plus précisément, le modèle d'espace d'état classique construit deux équations clés (équation d'état et équation d'observation) pour modéliser la relation entre l'entrée x et la sortie y à l'instant actuel t via un état caché h (t) à N dimensions.
Afin de répondre aux besoins de l'apprentissage automatique, SSM doit subir un processus de discrétisation convertissant les paramètres continus en paramètres discrets. De manière générale, le but des méthodes de discrétisation est de diviser le temps continu en K intervalles discrets avec une surface intégrale aussi égale que possible. Pour atteindre cet objectif, l'une des solutions les plus représentatives adoptées par SSM est le Zero-Order Hold (ZOH), qui suppose que la valeur de la fonction sur l'intervalle Δ = [_{−1}, _ ] reste constante. Le SSM discret a une structure similaire à celle d'un réseau neuronal récurrent, de sorte que le SSM discret peut effectuer le processus d'inférence plus efficacement que les modèles basés sur Transformer.
Le SSM discret est un système linéaire avec des propriétés associatives et peut donc être intégré de manière transparente aux calculs convolutifs.
La relation entre RNN, Transformer et SSM
La figure 2 montre les algorithmes de calcul de RNN, Transformer et SSM.
D'une part, les RNN conventionnels fonctionnent sur la base d'un cadre récurrent non linéaire, où chaque calcul dépend uniquement de l'état caché précédent et de l'entrée actuelle.
Bien que cette forme permette à RNN de générer rapidement une sortie lors de l'inférence autorégressive, elle rend également difficile pour RNN d'utiliser pleinement la puissance de calcul parallèle du GPU, ce qui ralentit la formation du modèle.
L'architecture Transformer, quant à elle, effectue des multiplications matricielles sur plusieurs paires de clés de requête en parallèle, et les multiplications matricielles peuvent être efficacement allouées aux ressources matérielles, permettant une formation plus rapide des modèles basés sur l'attention. Toutefois, si vous souhaitez qu'un modèle basé sur Transformer génère des réponses ou des prédictions, le processus d'inférence peut prendre beaucoup de temps.
Contrairement à RNN et Transformer, qui ne prennent en charge qu'un seul type de calcul, le SSM discret est très flexible grâce à sa nature linéaire, il peut prendre en charge à la fois le calcul de boucle et le calcul de convolution. Cette fonctionnalité permet à SSM non seulement de réaliser une inférence efficace, mais également une formation parallèle. Cependant, il convient de souligner que le SSM le plus conventionnel est invariant dans le temps, c'est-à-dire que ses A, B, C et Δ sont indépendants de l'entrée du modèle x. Cela limitera ses capacités de modélisation contextuelle, ce qui entraînera de mauvaises performances de SSM sur certaines tâches spécifiques telles que la copie sélective.
Mamba
Afin de résoudre les lacunes ci-dessus du SSM traditionnel et de réaliser une modélisation contextuelle, Albert Gu et Tri Dao ont proposé Mamba, qui peut être utilisé comme réseau fédérateur d'un modèle de base de séquence universelle. Voir le rapport Machine Heart « Débit cinq fois supérieur ». la performance entoure globalement Transformer : La nouvelle architecture Mamba fait exploser le cercle de l'IA".
Après cela, les deux ont proposé Mamba-2, dans lequel la dualité espace-état structurée (SSD/dualité espace-état structuré) a construit un cadre théorique robuste qui relie le SSM structuré à diverses formes d'attention. les algorithmes et les technologies d'optimisation du système développés à l'origine pour Transformer to SSM. Vous pouvez également vous référer au rapport Heart of the Machine « Fighting Transformer Again ! Mamba 2, dirigé par l'auteur original, est là, et l'efficacité de la formation de la nouvelle architecture a été grandement améliorée."
Mamba-1 : modèle d'espace d'état sélectif utilisant des algorithmes sensibles au matériel
Mamba-1 introduit trois technologies innovantes majeures basées sur le modèle d'espace d'état structuré, à savoir l'initialisation de la mémoire, le mécanisme de sélection et l'informatique sensible au matériel basée sur l'opérateur de projection polynomiale d'ordre élevé (HiPPO). Comme le montre la figure 3. L’objectif de ces techniques est d’améliorer les capacités de modélisation de séries temporelles linéaires à longue portée du SSM.
Plus précisément, la stratégie d'initialisation construit une matrice d'états cachés cohérente pour promouvoir efficacement la mémoire à longue portée.
Des mécanismes de sélection permettent alors à SSM d'acquérir des représentations de contenus perceptibles.
Enfin, afin d'améliorer l'efficacité de la formation, Mamba inclut également deux algorithmes informatiques sensibles au matériel : l'analyse associative parallèle et le recalcul de la mémoire.
Mamba-2 : dualité de l'espace d'état
Transformer a inspiré le développement de nombreuses technologies différentes, telles que le réglage fin de paramètres efficaces, l'atténuation des oublis catastrophiques et la quantification de modèles. Afin que les modèles d'espace d'état bénéficient également de ces technologies initialement développées pour Transformer, Mamba-2 introduit un nouveau cadre : Structured State Space Duality (SSD). Ce cadre relie théoriquement le MSS et différentes formes d’attention.
Essentiellement, SSD montre que le mécanisme d'attention utilisé par Transformer et le système linéaire invariant dans le temps utilisé dans SSM peuvent être considérés comme des transformations matricielles semi-séparables.
De plus, Albert Gu et Tri Dao ont également prouvé que le SSM sélectif équivaut à un mécanisme d’attention linéaire structuré mis en œuvre à l’aide d’une matrice de masques semi-séparables.
Mamba-2 conçoit une méthode informatique basée sur SSD qui utilise le matériel plus efficacement, en utilisant un algorithme de multiplication matricielle de décomposition de blocs.
Plus précisément, en traitant le modèle espace-états comme une matrice semi-séparable grâce à cette transformation matricielle, Mamba-2 est capable de décomposer ce calcul en blocs matriciels, où les blocs diagonaux représentent des calculs intra-blocs. Alors que les blocs hors diagonale représentent le calcul inter-blocs via la décomposition d'état caché de SSM. Cette méthode permet à la vitesse d'entraînement de Mamba-2 d'être 2 à 8 fois plus rapide que l'analyse de corrélation parallèle de Mamba-1, tandis que les performances sont comparables à celles de Transformer.
Bloc Mamba
Jetons un coup d'œil aux conceptions de blocs de Mamba-1 et Mamba-2. La figure 4 compare les deux architectures.
La conception de Mamba-1 est centrée sur SSM, où la tâche de la couche SSM sélective est d'effectuer le mappage de la séquence d'entrée X à Y. Dans cette conception, après avoir initialement créé une projection linéaire de X, une projection linéaire de (A, B, C) est utilisée. Ensuite, le jeton d'entrée et la matrice d'état sont analysés via l'unité SSM sélective en utilisant une corrélation parallèle pour obtenir la sortie Y. Ensuite, Mamba-1 adopte une connexion sautée pour encourager la réutilisation des fonctionnalités et atténuer le problème de dégradation des performances qui survient souvent lors de la formation du modèle. Enfin, le modèle Mamba est construit par empilement échelonné de ce module avec normalisation standard et connexions résiduelles.
Comme pour Mamba-2, la couche SSD est introduite pour créer un mappage de [X, A, B, C] vers Y. Ceci est réalisé en utilisant une seule projection au début du bloc pour traiter [X, A, B, C] simultanément, de la même manière que les architectures d'attention standard génèrent des projections Q, K, V en parallèle.
Autrement dit, le bloc Mamba-2 est simplifié sur la base du bloc Mamba-1 en supprimant la projection linéaire de la séquence. Cela permet à l'architecture SSD d'effectuer des calculs plus rapidement que l'analyse sélective parallèle de Mamba-1. De plus, afin d'améliorer la stabilité de l'entraînement, Mamba-2 ajoute également une couche de normalisation après la connexion sautée.
Le modèle Mamba évolue
Le modèle spatial d'état et Mamba se sont développés rapidement récemment et sont devenus un choix de modèle de base de réseau fédérateur avec un grand potentiel. Bien que Mamba fonctionne bien dans les tâches de traitement du langage naturel, il présente encore certains problèmes, tels qu'une perte de mémoire, des difficultés à généraliser à différentes tâches et de mauvaises performances dans des modèles complexes par rapport aux modèles de langage basés sur Transformer. Afin de résoudre ces problèmes, la communauté des chercheurs a proposé de nombreuses améliorations à l'architecture Mamba. Les recherches existantes se concentrent principalement sur la conception des blocs de modification, les modèles d'analyse et la gestion de la mémoire. Le tableau 1 résume les études pertinentes par catégorie.
conception de blocs
La conception et la structure du bloc Mamba ont un impact important sur les performances globales du modèle Mamba et sont donc devenues un axe de recherche majeur.
Comme le montre la figure 5, les recherches existantes peuvent être divisées en trois catégories basées sur différentes méthodes de création de nouveaux modules Mamba :
Mode de numérisation
L'analyse de corrélation parallèle est un élément clé du modèle Mamba. Son objectif est de résoudre les problèmes de calcul causés par le mécanisme de sélection, d'améliorer la vitesse du processus de formation et de réduire les besoins en mémoire. Ceci est réalisé en exploitant la nature linéaire des SSM variables dans le temps pour concevoir la fusion de base et le recalcul au niveau matériel. Cependant, le paradigme de modélisation de séquences unidirectionnelles de Mamba n'est pas propice à un apprentissage complet de diverses données, telles que des images et des vidéos.
Pour atténuer ce problème, certains chercheurs ont exploré de nouvelles méthodes d'analyse efficaces pour améliorer les performances du modèle Mamba et faciliter son processus de formation. Comme le montre la figure 6, en termes de développement des modes de numérisation, les résultats des recherches existantes peuvent être divisés en deux catégories :
gestion de la mémoire
Semblable au RNN, dans le modèle d’espace d’états, la mémoire des états cachés stocke efficacement les informations des étapes précédentes et a donc un impact crucial sur les performances globales du SSM. Bien que Mamba introduise une méthode d'initialisation de la mémoire basée sur HiPPO, il est toujours difficile de gérer la mémoire dans l'unité SSM, ce qui inclut le transfert d'informations cachées avant les couches et la réalisation d'une compression de mémoire sans perte.
À cette fin, plusieurs études pionnières ont proposé un certain nombre de solutions différentes, notamment l'initialisation, la compression et la concaténation de la mémoire.
Adapter Mamba à diverses données
L'architecture Mamba est une extension du modèle d'espace d'état sélectif. Elle possède les caractéristiques de base du modèle cyclique et convient donc très bien comme modèle de base général pour le traitement de données de séquence telles que le texte, les séries temporelles et la parole.
De plus, certaines recherches pionnières récentes ont élargi les scénarios d'application de l'architecture Mamba, de sorte qu'elle puisse non seulement traiter les données de séquence, mais également être utilisée dans des domaines tels que les images et les cartes, comme le montre la figure 7.
Le but de ces études est de tirer pleinement parti de l'excellente capacité de Mamba à obtenir des dépendances à longue portée, tout en lui permettant également de tirer parti de son efficacité dans les processus d'apprentissage et de raisonnement. Le tableau 2 résume brièvement ces résultats de recherche.
données de séquence
Les données de séquence font référence aux données collectées et organisées dans un ordre spécifique, où l'ordre des points de données est significatif. Ce rapport d'examen résume de manière exhaustive l'application de Mamba sur une variété de données de séquence, notamment le langage naturel, la vidéo, les séries chronologiques, la parole et les mouvements humains. Voir l'article original pour plus de détails.
données non séquentielles
Contrairement aux données séquentielles, les données non séquentielles ne suivent pas un ordre spécifique. Ses points de données peuvent être organisés dans n'importe quel ordre sans affecter de manière significative la signification des données. Ce manque d’ordre inhérent peut être difficile pour les modèles récurrents (RNN, SSM, etc.) spécifiquement conçus pour capturer les dépendances temporelles des données.
Étonnamment, certaines recherches récentes ont permis à Mamba (un SSM représentatif) de traiter efficacement des données non séquentielles, notamment des images, des cartes et des données de nuages de points.
données multimodales
Afin d'améliorer les capacités de perception et de compréhension de la scène de l'IA, des données provenant de plusieurs modalités peuvent être intégrées, telles que le langage (données séquentielles) et les images (données non séquentielles). Une telle intégration peut fournir des informations très précieuses et complémentaires.
Ces dernières années, les grands modèles de langage multimodaux (MLLM) ont été l'objet de recherche le plus populaire ; ce type de modèle hérite des puissantes capacités des grands modèles de langage (LLM), notamment de puissantes capacités d'expression du langage et de raisonnement logique. Bien que Transformer soit devenu la méthode dominante dans le domaine, Mamba apparaît également comme un concurrent sérieux. Ses performances en matière d'alignement de données sources mixtes et de mise à l'échelle linéaire de la complexité avec la longueur de la séquence rendent Mamba prometteur dans l'apprentissage multimodal.
application
Certaines applications remarquables des modèles basés sur Mamba sont présentées ci-dessous. L’équipe a divisé ces applications dans les catégories suivantes : traitement du langage naturel, vision par ordinateur, analyse de la parole, découverte de médicaments, systèmes de recommandation, robotique et systèmes autonomes.
Nous ne le présenterons pas trop ici, voir l'article original pour plus de détails.
Défis et opportunités
Bien que Mamba ait réalisé des performances exceptionnelles dans certains domaines, dans l’ensemble, la recherche sur Mamba en est encore à ses balbutiements et il reste encore quelques défis à relever. Bien entendu, ces défis sont aussi des opportunités.