Auteurs:
(1) Bobby He, Département d'informatique, ETH Zurich (Correspondance à : [email protected].) ;
(2) Thomas Hofmann, Département d'informatique, ETH Zurich.
Simplifier les blocs de transformateur
Analyse expérimentale plus approfondie
Discussion, déclaration de reproductibilité, remerciements et références
Une recette de conception simple pour les Transformers profonds consiste à composer des blocs de construction identiques. Mais les blocs de transformateur standard sont loin d'être simples, mêlant attention et sous-blocs MLP avec connexions sautées et couches de normalisation dans des arrangements précis. Cette complexité conduit à des architectures fragiles, dans lesquelles des changements apparemment mineurs peuvent réduire considérablement la vitesse d'entraînement ou rendre les modèles impossibles à entraîner. Dans ce travail, nous nous demandons dans quelle mesure le bloc transformateur standard peut être simplifié ? En combinant la théorie de la propagation du signal et les observations empiriques, nous motivons des modifications qui permettent de supprimer de nombreux composants de blocs sans perte de vitesse d'entraînement, notamment les connexions sautées, les paramètres de projection ou de valeur, les sous-blocs séquentiels et les couches de normalisation. Dans des expériences sur des modèles à décodeur autorégressif uniquement et à encodeur BERT uniquement, nos transformateurs simplifiés émulent la vitesse et les performances d'entraînement par mise à jour des transformateurs standard, tout en bénéficiant d'un débit d'entraînement 15 % plus rapide et en utilisant 15 % de paramètres en moins.
L’architecture du transformateur (Vaswani et al., 2017) est sans doute le cheval de bataille derrière de nombreux succès récents en matière d’apprentissage profond. Un moyen simple de construire une architecture de transformateur profonde consiste à empiler plusieurs « blocs » de transformateur identiques les uns après les autres, en séquence. Chaque bloc, cependant, est plus complexe et se compose de nombreux composants différents, qui doivent être combinés selon des arrangements spécifiques afin d'obtenir de bonnes performances. Étonnamment, le bloc transformateur de base a très peu changé depuis sa création, bien qu’il ait suscité l’intérêt de nombreux chercheurs.
Dans ce travail, nous étudions si le bloc transformateur standard peut être simplifié. Plus spécifiquement, nous étudions la nécessité de plusieurs composants de bloc, notamment les connexions sautées, les matrices de projection/valeur, les sous-blocs séquentiels et les couches de normalisation. Pour chaque composant considéré, nous demandons s'il peut être supprimé sans perte de vitesse de formation (à la fois en termes d'étape de mise à jour et de durée d'exécution), et quelles modifications architecturales doivent être apportées au bloc transformateur pour ce faire.
Nous pensons que le problème de la simplification des blocs transformateurs sans compromettre la vitesse d’entraînement est une question de recherche intéressante pour plusieurs raisons. Premièrement, les architectures de réseaux neuronaux (NN) modernes ont des conceptions complexes avec de nombreux composants, et les rôles joués par ces différents composants dans la dynamique de formation des NN, ni la manière dont ils interagissent les uns avec les autres ne sont pas clairs. Cela est particulièrement pertinent étant donné l’écart existant entre la théorie et la pratique de l’apprentissage profond, où les théoriciens travaillant à comprendre les mécanismes de l’apprentissage profond ne considèrent souvent que des architectures simplifiées pour des raisons de commodité, qui ne reflètent pas nécessairement les architectures modernes utilisées dans la pratique. Simplifier les architectures NN utilisées dans la pratique peut contribuer à combler ce fossé
Sur une note théorique connexe, nos travaux mettent en évidence à la fois les forces et les limites actuelles de la propagation du signal : une théorie qui s'est avérée influente en raison de sa capacité à motiver des choix de conception pratiques dans les architectures NN profondes. La propagation du signal (Poole et al., 2016 ; Schoenholz et al., 2017 ; Hayou et al., 2019) étudie l'évolution des informations géométriques dans un NN lors de l'initialisation, capturées via les produits internes des représentations par couches à travers les entrées, et a inspiré de nombreuses des résultats impressionnants dans la formation de NN profonds (Xiao et al., 2018 ; Brock et al., 2021 ; Martens et al., 2021 ; Zaidi et al., 2023). Cependant, la théorie actuelle ne considère un modèle qu'à l'initialisation, et ne considère souvent que la passe avant initiale. En tant que telle, la propagation du signal est actuellement incapable de mettre en lumière de nombreuses subtilités de la dynamique d’entraînement profond des NN, par exemple les avantages des connexions sautées pour la vitesse d’entraînement. Bien que la propagation du signal soit cruciale pour motiver nos modifications, nous ne serions pas parvenus à nos blocs de transformateur simplifiés uniquement sur la base de la théorie, et nous ne serions pas également appuyés sur des connaissances empiriques.
Enfin, d’un point de vue pratique, étant donné le coût exorbitant de la formation et du déploiement de grands modèles de transformateurs de nos jours, tout gain d’efficacité dans les pipelines de formation et d’inférence pour l’architecture du transformateur représente des économies potentielles significatives. Simplifier le bloc transformateur en supprimant les composants non essentiels réduit à la fois le nombre de paramètres et augmente le débit dans nos modèles. En particulier, nous montrons qu'il est possible de supprimer les connexions sautées, les paramètres de valeur, les paramètres de projection et les sous-blocs séquentiels, tout en faisant correspondre le transformateur standard en termes de vitesse d'entraînement et de performance des tâches en aval. En conséquence, nous réduisons le nombre de paramètres jusqu'à 16 % et observons des augmentations de débit de 16 % au temps d'entraînement et d'inférence.
Notre point de départ pour simplifier les blocs Transformer est He et al. (2023), qui montrent que le respect des principes de propagation du signal permet d'entraîner des transformateurs profonds sans sauter de connexions ni de couches de normalisation, mais à des vitesses de convergence considérablement réduites par mise à jour des paramètres. Nous montrons d'abord que la régulation des mises à jour des valeurs et des paramètres de projection (Sec. 4.1), ou en fait leur suppression totale (Sec. 4.2), améliore les performances des sous-blocs d'attention sans saut et récupère la vitesse d'entraînement perdue par mise à jour rapportée. par He et al. (2023). Cela supprime la moitié des paramètres et des multiplications matricielles dans le sous-bloc attention. À la sec. 4.3, nous montrons que nos simplifications se combinent de manière rentable avec des sous-blocs parallèles (Wang & Komatsuzaki, 2021), ce qui nous permet de supprimer toutes les connexions sautées restantes et les sous-blocs séquentiels sans compromettre la vitesse de formation par mise à jour, tout en augmentant encore l'augmentation du débit jusqu'à soit 16%, dans notre mise en œuvre. Enfin, à la Sec. 5, nous montrons que nos blocs simplifiés s'améliorent lorsqu'ils sont mis à l'échelle à des profondeurs plus grandes, fonctionnent bien dans les architectures à codeur uniquement et à décodeur uniquement, et que nos résultats sont également valables lors de la mise à l'échelle de la durée de formation. Nous concluons par une discussion des limites et des travaux futurs dans la Sec. 6.
Cet article est disponible sur arxiv sous licence CC 4.0.