Modèles et plateformes d’IA
L’essor du NLP avec les modèles de transformateurs | Une analyse complète de T5, BERT et GPT
Le traitement automatique du langage naturel (NLP) a connu certaines des avancées les plus marquantes ces dernières années, principalement grâce à l’architecture de transformateur. Ces avancées n’ont pas seulement amélioré les capacités des machines à comprendre et générer le langage humain, mais ont également redéfini le paysage de nombreuses applications, des moteurs de recherche à l’IA conversationnelle.
Pour pleinement apprécier l’importance des transformateurs, nous devons d’abord regarder les prédécesseurs et les éléments de base qui ont posé les fondements de cette architecture révolutionnaire.
Les techniques NLP précoces : Les fondements avant les transformateurs
Les embeddings de mots : De One-Hot à Word2Vec
Dans les approches NLP traditionnelles, la représentation des mots était souvent littérale et ne possédait aucune forme de compréhension sémantique ou syntaxique. Le codage one-hot est un exemple de cette limitation.
Le codage one-hot est un processus par lequel les variables catégorielles sont converties en une représentation vectorielle binaire où seul un bit est “chaud” (défini sur 1) tandis que les autres sont “froids” (définis sur 0). Dans le contexte du NLP, chaque mot d’un vocabulaire est représenté par des vecteurs one-hot où chaque vecteur est de la taille du vocabulaire, et chaque mot est représenté par un vecteur avec tous les 0 et un 1 à l’index correspondant à ce mot dans la liste du vocabulaire.
Exemple de codage one-hot
Supposons que nous ayons un vocabulaire minuscule avec seulement cinq mots : [“king”, “queen”, “man”, “woman”, “child”]. Les vecteurs de codage one-hot pour chaque mot ressembleraient à ceci :
- “king” -> [1, 0, 0, 0, 0]
- “queen” -> [0, 1, 0, 0, 0]
- “man” -> [0, 0, 1, 0, 0]
- “woman” -> [0, 0, 0, 1, 0]
- “child” -> [0, 0, 0, 0, 1]
Représentation mathématique
Si nous désignons comme la taille de notre vocabulaire et comme la représentation vectorielle one-hot du i-ème mot du vocabulaire, la représentation mathématique de serait :
où la i-ème position est 1 et toutes les autres positions sont 0.
Le principal inconvénient du codage one-hot est qu’il traite chaque mot comme une entité isolée, sans relation avec les autres mots. Cela donne des vecteurs creux et de haute dimension qui ne capturent aucune information sémantique ou syntaxique sur les mots.
L’introduction des embeddings de mots, notamment Word2Vec, a été un moment charnière dans le NLP. Développé par une équipe de Google (GOOGL ) dirigée par Tomas Mikolov en 2013, Word2Vec a représenté les mots dans un espace vectoriel dense, capturant les relations syntaxiques et sémantiques entre les mots en fonction de leur contexte dans de grands corpus de texte.
Contrairement au codage one-hot, Word2Vec produit des vecteurs denses, généralement avec des centaines de dimensions. Les mots qui apparaissent dans des contextes similaires, tels que “king” et “queen”, auront des représentations vectorielles qui sont plus proches l’une de l’autre dans l’espace vectoriel.
Pour l’illustration, supposons que nous ayons formé un modèle Word2Vec et représentons maintenant les mots dans un espace hypothétique à trois dimensions. Les embeddings (qui sont généralement plus de 3D mais réduits ici pour la simplicité) pourraient ressembler à ceci :
- “king” -> [0,2, 0,1, 0,9]
- “queen” -> [0,21, 0,13, 0,85]
- “man” -> [0,4, 0,3, 0,2]
- “woman” -> [0,41, 0,33, 0,27]
- “child” -> [0,5, 0,5, 0,1]
Ces nombres sont fictifs, mais ils illustrent comment les mots similaires ont des vecteurs similaires.
Représentation mathématique
Si nous représentons l’embedding Word2Vec d’un mot comme , et que notre espace d’embedding a dimensions, alors peut être représenté comme :
Relations sémantiques
Word2Vec peut même capturer des relations complexes, telles que des analogies. Par exemple, la relation célèbre capturée par les embeddings Word2Vec est :
vector(“king”) – vector(“man”) + vector(“woman”)≈vector(“queen”)
Ceci est possible car Word2Vec ajuste les vecteurs de mots pendant l’entraînement de sorte que les mots qui partagent des contextes communs dans le corpus soient positionnés près les uns des autres dans l’espace vectoriel.
Word2Vec utilise deux architectures principales pour produire une représentation distribuée des mots : Continuous Bag-of-Words (CBOW) et Skip-Gram. CBOW prédit un mot cible à partir de ses mots de contexte, tandis que Skip-Gram fait le contraire, en prédissant les mots de contexte à partir d’un mot cible. Cela a permis aux machines de commencer à comprendre l’utilisation et la signification des mots de manière plus nuancée.
Modélisation de séquences : RNN et LSTM
À mesure que le domaine progressait, l’attention s’est portée sur la compréhension des séquences de texte, essentielle pour des tâches comme la traduction automatique, la synthèse de texte et l’analyse de sentiments. Les réseaux de neurones récurrents (RNN) sont devenus la pierre angulaire de ces applications en raison de leur capacité à gérer des données séquentielles en conservant une forme de mémoire.
Cependant, les RNN n’étaient pas sans limites. Ils ont lutté avec les dépendances à long terme en raison du problème de gradient disparaissant, où l’information se perd sur de longues séquences, rendant difficile l’apprentissage de corrélations entre événements éloignés.
Les réseaux de neurones à mémoire à court terme et à long terme (LSTM), introduits par Sepp Hochreiter et Jürgen Schmidhuber en 1997, ont abordé ce problème avec une architecture plus sophistiquée. Les LSTM ont des portes qui contrôlent le flux d’informations : la porte d’entrée, la porte d’oubli et la porte de sortie. Ces portes déterminent quelles informations sont stockées, mises à jour ou supprimées, permettant au réseau de préserver les dépendances à long terme et d’améliorer considérablement les performances sur une large gamme de tâches NLP.
L’architecture de transformateur
Le paysage du NLP a subi une transformation dramatique avec l’introduction du modèle de transformateur dans l’article fondateur “Attention is All You Need” de Vaswani et al. en 2017. L’architecture de transformateur s’écarte du traitement séquentiel des RNN et LSTM et utilise plutôt un mécanisme appelé “auto-attention” pour peser l’influence des différentes parties des données d’entrée.
L’idée principale du transformateur est qu’il peut traiter toutes les données d’entrée à la fois, plutôt que séquentiellement. Cela permet une plus grande parallélisation et, par conséquent, des augmentations significatives de la vitesse d’entraînement. Le mécanisme d’auto-attention permet au modèle de se concentrer sur différentes parties du texte lorsqu’il le traite, ce qui est essentiel pour comprendre le contexte et les relations entre les mots, quelle que soit leur position dans le texte.
Encodeur et décodeur dans les transformateurs :
Dans le modèle de transformateur original, tel que décrit dans l’article “Attention is All You Need” de Vaswani et al., l’architecture est divisée en deux parties principales : l’encodeur et le décodeur. Les deux parties sont composées de couches qui ont la même structure générale mais servent à des fins différentes.
Encodeur :
- Rôle : Le rôle de l’encodeur est de traiter les données d’entrée et de créer une représentation qui capture les relations entre les éléments (comme les mots dans une phrase). Cette partie du transformateur ne génère pas de nouveau contenu ; elle transforme simplement l’entrée en un état que le décodeur peut utiliser.
- Fonctionnalité : Chaque couche d’encodeur comporte des mécanismes d’auto-attention et des réseaux de neurones à propagation avant. Le mécanisme d’auto-attention permet à chaque position dans l’encodeur d’attendre à toutes les positions de la couche précédente de l’encodeur — il peut donc apprendre le contexte autour de chaque mot.
- Embeddings contextuels : La sortie de l’encodeur est une série de vecteurs qui représentent la séquence d’entrée dans un espace à haute dimension. Ces vecteurs sont souvent appelés embeddings contextuels car ils codent non seulement les mots individuels mais également leur contexte dans la phrase.
Décodeur :
- Rôle : Le rôle du décodeur est de générer des données de sortie séquentiellement, une partie à la fois, en fonction des données d’entrée qu’il reçoit de l’encodeur et de ce qu’il a généré jusqu’à présent. Il est conçu pour des tâches comme la génération de texte, où l’ordre de génération est crucial.
- Fonctionnalité : Les couches de décodeur contiennent également des mécanismes d’auto-attention, mais ils sont masqués pour empêcher les positions d’attendre à des positions suivantes. Cela garantit que la prédiction pour une position particulière ne peut dépendre que des sorties connues à des positions précédentes. De plus, les couches de décodeur incluent un second mécanisme d’attention qui se concentre sur la sortie de l’encodeur, en intégrant le contexte de l’entrée dans le processus de génération.
- Capacités de génération séquentielle : Cela fait référence à la capacité du décodeur à générer une séquence une partie à la fois, en s’appuyant sur ce qu’il a déjà produit. Par exemple, lors de la génération de texte, le décodeur prédit le mot suivant en fonction du contexte fourni par l’encodeur et de la séquence de mots qu’il a déjà générée.
Chacune de ces sous-couches dans l’encodeur et le décodeur est cruciale pour la capacité du modèle à gérer des tâches NLP complexes. Le mécanisme d’auto-attention à plusieurs têtes permet au modèle de se concentrer sélectivement sur différentes parties de la séquence, fournissant une compréhension riche du contexte.
Modèles populaires utilisant les transformateurs
Après le succès initial du modèle de transformateur, il y a eu une explosion de nouveaux modèles construits sur son architecture, chacun avec ses propres innovations et optimisations pour différentes tâches ;
BERT (Représentations d’encodeur bidirectionnelles à partir de transformateurs) : Introduit par Google en 2018, BERT a révolutionné la façon dont les informations contextuelles sont intégrées dans les représentations de langage. En pré-entraînant sur un grand corpus de texte avec un modèle de langage masqué et une prédiction de phrase suivante, BERT capture des contextes bidirectionnels riches et a atteint des résultats de pointe sur une large gamme de tâches NLP.
T5 (Transformateur de transfert de texte à texte) : Introduit par Google en 2020, T5 reformule toutes les tâches NLP comme un problème de texte à texte, en utilisant un format textuel unifié. Cette approche simplifie le processus d’application du modèle à une variété de tâches, notamment la traduction, la synthèse et la réponse aux questions.
GPT (Transformateur de pré-entraînement génératif) : Développé par OpenAI, la ligne de modèles GPT a commencé avec GPT-1 et a atteint GPT-4 en 2023. Ces modèles sont pré-entraînés en utilisant un apprentissage non supervisé sur de vastes quantités de données textuelles et affinés pour diverses tâches. Leur capacité à générer du texte cohérent et contextuellement pertinent les a rendus très influents dans les applications académiques et commerciales d’IA.
Voici une comparaison plus approfondie des modèles T5, BERT et GPT sur diverses dimensions :
1. Tokenisation et vocabulaire
- BERT : Utilise la tokenisation WordPiece avec une taille de vocabulaire d’environ 30 000 jetons.
- GPT : Emploie le codage par paires de bytes (BPE) avec une grande taille de vocabulaire (par exemple, GPT-3 a une taille de vocabulaire de 175 000).
- T5 : Utilise la tokenisation SentencePiece qui traite le texte comme brut et ne nécessite pas de mots présegmentés.
2. Objectifs de pré-entraînement
- BERT : Modèle de langage masqué (MLM) et prédiction de phrase suivante (NSP).
- GPT : Modèle de langage causal (CLM), où chaque jeton prédit le jeton suivant dans la séquence.
- T5 : Utilise un objectif de débruitage où des spans de texte aléatoires sont remplacés par un jeton sentinel et le modèle apprend à reconstruire le texte original.
3. Représentation d’entrée
- BERT : Les embeddings de jeton, de segment et de position sont combinés pour représenter l’entrée.
- GPT : Les embeddings de jeton et de position sont combinés (pas d’embeddings de segment car il n’est pas conçu pour les tâches de paire de phrases).
- T5 : Seuls les embeddings de jeton avec des codages de position relatifs ajoutés pendant les opérations d’attention.
4. Mécanisme d’attention
- BERT : Utilise des codages de position absolus et permet à chaque jeton d’attendre à tous les jetons à gauche et à droite (attention bidirectionnelle).
- GPT : Utilise également des codages de position absolus mais restreint l’attention aux jetons précédents uniquement (attention unidirectionnelle).
- T5 : Met en œuvre une variante du transformateur qui utilise des biais de position relatifs au lieu des embeddings de position.
5. Architecture de modèle
- BERT : Architecture d’encodeur uniquement avec plusieurs couches de blocs de transformateur.
- GPT : Architecture de décodeur uniquement, également avec plusieurs couches mais conçue pour les tâches génératives.
- T5 : Architecture encodeur-décodeur, où à la fois l’encodeur et le décodeur sont composés de couches de transformateur.
6. Approche d’affinage
- BERT : Adapte les états cachés finals du modèle pré-entraîné pour les tâches en aval avec des couches de sortie supplémentaires si nécessaire.
- GPT : Ajoute une couche linéaire sur le transformateur et affine sur la tâche en aval en utilisant le même objectif de modèle de langage causal.
- T5 : Convertit toutes les tâches en un format texte-à-texte, où le modèle est affiné pour générer la séquence cible à partir de la séquence d’entrée.
7. Données d’entraînement et échelle
- BERT : Entraîné sur BooksCorpus et Wikipedia en anglais.
- GPT : GPT-2 et GPT-3 ont été entraînés sur des jeux de données diversifiés extraits d’Internet, GPT-3 étant entraîné sur un corpus encore plus vaste appelé Common Crawl.
- T5 : Entraîné sur le « Colossal Clean Crawled Corpus », qui est une version grande et propre du Common Crawl.
8. Gestion du contexte et de la bidirectionnalité
- BERT : Conçu pour comprendre le contexte dans les deux directions simultanément.
- GPT : Entraîné pour comprendre le contexte dans une direction (de gauche à droite).
- T5 : Peut modéliser le contexte bidirectionnel dans l’encodeur et unidirectionnel dans le décodeur, approprié pour les tâches de séquence à séquence.
9. Adaptabilité aux tâches en aval
- BERT : Nécessite des couches de tête spécifiques à la tâche et un affinage pour chaque tâche en aval.
- GPT : Est génératif par nature et peut être incité à effectuer des tâches avec des changements minimes dans sa structure.
- T5 : Traite chaque tâche comme un problème « texte-à-texte », ce qui le rend inhérentement flexible et adaptable à de nouvelles tâches.
10. Interprétabilité et explicabilité
- BERT : La nature bidirectionnelle fournit des embeddings contextuels riches mais peut être plus difficile à interpréter.
- GPT : Le contexte unidirectionnel peut être plus facile à suivre mais manque de la profondeur du contexte bidirectionnel.
- T5 : Le cadre encodeur-décodeur fournit une séparation claire des étapes de traitement mais peut être complexe à analyser en raison de sa nature générative.
L’impact des transformateurs sur le NLP
Les transformateurs ont révolutionné le domaine du NLP en permettant aux modèles de traiter des séquences de données en parallèle, ce qui a augmenté de manière spectaculaire la vitesse et l’efficacité de l’entraînement de grands réseaux de neurones. Ils ont introduit le mécanisme d’auto-attention, permettant aux modèles de peser l’importance de chaque partie des données d’entrée, quelle que soit la distance dans la séquence. Cela a conduit à des améliorations sans précédent dans une large gamme de tâches NLP, notamment la traduction, la réponse aux questions et la synthèse de texte.
La recherche continue de repousser les limites de ce que les modèles basés sur les transformateurs peuvent accomplir. GPT-4 et ses contemporains ne sont pas seulement plus grands en échelle mais également plus efficaces et capables en raison des progrès de l’architecture et des méthodes d’entraînement. Des techniques telles que l’apprentissage à quelques exemples, où les modèles effectuent des tâches avec des exemples minimaux, et des méthodes pour un transfert d’apprentissage plus efficace sont à la pointe de la recherche actuelle.
Les modèles de langage comme ceux basés sur les transformateurs apprennent à partir de données qui peuvent contenir des biais. Les chercheurs et les praticiens travaillent activement pour identifier, comprendre et atténuer ces biais. Les techniques vont des jeux de données d’entraînement curés aux ajustements post-entraînement visant à la justice et à la neutralité.















