Modèle de transformateur
Qu’est-ce qu’un modèle de transformateur ?

Un modèle de transformateur est un type d’architecture de réseau neuronal conçu pour gérer des données séquentielles, telles que du texte, mais il peut également être appliqué à d’autres types de données. Contrairement aux modèles précédents comme les RNN, les transformateurs peuvent traiter des séquences entières simultanément, ce qui les rend plus rapides et plus efficaces. Dans le domaine de l’IA générative, les transformateurs ont révolutionné des tâches telles que la génération, la traduction et le résumé de texte.

Portrait d’un homme souriant portant des lunettes travaillant en tant que programmeur informatique, en train d’utiliser des ordinateurs sur son lieu de travail au bureau.
  • Transformateurs et RNN
  • Comment fonctionnent les modèles de transformateurs ?
  • Comment fonctionnent les modèles de transformateurs ? – partie 2
  • Les atouts d’un partenariat avec HPE
Transformateurs et RNN

Quelle est la différence entre les transformateurs et les RNN ?

Les principales différences entre les transformateurs et les réseaux neuronaux récurrents (RNN) résident dans leurs architectures, leurs mécanismes de traitement des données et leur efficacité dans la gestion des dépendances à longue portée dans les données séquentielles.

1. Traitement séquentiel et traitement parallèle

RNN : traitent les séquences d’entrée l’une après l’autre en utilisant la sortie de l’étape précédente pour informer la suivante. De fait, ils sont intrinsèquement séquentiels et ne peuvent pas facilement paralléliser les calculs.

Transformateurs : utilisent un mécanisme appelé auto-attention, qui leur permet de visualiser l’intégralité d’une séquence en une seule fois. Ils peuvent ainsi traiter différentes parties d’une séquence en parallèle, réduisant considérablement les temps de formation, et notamment ceux des séquences longues.

2. Gestion des dépendances à long terme

RNN : luttent contre les dépendances à longue portée liées au problème de disparition/d’explosion du gradient. Les informations issues du début de la séquence peuvent s’estomper à mesure qu’elles se propagent dans le temps, ce qui complique la tâche des RNN devant conserver un contexte important sur de longues séquences.

Transformateurs : utilisent l’auto-attention pour calculer simultanément les relations entre tous les mots de la séquence, ce qui leur permet de modéliser plus efficacement les dépendances à longue portée. Le mécanisme d’attention relie directement les mots distants sans nécessiter de traitement étape par étape.

3. Architecture

RNN : l’architecture est récurrente, ce qui signifie que le réseau utilise des boucles qui maintiennent un «∘état caché∘» contenant des informations provenant d’étapes temporelles précédentes. Des variantes telles que les LSTM (Long Short-Term Memory) et les GRU (Gated Recurrent Units) ont été développées pour atténuer les problèmes liés aux RNN traditionnels, mais la nature séquentielle demeure.

Transformateurs : sont constitués de couches de réseaux neuronaux d'auto-attention et à propagation avant (feedforward ou FFN) à têtes multiples, sans structure récurrente. Il n’existe aucun concept d’état caché transmis d’une étape temporelle à l’autre, car le mécanisme d’auto-attention permet des connexions directes entre deux positions quelconques de la séquence.

4. Efficacité de la formation

RNN : dans la mesure où les RNN traitent les données de manière séquentielle, ils sont généralement plus lents à former. La parallélisation est difficile, car chaque étape temporelle dépend de la précédente.

Transformateurs : grâce à leurs fonctionnalités de traitement parallèle, les transformateurs peuvent être formés plus efficacement, en particulier sur du matériel moderne comme les GPU et les TPU. Ils peuvent gérer de grands jeux de données et de longues séquences avec une plus grande efficacité de calcul.

5. Mémoire et complexité informatique

RNN : ont des moindres besoins en mémoire car ils traitent une étape temporelle à la fois. Leur nature séquentielle limite toutefois leur capacité à gérer efficacement des séquences très longues.

Transformateurs : nécessitent beaucoup plus de mémoire, en particulier pendant la formation, car ils stockent des poids d’attention entre toutes les paires de jetons. Leur complexité de calcul augmente de manière quadratique avec la longueur de la séquence en raison du mécanisme d’attention.

6. Cas d’utilisation

RNN : étaient traditionnellement utilisés pour des tâches telles que la reconnaissance vocale, la modélisation du langage et la prévision de séries chronologiques. Les LSTM et les GRU étaient couramment utilisés pour des tâches nécessitant la mémorisation de longues séquences.

Transformateurs : dominants dans des tâches telles que le traitement du langage naturel (NLP), la traduction automatique, la génération de texte et bien d’autres tâches. Des modèles tels que BERT, GPT et T5 sont tous basés sur l’architecture du transformateur, qui a établi de nouvelles références de performances dans un large éventail de tâches NLP.

Comment fonctionnent les modèles de transformateurs ?
Comment fonctionnent les schémas des modèles de transformateurs.
Comment fonctionnent les schémas des modèles de transformateurs.
CLIQUEZ SUR L’IMAGE POUR ZOOMER

Comment fonctionnent les modèles de transformateurs ?

Les transformateurs fonctionnent en utilisant une combinaison de mécanismes d’auto-attention, de codage positionnel et de réseaux à propagation avant. L’architecture leur permet de traiter efficacement des données séquentielles et de capturer des dépendances à longue portée entre différentes parties de l’entrée. Vous trouverez ci-dessous une description détaillée du fonctionnement des transformateurs :

1. Incorporation d’entrée et codage positionnel

Incorporations d’entrée : dans les transformateurs, l’entrée (comme une séquence de mots dans une phrase) est d’abord convertie en incorporations, qui sont des vecteurs denses de taille fixe. Ces intégrations représentent la signification sémantique des jetons (mots ou sous-mots).

Codage positionnel : étant donné que l’architecture du transformateur ne dispose pas d’un mécanisme intégré pour capturer l’ordre de la séquence (contrairement aux RNN), des codages positionnels sont ajoutés aux intégrations d’entrée. Ces codages injectent des informations sur la position de chaque jeton dans la séquence. Il s’agit souvent de fonctions sinusoïdales ou d’intégrations apprises qui varient selon les positions.

Cela permet au modèle de comprendre les positions relatives et absolues des jetons.

2. Mécanisme d’auto-attention

Le mécanisme d’auto-attention est le composant principal des transformateurs. Il permet au modèle d’évaluer l’importance de chaque jeton par rapport à chaque autre dans la séquence d’entrée. Pour chaque jeton, l’auto-attention détermine à quels autres jetons elle doit prêter attention.

Comment fonctionnent les modèles de transformateurs ? – partie 2
Comment fonctionnent les modèles de transformateurs – 2nd schéma.
Comment fonctionnent les modèles de transformateurs – 2nd schéma.
CLIQUEZ SUR L’IMAGE POUR ZOOMER

Comment fonctionnent les modèles de transformateurs ?

Comment fonctionne l’auto-attention :

1. Transformation d’entrée : pour chaque jeton dans la séquence d’entrée, le modèle calcule trois vecteurs : Requête (Q), Clé (K) et Valeur (V), tous dérivés des incorporations de jetons. Ces vecteurs sont appris grâce à des transformations linéaires.

  • Requête (Q) : détermine le degré d’attention à accorder aux autres jetons.
  • Clé (K) : représente le contenu des autres jetons sur lesquels se concentrer.
  • Valeur (V) : contient les informations à extraire ou à transmettre via le mécanisme d’attention.

2. Scores d’attention : les scores d’attention entre les jetons sont calculés comme le produit scalaire entre la requête d’un jeton et la clé d’un autre. Cela mesure le degré de pertinence ou d’«∘attention∘» qu’un jeton devrait avoir envers un autre.

Les scores sont mis à l’échelle par la racine carrée de la dimension du vecteur clé dkd_kdk pour stabiliser les gradients.

3. Somme pondérée : les scores d’attention sont transmis via une fonction softmax, les transformant en probabilités dont la somme est égale à 1. Ces scores sont utilisés pour pondérer les vecteurs de valeur, produisant une somme pondérée qui reflète l’importance de chaque jeton par rapport aux autres.

Attention à têtes multiples :

Au lieu d’utiliser un seul mécanisme d’auto-attention, le transformateur utilise une attention à têtes multiples. Plusieurs ensembles de vecteurs de requête, de clé et de valeur sont créés (chaque ensemble étant une «∘tête∘» d’attention), et chaque tête s’occupe de différents aspects de l’entrée. Les résultats de toutes les têtes d’attention sont concaténés et transmis via une couche linéaire.

Ceci permet au modèle de capturer simultanément différents types de relations entre les jetons.

3. Réseaux neuronaux à propagation avant

Après le mécanisme d’auto-attention, chaque représentation de jeton est transmise via un réseau neuronal à propagation avant. Il s’agit généralement d’un réseau neuronal à deux couches avec une fonction d’activation ReLU. Le FFN est appliqué indépendamment à chaque position et le même ensemble de pondérations est partagé entre toutes les positions.

arduino

Copier le code

\[

\text{FFN}(x) = \text{ReLU}(xW_1 + b_1)W_2 + b_2

\]

Le FFN permet une transformation supplémentaire des représentations de jetons et introduit la non-linéarité, améliorant ainsi l’expressivité du modèle.

4. Connexions résiduelles et normalisation des couches

Pour stabiliser la formation et faciliter le flux de gradient, des connexions résiduelles (également appelées connexions directes ou « skip ») sont utilisées autour des couches d’auto-attention et à propagation avant. Cela signifie que l’entrée de chaque sous-couche est ajoutée à la sortie de cette sous-couche avant d’être transmise à la suivante.

Chaque connexion résiduelle est suivie d’une normalisation de couche, qui normalise la sortie pour réduire le décalage de covariable interne et améliorer la stabilité de la formation.

5. Architecture de l’encodeur et du décodeur

L’architecture originale du transformateur comporte deux composants principaux : l’encodeur et le décodeur. Cependant, certains modèles, comme BERT, n’utilisent que l’encodeur, tandis que d’autres, comme GPT, n’utilisent que le décodeur.

Encodeur :

L’encodeur est composé de plusieurs couches identiques (généralement 6 à 12). Chaque couche comporte deux composants principaux :

  • Auto-attention à têtes multiples
  • Réseau neuronal à propagation avant

L’encodeur reçoit la séquence d’entrée et la traite à travers chaque couche, générant une sortie qui encode les jetons d’entrée avec le contexte des autres jetons de la séquence.

Décodeur :

Le décodeur est également constitué de plusieurs couches identiques, avec un mécanisme supplémentaire :

Auto-attention masquée à têtes multiples : empêche les jetons de prêter attention aux futurs jetons de la séquence (important dans les tâches autorégressives comme la génération de texte).

Le décodeur comprend également des couches d’attention croisée qui prennent la sortie de l’encodeur comme entrée supplémentaire pour guider le processus de génération.

6. Sortie (pour les modèles de langage)

Pour des tâches telles que la modélisation du langage ou la traduction automatique, le décodeur produit une séquence de sortie jeton par jeton. Dans la couche finale, la sortie du décodeur est transmise via une fonction softmax pour générer des probabilités sur le vocabulaire, permettant au modèle de prédire le prochain jeton ou de générer des traductions.

7. Objectifs de la formation

Modélisation du langage masqué (MLM) : utilisée dans des modèles comme BERT, où des jetons aléatoires dans la séquence d’entrée sont masqués et le modèle est formé pour les prédire.

Modélisation du langage causal (CLM) : utilisée dans des modèles comme GPT, où le modèle prédit le prochain jeton de la séquence en fonction des jetons précédents.

Objectifs de Seq2Seq : utilisée dans des tâches telles que la traduction automatique, où le modèle apprend à mapper des séquences d’entrée à des séquences de sortie (p. ex., traduire une phrase de l’anglais vers le français).

Les atouts d’un partenariat avec HPE

Les atouts d’un partenariat avec HPE

HPE fournit des produits et des services pour aider à la fois à la création, à la mise en œuvre et à l’exécution d’un modèle multimodal.

HPE Cray XD670

Accélérez les performances de l’IA grâce au système HPE Cray XD670. Découvrez les possibilités que le HPC peut offrir à votre entreprise en matière d’entraînement de modèles LLM, NLP ou multimodaux.

HPE Generative AI Implementation Services

HPE Machine Learning Development Software

Quelle est la différence entre les transformateurs et les RNN ?

Fonctionnalité
RNN (y compris LSTM, GRU)
Transformateurs

Méthode de traitement

Séquentiel

Parallèle

Gestion de séquences longues

Lutte contre les dépendances à longue portée

Excelle grâce à l’auto-attention

Architecture

États récurrents et cachés

Auto-attention à têtes multiples

Efficacité de la formation

Lents, plus difficiles à paralléliser

Plus rapides, hautement parallélisables

Efficacité de la mémoire

Besoins en mémoire réduits

Utilisation excessive de la mémoire

Applications courantes

Séries chronologiques, premières tâches de NLP

NLP, traduction, génération de texte, etc.

Résumé des composants du transformateur :

Composant
Description

Incorporations d’entrée

Convertit les jetons en vecteurs de taille fixe.

Codage positionnel

Ajoute des informations sur les positions des jetons dans la séquence.

Auto-attention

Calcule les scores d’attention entre tous les jetons pour capturer les dépendances.

Attention à têtes multiples

Utilise plusieurs têtes d’attention pour capturer différentes relations

Réseau neuronal à propagation avant

Applique des transformations non linéaires aux représentations de jetons.

Connexions résiduelles

Aide à stabiliser la formation et améliore le flux de gradient.

Encodeur

Traite la séquence d’entrée et génère des représentations contextuelles.

Différents types de transformateurs :

Quels sont les différents types de transformateurs ?

Ces modèles de transformateurs sont largement introduits dans tous les secteurs d’activité, dans le cadre des applications commerciales, et notamment le service client, la génération de contenu, la traduction, les assistants virtuels, les systèmes de recommandation, etc.

Type de modèle
Modèles remarquables
Caractéristiques clés

Applications

Fondé sur un encodeur

BERT, RoBERTa, XLNet, ELECTRA

Axé sur la compréhension de texte (classification, NER, etc.)

Tâches de NLP nécessitant une compréhension de texte

Fondé sur un décodeur

GPT (1, 2, 3, 4), CTRL, OPT

Optimisé pour des tâches génératives (génération de texte, dialogue)

Génération de texte, IA conversationnelle

Encodeur-Décodeur

T5, BART, mT5, Pegasus

Combine compréhension et génération (traduction automatique, résumé)

Résumé, traduction, réponses à des questions

Multimodal

CLIP, DALL·E, FLAVA

Gère plusieurs types de données (texte + image)

Génération d’images, tâches visuelles et textuelles

HPE Machine Learning Development Environment Software

Donnez à vos équipes du monde entier les moyens de développer, d’entraîner et d’optimiser des modèles d’IA de manière sécurisée et efficace.

Sujets connexes

Deep learning

Calcul haute performance pour l’IA