Le modèle dit transformer est une architecture de type réseau de neurones qui excelle dans le traitement des données séquentielles, principalement associé aux grands modèles de langage (LLM). Les modèles transformers affichent également un niveau de performance exceptionnel dans d’autres domaines de l’intelligence artificielle (IA) tels que la vision par ordinateur, la reconnaissance vocale et la prévision des séries temporelles.
L’architecture transformatrice a été décrite pour la première fois dans l’article fondateur « Attention is All You Need » publié en 2017 par Vaswani et d’autres auteurs, qui est désormais considéré comme un tournant dans le domaine de l’apprentissage profond.
Initialement présentés comme une évolution des modèles séquence à séquence basés sur les réseaux de neurones récurrents (RNN) employés pour la traduction automatique, les modèles basés sur les transformeurs ont depuis réalisé des avancées de pointe dans presque toutes les disciplines du machine learning (ML).
Malgré leur polyvalence, les modèles transformers sont principalement envisagés dans le contexte du traitement automatique du langage naturel (TAL), avec des cas d’utilisation tels que les chatbots, la génération de texte , la synthèse, les modèles de réponse aux questions et l’analyse des sentiments.
Introduit par Google en 2019, le modèle encodeur-décodeur BERT (ou Bidirectional Encoder Representations from Transformers) a marqué une étape importante dans le développement des transformeurs et reste la base de la plupart des applications modernes d’embedding de mots, des bases de données vectorielles modernes à la recherche Google.
En raison de leur capacité à comprendre la manière complexe dont chaque partie d’une séquence de données influence les autres et s’y rapporte, les modèles transformers permettent également un usage multimodal.
Par exemple, les vision transformers (ViT) s’avèrent souvent plus efficaces que les réseaux de neurones convolutifs (CNN) dans des domaines tels que la segmentation d’image, la détection d’objetss et les tâches connexes. L’architecture de type transformer alimente également de nombreux modèles de diffusion utilisés pour la génération d’images, le Text to Speech multimodal et les modèles vision-langage (VLM).
La fonctionnalité centrale des modèles transformers est leur mécanisme d’auto-attention, dont ils tirent leur incroyable capacité à détecter les relations (ou dépendances) entre les différentes partie d’une entrée. Contrairement aux architectures RNN et CNN qui l’ont précédée, l’architecture de type transformer utilise uniquement des couches d’attention et des couches de propagation standard.
Les avantages de l’auto-attention, et plus particulièrement de la technique d’attention multi-têtes utilisée par les modèles de transformeur pour la calculer, permettent aux transformeurs de surpasser les performances des RNN et des CNN, jusqu’alors à la pointe de la technologie.
Avant l’introduction des modèles transformers, la plupart des tâches TAL reposaient sur des réseaux de neurones. La façon dont les RNN traitent les données séquentielles est intrinsèquement sérielle : ils ingèrent les éléments d’une séquence d’entrée l’un après l’autre, dans un ordre donné.
Cela empêche les RNN de saisir les dépendances à longue portée, ce qui signifie qu’ils ne peuvent traiter efficacement que les séquences de texte courtes.
Si cette lacune a été quelque peu comblée par les réseaux à mémoire à long terme (LSTM), elle demeure l’un des principaux inconvénients liés aux RNN.
Les mécanismes d’attention, quant à eux, examinent simultanément les séquences dans leur intégralité et décident de la manière et du moment où il convient de se concentrer sur certaines étapes de chaque séquence.
En plus d’améliorer considérablement la capacité à comprendre les dépendances à longue portée, cette qualité des transformeurs permet également la parallélisation, qui consiste à réaliser plusieurs étapes de calcul simultanément, au lieu de les sérialiser.
Bien adaptés au parallélisme, les modèles transformers tirent pleinement parti de la puissance et de la vitesse des GPU lors de l’entraînement et de l’inférence. C’est ce qui permet d’entraîner les modèles transformers sur des jeux de données d’une ampleur sans précédent grâce à l’apprentissage autosupervisé.
Les transformeurs offrent également certains avantages par rapport aux réseaux de neurones, en particulier pour les données visuelles. Intrinsèquement locaux, les CNN utilisent des convolutions pour traiter successivement les sous-ensembles de données d’entrée.
Par conséquent, les CNN peinent à discerner les dépendances à longue portée, telles que les corrélations entre les mots (dans un texte) ou les pixels (dans une image) qui ne sont pas voisins. Les mécanismes d’attention n’ont pas cette limitation.
Comprendre le concept mathématique d’attention, et plus précisément d’auto-attention, est essentiel pour comprendre le succès des modèles transformers dans de si nombreux domaines. Les mécanismes d’attention sont essentiellement des algorithmes conçus pour déterminer les parties d’une séquence de données auxquelles le modèle d’IA doit « prêter attention » à un moment donné.
Envisagez un modèle de langage interprétant le texte anglais «
D’une manière générale, les couches d’attention des modèles transformers évaluent et utilisent le contexte associé à chaque partie d’une séquence de données en 4 étapes :
Avant l’entraînement, le modèle transformer ne « sait » pas encore comment générer des plongements vectoriels ni des scores d’alignement optimaux. Durant l’entraînement, le modèle fait des prédictions sur des millions d’exemples tirés de ses données d’entraînement, et une fonction de perte quantifie l’erreur de chaque prédiction.
Grâce à un cycle itératif qui consiste à faire des prédictions, puis à mettre à jour les pondérations par rétropropagation et descente de gradient, le modèle « apprend » à générer des plongements vectoriels, des scores d’alignement et des pondérations qui favorisent la précision des sorties.
Les modèles transformers tels que les bases de données relationnelles génèrent des vecteurs de requête, de clé et de valeur pour chaque partie d’une séquence de données, et les utilisent pour calculer les pondérations d’attention grâce à une série de multiplications matricielles.
Les bases de données relationnelles sont conçues pour simplifier le stockage et la récupération des données pertinentes : elles attribuent un identifiant unique (une « clé ») à chaque élément de donnée et chaque clé est associée à une valeur correspondante. L’article « Attention is All You Need » a appliqué ce cadre conceptuel au traitement des relations entre chaque token dans une séquence de texte.
La « base de données » d’un LLM est le vocabulaire des tokens qu’il a appris à partir des échantillons de texte présents dans ses données d’entraînement. Son mécanisme d’attention utilise les informations de cette « base de données » pour comprendre le contexte du langage.
Alors que les caractères (lettres, chiffres ou signes de ponctuation) sont l’unité de base que nous utilisons pour représenter le langage, la plus petite unité de langage utilisée par les modèles d’IA est le token. Chaque token se voit attribuer un numéro d’identification. C’est ce dernier (et non les mots, ni même le token lui-même) qui constitue la manière dont les LLM naviguent dans leur « base de données » de vocabulaire. Cette tokenisation du langage réduit considérablement la puissance de calcul nécessaire pour traiter le texte.
Pour générer des vecteurs de requête et de clé qui alimentent les couches d’attention du transformer, le modèle a besoin d’un plongement vectoriel initial sans contexte pour chaque token. Ces plongements vectoriels initiaux peuvent être appris lors de l’entraînement, ou provenir d’un modèle de plongement pré-entraîné.
L’ordre et la position des mots peuvent avoir un impact significatif sur leur signification. Alors que la nature sérielle des RNN préserve intrinsèquement les informations sur la position de chaque token, les modèles transformers doivent ajouter explicitement des informations positionnelles que le mécanisme d’attention doit prendre en compte.
Avec l’encodage positionnel, le modèle ajoute un vecteur de valeurs à l’embedding de chaque token, dérivé de sa position relative, avant que l’entrée n’entre dans le mécanisme d’attention. Plus deux tokens sont proches, plus leurs vecteurs de position seront similaires et, par conséquent, plus leur score d’alignement augmentera grâce à l’ajout d’informations de position. Le modèle apprend ainsi à accorder une plus grande attention aux tokens proches.
Une fois les informations positionnelles ajoutées, chaque plongement de token mis à jour est utilisé pour générer trois nouveaux vecteurs. Ces vecteurs de requête, de clé et de valeur sont générés en faisant passer les plongements du token par chacune des trois couches de réseaux de neurones à propagation avant parallèles qui précèdent la première couche d’attention. Chaque sous-ensemble parallèle de cette couche linéaire possède une matrice de pondérations unique, apprise par pré-entraînement auto-supervisé sur un jeu de données textuelles.
La fonction principale du mécanisme d’attention du transformeur est d’attribuer des poids d’attention précis aux paires formées par le vecteur de requête de chaque token et les vecteurs clés de tous les autres tokens de la séquence. Une fois cela réalisé, vous pouvez considérer chaque token comme ayant un vecteur de poids d’attention correspondant, dans lequel chaque élément de ce vecteur représente dans quelle mesure un autre token devrait l’influencer.
Fondamentalement, l’embedding vectoriel du token a été mise à jour pour mieux refléter le contexte fourni par les autres tokens de la séquence.
Afin de saisir les multiples facettes des relations entre les tokens, les modèles de transformeur implémentent une attention multi-tête à travers plusieurs blocs d’attention.
Avant d’être introduit dans la première couche de propagation, chaque embedding de token d’entrée d’origine est divisé en h sous-ensembles de taille égale. Chaque élément de l’embedding est introduit dans l’une des h matrices parallèles des poids Q, K et V , chacune étant respectivement appelée tête de requête, tête de clé ou tête de valeur. Les vecteurs produits par chacun de ces triplets parallèles de têtes de requête, clé et valeur sont ensuite introduits dans un sous-ensemble correspondant de la couche d’attention suivante, appelé tête d’attention.
Dans les couches finales de chaque bloc d’attention, les productions de ces h circuits parallèles sont finalement concaténées ensemble avant d’être envoyées à la prochaine couche de propagation. En pratique, l’entraînement des modèles permet à chaque circuit d’apprendre des poids différents qui capturent un aspect distinct des significations sémantiques.
Dans certaines situations, la transmission de la sortie d’embedding mise à jour en fonction du contexte par le bloc d’attention peut entraîner une perte inacceptable d’informations par rapport à la séquence d’origine.
Pour y remédier, les modèles transformers équilibrent généralement informations contextuelles fournies par le mécanisme d’attention et signification initiale du token. Une fois les sous-ensembles de l’embedding du token concaténés, le vecteur mis à jour est ajouté à l’embedding vectoriel d’origine (codé par position) du token. L’embedding d’origine du token est fourni par le biais d’une connexion résiduelle entre cette couche et une couche antérieure du réseau.
Le vecteur ainsi obtenu est introduit dans une autre couche de propagation linéaire, où il est normalisé à nouveau pour atteindre une taille constante avant d’être transmis au bloc d’attention suivant. Ensemble, ces mesures permettent de préserver la stabilité lors de l’entraînement et d’éviter que le sens du texte ne soit perdu au fur et à mesure que les données se déplacent au sein du réseau de neurones.
Le modèle finit par disposer de suffisamment d’informations contextuelles pour informer ses sorties. La nature et la fonction de la couche de sortie dépendront de la tâche pour laquelle le modèle transformer a été conçu.
Dans les LLM autorégressifs, la couche finale utilise une fonction softmax pour déterminer la probabilité que le mot suivant corresponde à chaque token de sa « base de données » de vocabulaire. En fonction des hyperparamètres d’échantillonnage définis, le modèle utilise ces probabilités pour déterminer le prochain token de la séquence de sortie.
Les modèles transformers sont le plus souvent associés au TAL, car développés à l’origine à des fins de machine learning. L’architecture de type transformer a notamment donné naissance aux grands modèles de langage (LLM), qui ont accéléré l’avènement de l’IA générative.
La plupart des LLM connus du grand public, des modèles à source fermée, tels que la série GPT d’OpenAI et les modèles Claude d’Anthropic, aux modèles open source comme Meta Llama et IBM Granite, sont des LLM autorégressifs à décodeur uniquement.
Les LLM autorégressifs sont conçus pour la génération de texte, qui s’étend naturellement à des tâches connexes telles que la synthèse et la réponse à des questions. Ils sont entraînés par apprentissage auto-supervisé, dans lequel le modèle reçoit le premier mot d’un passage de texte et doit prédire de manière itérative le mot suivant jusqu’à la fin de la séquence.
Grâce aux informations fournies par le mécanisme d’auto-attention, le modèle est capable d’extraire le contexte de la séquence d’entrée et de maintenir la cohérence et la continuité de sa sortie.
Les modèles de langage masqué encodeur-décodeur (MLM), tels que BERT et ses nombreux dérivés, représentent l’autre branche principale de l’évolution des LLM basés sur les transformeurs. Lors de l’entraînement, un MLM reçoit un échantillon de texte dont certains tokens sont masqués (cachés) et doit compléter les informations manquantes.
Bien que cette méthode d’entraînement soit moins efficace pour la génération de texte, elle aide les MLM à exceller dans les tâches nécessitant des informations contextuelles fiables, telles que la traduction, la classification de texte et l’apprentissage des embeddings.
Bien que les modèles de transformeur aient été initialement conçus pour des cas d’utilisation liés au langage naturel, auxquels ils restent principalement associés, ils peuvent être déployés dans presque toutes les situations impliquant des données séquentielles. Cela a conduit au développement de modèles basés sur les transformeurs dans d’autres domaines, allant du réglage fin des LLM dans des systèmes multimodaux aux modèles de prévision de séries temporelles dédiés et aux transformeurs de vision (ViT) pour la vision par ordinateur.
Certaines modalités de données se prêtent plus naturellement à une représentation séquentielle compatible avec les transformeurs que d’autres. Les séries temporelles, les données audio et vidéo sont intrinsèquement séquentielles, contrairement aux données image. Malgré cela, les ViT et autres modèles basés sur l’attention ont obtenu des résultats hors pair pour de nombreuses tâches de vision par ordinateur, notamment la légende d’images, la détection d’objets, la segmentation d’images et la réponse à des questions visuelles.
L’utilisation de modèles de transformeurs pour des données qui ne sont pas traditionnellement considérées comme « séquentielles » exige une solution conceptuelle pour représenter ces données sous forme de séquence. Par exemple, pour comprendre les données visuelles à l’aide de mécanismes d’attention, les ViT ont recours à des embeddings de patchs afin de rendre les données d’images interprétables sous forme de séquences.
Entraînez, validez, réglez et déployez une IA générative, des modèles de fondation et des capacités de machine learning avec IBM watsonx.ai, un studio d’entreprise nouvelle génération pour les générateurs d’IA. Créez des applications d’IA en peu de temps et avec moins de données.
Mettez l’IA au service de votre entreprise en vous appuyant sur l’expertise de pointe d’IBM dans le domaine de l’IA et sur son portefeuille de solutions.
Réinventez les workflows et les opérations critiques en ajoutant l’IA pour optimiser les expériences, la prise de décision et la valeur métier en temps réel.
1 Google’s BERT Rolls Out Worldwide (lien externe à ibm.com), Search Engine Journal, 9 décembre 2019