nouvelles

Que se passe-t-il si je brouille/saute la couche Transformer ?Les dernières recherches révèlent son mécanisme de flux d'informations

2024-07-26

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Le vent d'ouest vient du temple Aofei
Qubits | Compte public QbitAI

Le mécanisme de flux d'informations dans Transformer a été révélé par les dernières recherches :

Toutes les couches sont-elles nécessaires ? La couche intermédiaire fait-elle la même chose ? L’ordre des couches est-il important ?

sisauter quelques couches, par exemple, que se passera-t-il si la sortie de la couche 4 est connectée à la couche 6.Mélangez aléatoirement l'ordre des calques, qu'en est-il du 4-6-5-7, par exemple.

Une étude récente intitulée « Transformer Layers as Painters » est devenue populaire et a été réalisée par une équipe de recherche des startups d'IA Sakana AI et Emergence AI.



Ils sont partis du principe de fonctionnement interne de Transformer et sont parvenus à des conclusions sur les problèmes ci-dessus grâce à une série d'expériences. L'équipe a déclaré qu'une compréhension approfondie de ces principes peut non seulement améliorer l'efficacité de l'utilisation des modèles existants, mais également contribuer à améliorer l'architecture et à développer de nouvelles variantes.

Lucas Beyer, chercheur Google DeepMind et auteur de ViT, l'a aimé directement après l'avoir lu :

Super résumé ! Bien que certaines expériences aient été montrées dans des études précédentes, j'aime les nouveaux détails que vous avez ajoutés, en soulignant notamment que les tâches de type « raisonnement » sont plus affectées que les autres tâches !



De nombreux universitaires et ingénieurs ont également exprimé de fortes recommandations.

Il y a fort à parier que certaines de ces informations seront éventuellement utilisées pour améliorer Transformer.



Les expériences ont une fois de plus confirmé que : la copie des calques est utile pour les tâches créatives, mais généralement inefficace pour les tâches de raisonnement ; la modification de l'ordre des calques ne fonctionne pas mieux dans la couche intermédiaire, mais nécessite néanmoins des ajustements de réparation ;



Alors, quelles expériences l’équipe de recherche a-t-elle menées dans cette étude ? À quelles questions a-t-on répondu ?

Sélection de modèles expérimentaux et analyse comparative

Jetons d'abord un coup d'œil à la configuration expérimentale~

Expérimenter dansdécodeur uniquementetencodeur uniquementeffectué sur le modèle.

Parmi eux, le modèle avec décodeur uniquement choisitLama2, étudie principalement Llama2-7B avec 32 couches et 7 milliards de paramètres. L'expérience étendue comprend également les modèles 13B (40 couches) et 70B (80 couches).

Le modèle avec encodeur uniquement choisitBERT, avec 24 couches et 340 millions de paramètres.

Les chercheurs ont utilisé des points de contrôle standard avant la formation pour ces modèles. Dans toutes les expériences, le modèle a été gelé et, à l'exception de l'évaluation du BERT, qui comprenait une étape standard de réglage fin, les paramètres du modèle n'ont pas été modifiés par un réglage fin ou d'autres méthodes.

En termes de tests de référence, Llama2 utilise les références standards suivantes : ARC (questions de test scientifique), HellaSwag (questions de bon sens), GSM8K (questions de mathématiques), WinoGrande (raisonnement de bon sens), LAMBADA (prédiction de vocabulaire). Parmi eux, LAMBADA est utilisé pour mesurer la confusion, qui est la plus proche de la prédiction symbolique originale utilisée lors de la formation.

Pour l'évaluation des performances de Llama2, la médiane normalisée des repères est fournie, quantifiant la performance de 0 à 1 (performance optimale du modèle).

Pour BERT, le benchmark GLUE est adopté et ses mesures d'évaluation sont suivies, y compris le score moyen non normalisé du benchmark. Notez que l'évaluation BERT standard comprend une étape de réglage fin, adaptant ainsi le modèle. En annexe, les chercheurs montrent également les résultats d'une évaluation où seule la tête du modèle peut être ajustée.

La motivation de l’expérience provenait à l’origine de cette question :

Est-il possible de combiner d’une manière ou d’une autre plusieurs couches en une seule, éventuellement plus grande ?On suppose que peut-être en raison de l'utilisation de connexions résiduelles pendant l'entraînement, la couche intermédiaire du réseau neuronalUn espace de représentation commun peut être utilisé.(Ce n'est pas vrai pour les perceptrons multicouches standards, qui ne disposent d'aucun mécanisme pour promouvoir une représentation commune ou une cohérence de l'agencement entre les couches)

Si les couches peuvent partager un espace de représentation, cela aura un impact important sur les calculs de conditions ultérieurs ou sur l'ajout dynamique de nouvelles connaissances au modèle Transformer pré-entraîné et aux applications en aval.

8 questions majeures sur Transformer
Les calques utilisent-ils le même espace de représentation ?

Pour déterminer si différentes couches partagent le même espace de représentation, les chercheurs ont examiné la configuration du Transformer.Ignorer des calques spécifiques ou modifier l'ordre des calques adjacentsde robustesse.

Par exemple, dans le modèle Llama2-7B, modifiez le flux de sortie de l'ordre normal "Couche 4 -> Couche 5 -> Couche 6" à "Couche 4 -> Couche 6", en ignorant la couche 5. Que se passera-t-il ?

Ou que se passe-t-il si la sortie de la couche 4 est envoyée à la couche 6, puis la sortie de la couche 6 est envoyée à la couche 5, puis à la couche 7 ?

Comme le montre la figure ci-dessous, l'expérience a révélé qu'à l'exception des premières et dernières couches,Llama2-7B montre une bonne robustesse en sautant ou en modifiant la séquence des couches

C'est-à-dire que la couche intermédiaire partage un espace de représentation, et que la couche intermédiaire et la « couche externe » (la première et la dernière couche) ont des espaces de représentation indépendants.



Pour confirmer davantage cette hypothèse, les chercheurs ont mesuré la similarité cosinusoïdale moyenne entre les activations d'état caché de différentes couches dans différents modèles (Llama2-7B, Llama2-13B et BERT-Large) et les ont comparées entre des références.

La figure 3 ci-dessous montreCohérence entre toutes les couches intermédiaires . Par exemple, l’activation de la quatrième couche en bas est très similaire à l’activation de la quatrième couche en haut. Pour le Llama2-13B à 40 couches, vous pouvez voir que les couches peuvent être divisées en 4 à 5 groupes en fonction de la similarité : la couche 0, les couches 1 à 3, la couche intermédiaire, puis la ou les deux dernières couches.



Cela suggère que le modèle peutIl existe trois espaces de représentation différents pour les couches « début », « milieu » et « fin ». . Les chercheurs ont également constaté que le nombre de « couches de départ » semblait augmenter avec le nombre total de couches dans le modèle.

De plus, une similarité cosinusoïdale élevée peut prouver qu’il existe un espace de représentation partagé, tandis qu’une faible similarité suggère davantage que ces espaces ne sont pas partagés. Les données de Llama2-7B dans la figure 3 ci-dessus sont tout à fait cohérentes avec les résultats de performances présentés dans la figure 2, ce qui prouve en outre :

Au moins l'espace de représentation au niveau intermédiaire est partagé.

Toutes les couches sont-elles nécessaires ?

Afin de vérifier davantage que l'espace de représentation de la couche intermédiaire est véritablement partagé, les chercheurs ont également menéExpérience de saut de couche(Aucun réglage fin n’a été effectué au cours des expériences).

Plus précisément, la sortie de la Nième couche est directement transmise à l'entrée de la N+Mième couche (M>1), « sautant » ainsi la couche M-1, comme le montre la figure ci-dessous.



À l'origine, la couche N+M était formée uniquement sur l'entrée de la couche N+M-1, alors peut-elle maintenant comprendre l'activation de la couche N ?

Dans ce type d'expérience, les chercheurs exécutent normalement la première couche et la dernière couche N-1, tout en sautant ou en modifiant les couches N+1 à TN (T est le nombre total de couches dans le modèle).

Comme le montre la figure 4 ci-dessous, dans plusieurs tests de référence, Llama2-7B et BERT-LargeLes performances diminuent progressivement (La figure montre l'augmentation progressive du nombre de couches sautées de gauche à droite). Ce résultat a révélé :

Toutes les couches ne sont pas nécessaires, et l'omission d'au moins certaines couches intermédiaires n'aura pas d'impact sérieux sur les performances globales.



Les niveaux intermédiaires remplissent-ils tous la même fonction ?

Les couches intermédiaires sont-elles redondantes si elles partagent un espace de représentation commun ?

Pour répondre à cette question, les chercheurs ont refait l'expérience précédente de « saut », mais cette fois, au lieu de sauter la couche intermédiaire,Remplacement des poids de toutes les couches intermédiaires par les poids de la couche centrale,Comme indiqué ci-dessous.

En fait, T-2N+1 fois sont exécutés sur la couche centrale, où T est le nombre total de couches du modèle (Llama2-7B fait 32 couches, BERT-Large fait 24 couches).



Dans le test de référence qui en résulte, à mesure que le nombre de couches remplacées augmente,Les performances du modèle se dégradent rapidement . Et la dégradation des performances est bien plus grave que le simple fait de sauter quelques couches, ce type de remplacement de poids est extrêmement dommageable.



donc,Il n’est pas superflu que chacune des couches intermédiaires remplisse des fonctions différentes. Le partage des poids entre les couches intermédiaires peut avoir des conséquences désastreuses.

L’ordre des couches est-il important ?

Les expériences ci-dessus montrent que bien que la couche intermédiaire partage l’espace de représentation, elle effectue différentes opérations sur cet espace. Alors, l’ordre de ces opérations est-il important ? Les chercheurs ont mené deux séries d’expériences.

Tout d'abord, la couche intermédiaire est formée selonordre inverse exécuté dans l’ordre (ordre inverse). Transmettez la sortie de la couche TN à la couche TN-1, et ainsi de suite jusqu'à la couche N, puis transmettez la sortie de cette couche à la couche TN finale.

Comme indiqué ci-dessous:



La deuxième expérience,disposition aléatoireLes couches intermédiaires sont ordonnées et moyennées sur 10 résultats de graines aléatoires.

Les résultats sont les suivants. Dans les deux cas, les modèles montrent.Dégradation lente des performances





Voici un spoiler d'un résultat expérimental ci-dessous. Que ce soit dans l'ordre inverse ou dans un ordre aléatoire, les performances du modèle sont meilleures que l'omission directe de ces couches, ce qui indique que même si les couches sont exécutées sur des entrées dans un ordre non-entraînement, elles sont exécutées. peut toujours produire un rendement efficace.

Alors, l’ordre des couches est-il important ? La conclusion est la suivante :

L'ajustement de l'ordre des couches a un certain impact sur les performances, et l'ordre aléatoire et l'ordre inverse montrent une certaine dégradation des performances.

Il convient de noter que l’ordre aléatoire est plus efficace que l’ordre inverse. Cela peut être dû au fait que l'ordre inverse est complètement opposé à l'ordre lors de l'entraînement et que tout ordre aléatoire maintient au moins une certaine cohérence séquentielle (c'est-à-dire qu'une couche i est toujours après une autre couche j, où i>j).

Ces couches peuvent-elles être exécutées en parallèle ?

Si la présence de couches, c'est-à-dire le fait de ne pas les sauter, est plus importante que l'ordre dans lequel elles sont exécutées, est-il possible de considérerExécutez ces couches indépendamment, puis combinez leurs résultats ? Comme indiqué ci-dessous.



Les chercheurs ont mené une expérience dans laquelle, au lieu de sauter les couches N à TN, ils ont exécuté ces couches intermédiaires en parallèle, puis ont transmis leurs résultats moyens aux couches N finales.

Les résultats sont présentés dans la figure ci-dessous. À l'exception du test de problème mathématique GSM8K, tous les tests montrent une lente dégradation des performances.

De façon intéressante,Les couches parallèles fonctionnent mieux que les couches sautées, mais pas aussi bien que l'exécution des couches dans l'ordre inverse.



En résumé, est-il possible d’exécuter ces couches en parallèle ? la réponse est:Oui, sauf pour les tests de compétences mathématiques.

Pour certaines tâches, l’ordre est-il plus important ?

La plupart des variantes (y compris l'ordre inverse, le saut et le parallèle) présentent la dégradation des performances la plus rapide dans les tests de raisonnement abstrait ARC ou de raisonnement mathématique GSM8K.

Cela peut s'expliquer par le fait que les tâches de raisonnement pas à pas sont plus sensibles aux changements d'ordre des couches que les tâches « sémantiques » telles que Winogrande ou HellaSwag.

En effet, les tâches de raisonnement nécessitent une combinaison d'informations structurelles et sémantiques, tandis que des tâches telles que HellaSwag peuvent être réalisées uniquement avec de la sémantique.

Grâce à des expériences, les chercheurs ont conclu :Les tâches mathématiques et de raisonnement reposent davantage sur l'ordre que les tâches « sémantiques ».

L'itération est-elle utile avec les couches parallèles ?

Si le mécanisme de fonctionnement interne de Transformer est comparé au processus de peinture d'un tableau : la toile (entrée) est passée entre certains peintres, certains peintres se spécialisent dans la peinture des oiseaux, et certains sont meilleurs dans la peinture des roues... Chaque peintre dessine à son tour d'un autre Le peintre prend la toile entre ses mains et décide s'il doit l'ajouter au tableau ou la transmettre directement au peintre suivant (en utilisant des connexions résiduelles).

Il est concevable que certaines couches ne « complètent » la peinture que lorsqu'elles reçoivent un apport approprié. Par exemple, un artiste qui « dessine des roues » est plus susceptible de dessiner des roues s'il voit d'abord la carrosserie d'une voiture.

Dans le transformateur, certaines couches ne peuvent contribuer au passage direct que lorsqu'elles reçoivent l'entrée appropriée, plutôt que de faire passer l'entrée directement via la connexion résiduelle.

En regardant les choses de cette façon, par rapport à l'exécution de la couche parallèle une seule fois,Exécution itérative de couches parallèlesDevrait améliorer les performances.

Les chercheurs ont testé cela en renvoyant la sortie moyenne des couches parallèles à la même couche et en fixant le nombre d'itérations, comme indiqué ci-dessous :



Dans la figure 9 ci-dessous, les chercheurs montrent les résultats de l'itération de la couche parallèle 3 fois. Cette méthode est nettement meilleure que l'exécution de la couche parallèle une seule fois.



La seule exception est lorsque la couche de départ N est 15 pour Llama2-7B ou 11 pour BERT. Dans ce cas, l'effet de paralléliser la boucle 3 fois équivaut à répéter 3 fois uniquement la couche intermédiaire, et la couche parallèle à ce moment est équivalente au modèle complet.

Les chercheurs ont également répété l’expérience avec différents nombres d’itérations.

La figure ci-dessous montre comment les performances de Llama2-7B évoluent avec le nombre de couches parallèles M et le nombre d'itérations.



Le nombre optimal d'itérations pour chaque M est indiqué par l'encadré rouge. À l'exception de M=29 et M=31 (presque toutes les couches sont parallélisées), le nombre optimal d'itérations est à peu près linéairement proportionnel au nombre de couches parallèles.

La conclusion est donc la suivante :L'itération est utile avec les couches parallèles et le nombre optimal d'itérations est proportionnel au nombre de couches parallèles.

Quelles variantes nuisent le moins aux performances ?

Enfin, les chercheurs ont comparé toutes les différentes variantes de l’expérience sur le même graphique.

Les résultats montrent que,Répéter une seule couche(Comme mentionné ci-dessus, remplacez les couches intermédiaires par un nombre égal de couches centrales)Pire effet, les performances se dégradent rapidement jusqu'à la ligne de base aléatoire.



Le parallélisme itératif et la dégradation des performances séquentielles des couches aléatoires sont minimes, parmi lesquels le parallélisme itératif fonctionne le mieux dans BERT et Llama2-7B.



Des résultats expérimentaux supplémentaires ont été ajoutés à l'annexe de l'article, et les membres de la famille intéressés peuvent consulter l'article original.

Lien papier : https://arxiv.org/abs/2407.09298v1
Lien de référence : https://x.com/A_K_Nain/status/1812684597248831912