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.

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.

En savoir plus

Sujets connexes

Deep learning

En savoir plus

Modèles ML

En savoir plus

Calcul haute performance pour l’IA

En savoir plus