Introduction aux modèles de transformateurs : ce qu'ils sont et comment ils fonctionnent
Publié: 2024-08-07Les transformateurs constituent une avancée majeure dans le domaine de l'IA, en particulier dans le traitement du langage naturel (NLP). Réputés pour leurs performances et leur évolutivité, ils sont essentiels dans des applications telles que la traduction linguistique et l’IA conversationnelle. Cet article explore leur structure, les comparaisons avec d'autres réseaux de neurones, ainsi que leurs avantages et inconvénients.
Table des matières
- Qu'est-ce qu'un modèle de transformateur ?
- Transformateurs vs CNN et RNN
- Comment fonctionnent les modèles de transformateurs
- Exemples de modèles de transformateurs
- Avantages
- Inconvénients
Qu'est-ce qu'un modèle de transformateur ?
Un transformateur est un type de modèle d’apprentissage profond largement utilisé en PNL. En raison de ses performances de tâche et de son évolutivité, il constitue le cœur de modèles tels que les séries GPT (fabriquées par OpenAI), Claude (fabriquées par Anthropic) et Gemini (fabriquées par Google) et sont largement utilisées dans toute l'industrie.
Les modèles d'apprentissage profond se composent de trois composants principaux : l'architecture du modèle, les données de formation et les méthodes de formation. Dans ce cadre, un transformateur représente un type d’architecture de modèle. Il définit la structure des réseaux de neurones et leurs interactions. L’innovation clé qui distingue les transformateurs des autres modèles d’apprentissage automatique (ML) est l’utilisation de « l’attention ».
L'attention est un mécanisme chez les transformateurs qui leur permet de traiter efficacement les entrées et de conserver les informations sur de longues séquences (par exemple, un essai entier).
Voici un exemple pour illustrer. « Le chat était assis sur la berge au bord de la rivière. Il s’est ensuite déplacé vers la branche de l’arbre voisin. Vous pouvez reconnaître que « banque » ici n’est pas la banque dans laquelle vous déposez de l’argent. Vous utiliseriez probablement l'indice contextuel de « rivière » pour comprendre cela. L'attention fonctionne de la même manière ; il utilise les autres mots pour définir la signification de chaque mot. À quoi fait référence « ça » dans l’exemple ? Le modèle considérerait les mots « déplacé » et « arbre » comme des indices pour réaliser que la réponse est « chat ».
La question importante sans réponse est de savoir comment le modèle sait quels mots examiner. Nous y reviendrons un peu plus tard. Mais maintenant que nous avons défini le modèle de transformateur, expliquons plus en détail pourquoi il est si largement utilisé.
Transformateurs vs CNN et RNN
Les réseaux de neurones récurrents (RNN) et les réseaux de neurones convolutifs (CNN) sont deux autres modèles d'apprentissage profond courants. Bien que les RNN et les CNN présentent leurs avantages, les transformateurs sont plus largement utilisés car ils gèrent beaucoup mieux les entrées longues.
Transformateurs vs RNN
Les RNN sont des modèles séquentiels. Une analogie appropriée est celle d’un humain lisant un livre. Au fur et à mesure qu’ils lisent, mot par mot, leur mémoire et leur compréhension du livre évoluent. Pour les lecteurs avisés, ils pourraient même prédire ce qui se passera ensuite en fonction de ce qui a précédé. Un RNN fonctionne de la même manière. Il lit mot par mot, met à jour sa mémoire (appelé état caché) et peut ensuite faire une prédiction (par exemple, le mot suivant dans la phrase ou le sentiment d'un texte). L’inconvénient est que l’état caché ne peut pas contenir beaucoup d’informations. Si vous insérez un livre entier dans un RNN, il ne se souviendra pas de beaucoup de détails sur les chapitres d'introduction car il n'y a qu'une quantité limitée d'espace dans son état caché. Les chapitres ultérieurs, du fait qu'ils ont été ajoutés plus récemment à l'état caché, ont la priorité.
Les transformateurs ne souffrent pas du même problème de mémoire. Ils comparent chaque mot avec tous les autres mots saisis (dans le cadre du mécanisme d'attention) afin de ne pas avoir besoin d'utiliser un état caché ou de « se souvenir » de ce qui s'est passé plus tôt. En utilisant la même analogie avec le livre, un transformateur est comme un humain lisant le mot suivant dans un livre, puis examinant chaque mot précédent du livre pour comprendre correctement le nouveau mot. Si la première phrase d'un livre contenait l'expression « Il est né en France » et que la dernière phrase d'un livre contenait l'expression « sa langue maternelle », le transformateur serait capable de déduire que sa langue maternelle est le français. Un RNN peut ne pas être en mesure de faire cela, car l'état caché n'est pas garanti de conserver ces informations. De plus, un RNN doit lire chaque mot un par un, puis mettre à jour son état caché. Un transformateur peut appliquer son attention en parallèle.
Transformateurs contre CNN
Les CNN utilisent le contexte environnant de chaque élément d'une séquence pour attribuer une signification. Pour un mot sur une page, les CNN examineraient les mots qui l'entourent immédiatement pour comprendre la signification du mot. Il ne serait pas capable de relier la dernière et la première page d’un livre. Les CNN sont principalement utilisés avec des images, car les pixels sont souvent bien plus liés à leurs voisins que les mots. Cela dit, les CNN peuvent également être utilisés pour la PNL.
Les transformateurs diffèrent des CNN dans le sens où ils ne s’intéressent pas seulement aux voisins immédiats d’un élément. Ils utilisent un mécanisme d'attention pour comparer chaque mot avec tous les autres mots contenus dans l'entrée, offrant ainsi une compréhension plus large et plus complète du contexte.
Comment fonctionnent les modèles de transformateurs ?
Les transformateurs ont des couches de blocs d'attention, de réseaux neuronaux à action directe (FNN) et d'intégrations. Le modèle prend en compte une entrée basée sur du texte et renvoie le texte de sortie. Pour ce faire, il suit ces étapes :
1 Tokenisation :transforme le texte en jetons (semblable à la décomposition d'une phrase en mots individuels).
2 Incorporation :convertit les jetons en vecteurs, en incorporant des intégrations positionnelles afin que le modèle comprenne l'emplacement du jeton dans l'entrée.
3 Mécanisme d'attention :traite les jetons en utilisant l'auto-attention (pour les jetons d'entrée) ou l'attention croisée (entre les jetons d'entrée et les jetons générés). Ce mécanisme permet au modèle de peser l'importance des différents jetons lors de la génération de sortie.
4 FNN :transmet le résultat via un FNN, ce qui permet au modèle de capturer des modèles complexes en introduisant de la non-linéarité.
5 Répétition :les étapes 3 à 4 sont répétées plusieurs fois sur plusieurs couches pour affiner le résultat.
6 Distribution de sortie :produit une distribution de probabilité sur tous les jetons possibles.
7 Sélection du jeton :choisit le jeton avec la probabilité la plus élevée.
Ce processus constitue un passage direct à travers le modèle de transformateur. Le modèle effectue cette opération à plusieurs reprises jusqu'à ce qu'il ait terminé son texte de sortie. Au sein de chaque passe, le processus d’intégration peut être effectué en parallèle, tout comme le mécanisme d’attention et l’étape de rétroaction. Essentiellement, le transformateur n'a pas besoin de traiter chaque jeton un par un. Il peut attirer l'attention sur tous les jetons en même temps.
Nous pouvons maintenant passer à la question précédente : comment le modèle sait-il à quels jetons s'occuper ? La réponse est simplement en examinant de nombreuses données d’entraînement. Au début, le modèle s’occupera des mauvais jetons et générera donc les mauvais résultats. En utilisant le résultat correct fourni avec les données d'entraînement, le mécanisme d'attention peut être modifié pour afficher la réponse correcte la prochaine fois. Sur des milliards (voire des milliards) d’exemples, le mécanisme d’attention peut sélectionner les bons jetons presque à tout moment.
Exemples de modèles de transformateurs
Les transformateurs sont partout. Bien qu’ils aient été initialement conçus pour la traduction, les transformateurs se sont bien adaptés à presque toutes les tâches linguistiques, visuelles et même audio.
Grands modèles de langage
L'architecture du transformateur alimente presque tous les grands modèles de langage (LLM) : GPT, Claude, Gemini, Llama et de nombreux modèles open source plus petits. Les LLM peuvent gérer diverses tâches de texte (et, de plus en plus, d'images et d'audio), telles que la réponse aux questions, la classification et la génération de forme libre.
Ceci est réalisé en entraînant le modèle de transformateur sur des milliards d'exemples de texte (généralement extraits d'Internet). Ensuite, les entreprises affinent le modèle sur des exemples de classification pour apprendre au modèle comment effectuer correctement la classification. En bref, le modèle acquiert une large base de connaissances et acquiert ensuite des compétences via un réglage fin.
Transformateurs de vision
Les transformateurs de vision sont des transformateurs standards adaptés pour travailler sur les images. La principale différence est que le processus de tokenisation doit fonctionner avec des images plutôt qu'avec du texte. Une fois l'entrée transformée en jetons, le calcul normal du transformateur a lieu, et enfin, les jetons de sortie sont utilisés pour classer l'image (par exemple, l'image d'un chat). Les transformateurs de vision sont souvent fusionnés avec des LLM de texte pour former des LLM multimodaux. Ces modèles multimodaux peuvent prendre en compte une image et la raisonner, par exemple en acceptant une esquisse d'interface utilisateur et en récupérant le code nécessaire à sa création.
Les CNN sont également populaires pour les tâches d'image, mais les transformateurs permettent au modèle d'utiliser tous les pixels de l'image au lieu des seuls pixels proches. À titre d'exemple, si une image contenait un panneau d'arrêt à l'extrême gauche et une voiture à l'extrême droite, le modèle pourrait déterminer que la voiture doit s'arrêter. Un CNN peut ne pas être en mesure de connecter ces deux points de données car ils sont éloignés l'un de l'autre dans l'image.
Transformateurs audio
Les transformateurs audio, comme les transformateurs de vision, sont des transformateurs standard dotés d'un schéma de tokenisation unique adapté aux données audio. Ces modèles peuvent traiter à la fois du texte et de l'audio brut en entrée, produisant soit du texte, soit de l'audio. Un exemple de ceci est Whisper, un modèle de synthèse vocale qui convertit l'audio brut en une transcription. Pour ce faire, il segmente l'audio en morceaux, transforme ces morceaux en spectrogrammes et code les spectrogrammes en intégrations. Ces intégrations sont ensuite traitées par le transformateur, qui génère les jetons de transcription finaux.
Au-delà des applications de synthèse vocale, les transformateurs audio ont divers autres cas d'utilisation, notamment la génération de musique, le sous-titrage automatique et la conversion vocale. De plus, les entreprises intègrent des transformateurs audio aux LLM pour permettre des interactions vocales, permettant aux utilisateurs de poser des questions et de recevoir des réponses via des commandes vocales.
Avantages des modèles de transformateur
Les transformateurs sont devenus omniprésents dans le domaine de l'apprentissage automatique en raison de leur évolutivité et de leurs performances exceptionnelles sur un large éventail de tâches. Leur succès est attribué à plusieurs facteurs clés :
Contexte long
Le mécanisme d'attention peut comparer tous les jetons de la séquence d'entrée les uns avec les autres. Ainsi, les informations tout au long de l’entrée seront mémorisées et utilisées pour générer la sortie. En revanche, les RNN oublient les informations plus anciennes et les CNN ne peuvent utiliser que les informations proches de chaque jeton. C'est pourquoi vous pouvez télécharger des centaines de pages sur un chatbot LLM, lui poser une question sur n'importe laquelle des pages et obtenir une réponse précise. Le manque de contexte long dans les RNN et les CNN est laprincipaleraison pour laquelle les transformateurs les battent dans les tâches.
Parallélisabilité
Le mécanisme d'attention dans les transformateurs peut être exécuté en parallèle sur tous les jetons de la séquence d'entrée. Cela contraste avec les RNN, qui traitent les jetons de manière séquentielle. En conséquence, les transformateurs peuvent être formés et déployés plus rapidement, offrant ainsi des réponses plus rapides aux utilisateurs. Cette capacité de traitement parallèle améliore considérablement l'efficacité des transformateurs par rapport aux RNN.
Évolutivité
Les chercheurs ont continuellement augmenté la taille des transformateurs et la quantité de données utilisées pour les former. Ils n’ont pas encore vu de limite à la capacité d’apprentissage des transformateurs. Plus le modèle de transformateur est grand, plus le texte qu'il peut comprendre et générer est complexe et nuancé (GPT-3 compte 175 milliards de paramètres tandis que GPT-4 en compte plus de 1 000 milliards). Il est remarquable que la mise à l’échelle des modèles de transformateurs, par exemple la création d’un modèle à 10 milliards de paramètres par rapport à un modèle à 1 milliard de paramètres, ne nécessite pas beaucoup plus de temps. Cette évolutivité fait des transformateurs des outils puissants pour diverses applications avancées.
Inconvénients des modèles de transformateur
L’inconvénient des modèles de transformateurs est qu’ils nécessitent beaucoup de ressources informatiques. Le mécanisme d'attention est quadratique : chaque jeton de l'entrée est comparé à tous les autres jetons. Deux jetons auraient 4 comparaisons, trois jetons en auraient 9, quatre jetons en auraient 16, et ainsi de suite. Essentiellement, le coût de calcul est le carré du nombre de jetons. Ce coût quadratique a quelques implications :
Matériel spécialisé
Les LLM ne peuvent pas être facilement exécutés sur un ordinateur moyen. En raison de leur taille, ils nécessitent souvent des dizaines de gigaoctets de RAM pour charger les paramètres du modèle. De plus, les processeurs traditionnels ne sont pas optimisés pour le calcul parallèle ; un GPU est requis à la place. Un LLM exécuté sur un processeur peut prendre quelques minutes pour générer un seul jeton. Malheureusement, les GPU ne sont pas exactement le matériel le moins cher ou le plus accessible.
Longueur d'entrée limitée
Les transformateurs disposent d'une quantité limitée de texte qu'ils peuvent traiter (appelée longueur de contexte). GPT-3 ne pouvait à l’origine traiter que 2 048 jetons. Les progrès dans la mise en œuvre de l'attention ont donné naissance à des modèles avec des longueurs de contexte allant jusqu'à 1 million de jetons. Néanmoins, des recherches approfondies sont nécessaires pour trouver chaque élément supplémentaire de longueur de contexte. En revanche, les RNN n’ont pas de longueur de contexte maximale. Leur précision diminue considérablement à mesure que l'entrée augmente, mais vous pouvez maintenant insérer une entrée de 2 millions de jetons dans une seule.
Coût énergétique
Les centres de données alimentant le calcul des transformateurs ont besoin d’énergie pour fonctionner et d’eau pour les refroidir. Selon une estimation, GPT-3 nécessitait 1 300 mégawattheures d’électricité pour s’entraîner : l’équivalent de l’alimentation en électricité de 130 foyers aux États-Unis pendant une année entière. À mesure que les modèles grandissent, la quantité d’énergie nécessaire augmente. D’ici 2027, l’industrie de l’IA pourrait avoir besoin d’autant d’électricité chaque année que les Pays-Bas. Des efforts importants sont déployés pour réduire les besoins en transformateurs d’énergie, mais ce problème n’a pas encore été résolu.