Que sont les transformateurs dans le domaine de l'intelligence artificielle ?
Les transformateurs sont un type d'architecture de réseau neuronal qui transforme ou modifie une séquence d'entrée en séquence de sortie. Pour ce faire, ils apprennent le contexte et suivent les relations entre les composants de la séquence. Par exemple, considérez cette séquence d'entrée : « Quelle est la couleur du ciel ? » Le modèle de transformateur utilise une représentation mathématique interne qui identifie la pertinence et la relation entre les mots couleur, ciel et bleu. Il utilise ces connaissances pour générer le résultat suivant : « Le ciel est bleu. »
Les organisations utilisent des modèles de transformateurs pour tous les types de conversions de séquences, de la reconnaissance vocale à la traduction automatique en passant par l'analyse de séquences de protéines.
Pourquoi les transformateurs sont-ils importants ?
Les premiers modèles de deep learning se concentraient principalement sur les tâches de traitement du langage naturel (NLP) visant à amener les ordinateurs à comprendre le langage humain naturel et à y répondre. Ils ont deviné le mot suivant dans une séquence basée sur le mot précédent.
Pour mieux comprendre, pensez à la fonction de saisie semi-automatique de votre smartphone. Il fait des suggestions en fonction de la fréquence des paires de mots que vous tapez. Par exemple, si vous tapez souvent « Je vais bien », votre téléphone suggère automatiquement « bien » après que vous ayez tapé « Je vais ».
Les premiers modèles de machine learning (ML) appliquaient des technologies similaires à une plus grande échelle. Ils ont cartographié la fréquence des relations entre différentes paires de mots ou groupes de mots dans leur ensemble de données d'entraînement et ont essayé de deviner le mot suivant. Cependant, les premières technologies ne pouvaient pas conserver le contexte au-delà d'une certaine longueur d'entrée. Par exemple, un ancien modèle de machine learning ne pouvait pas générer de paragraphe significatif car il ne pouvait pas conserver le contexte entre la première et la dernière phrase d'un paragraphe. Pour générer une sortie telle que « Je viens d'Italie. J'aime faire de l'équitation. Je parle italien. » le modèle doit tenir compte de la connexion entre l'Italie et l'italien, ce que les premiers réseaux de neurones ne pouvaient tout simplement pas faire.
Les modèles de transformateurs ont fondamentalement changé les technologies NLP en permettant aux modèles de gérer de telles dépendances à longue portée dans le texte. Voici d'autres avantages des transformateurs.
Activer les modèles à grande échelle
Les transformateurs traitent de longues séquences dans leur intégralité à l'aide de calculs parallèles, ce qui réduit considérablement les temps d'apprentissage et de traitement. Cela a permis la formation de très grands modèles linguistiques (LLM), tels que GPT et BERT, capables d'apprendre des représentations linguistiques complexes. Ils possèdent des milliards de paramètres qui capturent un large éventail de connaissances et de langages humains, et ils orientent la recherche vers des systèmes d'IA plus généralisables.
En savoir plus sur les grands modèles linguistiques
Permettre une personnalisation plus rapide
Avec les modèles de transformateurs, vous pouvez utiliser des techniques telles que l'apprentissage par transfert et la génération augmentée de récupération (RAG). Ces techniques permettent de personnaliser les modèles existants pour des applications spécifiques aux organisations du secteur. Les modèles peuvent être préentraînés sur de grands ensembles de données, puis affinés sur des ensembles de données plus petits et spécifiques à des tâches. Cette approche a démocratisé l'utilisation de modèles sophistiqués et supprimé les contraintes de ressources liées à la formation de grands modèles à partir de zéro. Les modèles peuvent fonctionner correctement dans de nombreux domaines et tâches pour différents cas d'utilisation.
Faciliter les systèmes d'IA multimodaux
Avec les transformateurs, vous pouvez utiliser l'IA pour des tâches qui combinent des ensembles de données complexes. Par exemple, des modèles tels que DALL-E montrent que les transformateurs peuvent générer des images à partir de descriptions textuelles, combinant les capacités de PNL et de vision par ordinateur. Avec les transformateurs, vous pouvez créer des applications d'IA qui intègrent différents types d'informations et imitent plus fidèlement la compréhension et la créativité humaines.
En savoir plus sur la vision par ordinateur
Recherche sur l'IA et innovation industrielle
Les transformateurs ont créé une nouvelle génération de technologies et de recherches en matière d'IA, repoussant les limites de ce qui est possible dans le domaine de l'intelligence artificielle. Leur succès a inspiré de nouvelles architectures et applications qui résolvent des problèmes innovants. Ils ont permis aux machines de comprendre et de générer le langage humain, ce qui a donné lieu à des applications qui améliorent l'expérience client et créent de nouvelles opportunités commerciales.
Quels sont les cas d'utilisation des transformateurs ?
Vous pouvez entraîner de grands modèles de transformateurs sur toutes les données séquentielles telles que les langages humains, les compositions musicales, les langages de programmation, etc. Voici quelques exemples de cas d'utilisation.
Traitement du langage naturel
Les transformateurs permettent aux machines de comprendre, d'interpréter et de générer le langage humain d'une manière plus précise que jamais. Ils peuvent résumer des documents volumineux et générer un texte cohérent et contextuellement pertinent pour tous les types de cas d'utilisation. Les assistants virtuels tels qu'Alexa utilisent la technologie des transformateurs pour comprendre les commandes vocales et y répondre.
Traduction automatique
Les applications de traduction utilisent des transformateurs pour fournir des traductions précises et en temps réel entre les langues. Les transformateurs ont considérablement amélioré la fluidité et la précision des traductions par rapport aux technologies précédentes.
En savoir plus sur la traduction automatique
Analyse de séquences d'ADN
En traitant les segments d'ADN comme une séquence similaire au langage, les transformateurs peuvent prédire les effets des mutations génétiques, comprendre les modèles génétiques et aider à identifier les régions de l'ADN responsables de certaines maladies. Cette capacité est cruciale pour la médecine personnalisée, où la compréhension de la constitution génétique d'un individu peut mener à des traitements plus efficaces.
Analyse de la structure des protéines
Les modèles de transformateurs peuvent traiter des données séquentielles, ce qui les rend bien adaptés à la modélisation des longues chaînes d'acides aminés qui se replient en structures protéiques complexes. La compréhension des structures des protéines est essentielle à la découverte de médicaments et à la compréhension des processus biologiques. Vous pouvez également utiliser des transformateurs dans des applications qui prédisent la structure 3D des protéines en fonction de leurs séquences d'acides aminés.
Comment fonctionnent les transformateurs ?
Les réseaux de neurones sont la principale méthode utilisée dans diverses tâches d'IA telles que la reconnaissance d'images et la PNL depuis le début des années 2000. Ils sont constitués de couches de nœuds informatiques interconnectés, ou neurones, qui imitent le cerveau humain et travaillent ensemble pour résoudre des problèmes complexes.
Les réseaux neuronaux traditionnels qui traitent des séquences de données utilisent souvent un modèle d'architecture encodeur/décodeur. L'encodeur lit et traite l'intégralité de la séquence de données d'entrée, telle qu'une phrase anglaise, et la transforme en une représentation mathématique compacte. Cette représentation est un résumé qui capture l'essence de l'entrée. Ensuite, le décodeur prend ce résumé et, étape par étape, génère la séquence de sortie, qui peut être la même phrase traduite en français.
Ce processus se déroule de manière séquentielle, ce qui signifie qu'il doit traiter chaque mot ou partie des données l'un après l'autre. Le processus est lent et peut entraîner la perte de certains détails sur de longues distances.
Mécanisme d'auto-attention
Les modèles de transformateurs modifient ce processus en incorporant ce que l'on appelle un mécanisme d'auto-attention. Au lieu de traiter les données dans l'ordre, le mécanisme permet au modèle d'examiner simultanément différentes parties de la séquence et de déterminer quelles parties sont les plus importantes.
Imaginez que vous êtes dans une pièce très fréquentée et que vous essayez d'écouter quelqu'un parler. Votre cerveau se concentre automatiquement sur leur voix tout en désactivant les bruits moins importants. L'autoattention permet au modèle de faire quelque chose de similaire : il accorde plus d'attention aux éléments d'information pertinents et les combine pour obtenir de meilleures prévisions de sortie. Ce mécanisme rend les transformateurs plus efficaces, ce qui leur permet d'être entraînés sur des ensembles de données plus importants. C'est également plus efficace, en particulier lorsqu'il s'agit de longs textes où le contexte historique peut influencer le sens de ce qui va suivre.
Quels sont les composants de l'architecture des transformateurs ?
L'architecture du réseau neuronal des transformateurs comporte plusieurs couches logicielles qui fonctionnent ensemble pour générer la sortie finale. L'image suivante montre les composants de l'architecture de transformation, comme expliqué dans le reste de cette section.
Intégrations d'entrées
Cette étape convertit la séquence d'entrée dans le domaine mathématique compris par les algorithmes logiciels. Dans un premier temps, la séquence d'entrée est décomposée en une série de jetons ou de composants de séquence individuels. Par exemple, si l'entrée est une phrase, les jetons sont des mots. L'intégration transforme ensuite la séquence de jetons en une séquence vectorielle mathématique. Les vecteurs contiennent des informations sémantiques et syntaxiques, représentées sous forme de nombres, et leurs attributs sont appris au cours du processus d'apprentissage.
Vous pouvez visualiser les vecteurs sous la forme d'une série de coordonnées dans un espace à n dimensions. À titre d'exemple simple, imaginez un graphique bidimensionnel, où x représente la valeur alphanumérique de la première lettre du mot et y représente leurs catégories. Le mot banane a la valeur (2,2) car il commence par la lettre b et appartient à la catégorie fruit. Le mot mangue a la valeur (13,2) car il commence par la lettre m et appartient également à la catégorie fruit. De cette façon, le vecteur (x, y) indique au réseau neuronal que les mots banane et mangue appartiennent à la même catégorie.
Imaginez maintenant un espace à n dimensions avec des milliers d'attributs relatifs à la grammaire, à la signification et à l'utilisation d'un mot dans des phrases mappées à une série de nombres. Les logiciels peuvent utiliser les nombres pour calculer les relations entre les mots en termes mathématiques et comprendre le modèle du langage humain. Les intégrations permettent de représenter des jetons discrets sous forme de vecteurs continus que le modèle peut traiter et dont il peut tirer des leçons.
Codage positionnel
Le codage positionnel est un élément crucial de l'architecture du transformateur, car le modèle lui-même ne traite pas de manière inhérente les données séquentielles dans l'ordre. Le transformateur a besoin d'un moyen de prendre en compte l'ordre des jetons dans la séquence d'entrée. Le codage positionnel ajoute des informations à l'intégration de chaque jeton pour indiquer sa position dans la séquence. Cela se fait souvent à l'aide d'un ensemble de fonctions qui génèrent un signal de position unique qui est ajouté à l'intégration de chaque jeton. Avec le codage positionnel, le modèle peut préserver l'ordre des jetons et comprendre le contexte de la séquence.
Bloc de transformateur
Un modèle de transformateur typique comporte plusieurs blocs de transformateurs empilés ensemble. Chaque bloc transformateur comporte deux composants principaux : un mécanisme d'auto-attention à plusieurs têtes et un réseau neuronal à rétroaction par position. Le mécanisme d'auto-attention permet au modèle d'évaluer l'importance des différents jetons au sein de la séquence. Il met l'accent sur les parties pertinentes de l'entrée lors de l'établissement de prévisions.
Par exemple, considérez les phrases «Ne mentez pas» et «Il se couche.» Dans les deux phrases, le sens du mot mensonge ne peut être compris sans regarder les mots qui le suivent. Les mots «parler» et «bas» sont essentiels pour comprendre le sens correct. L'attention personnelle permet de regrouper les éléments pertinents en fonction du contexte.
La couche d'alimentation comporte des composants supplémentaires qui aident le modèle de transformateur à s'entraîner et à fonctionner plus efficacement. Par exemple, chaque bloc de transformateur comprend :
- Des connexions autour des deux composants principaux qui agissent comme des raccourcis. Ils permettent le flux d'informations d'une partie du réseau à l'autre, en omettant certaines opérations intermédiaires.
- Normalisation des couches qui maintient les nombres, en particulier les sorties des différentes couches du réseau, dans une certaine plage afin que le modèle s'entraîne sans problème.
- Les fonctions de transformation linéaire permettent au modèle d'ajuster les valeurs afin de mieux exécuter la tâche sur laquelle il est formé, comme le résumé du document par opposition à la traduction.
Blocs linéaires et softmax
En fin de compte, le modèle doit faire une prédiction concrète, telle que le choix du mot suivant dans une séquence. C'est là qu'intervient le bloc linéaire. Il s'agit d'une autre couche entièrement connectée, également appelée couche dense, avant l'étape finale. Il effectue un mappage linéaire appris entre l'espace vectoriel et le domaine d'entrée d'origine. Cette couche cruciale est celle où la partie décisionnelle du modèle prend les représentations internes complexes et les transforme en prédictions spécifiques que vous pouvez interpréter et utiliser. La sortie de cette couche est un ensemble de scores (souvent appelés logits) pour chaque jeton possible.
La fonction softmax est l'étape finale qui prend les scores logit et les normalise dans une distribution de probabilité. Chaque élément de la sortie softmax représente la confiance du modèle dans une classe ou un jeton particulier.
En quoi les transformateurs sont-ils différents des autres architectures de réseaux neuronaux ?
Les réseaux de neurones récurrents (RNN) et les réseaux de neurones convolutifs (CNN) sont d'autres réseaux de neurones fréquemment utilisés dans les tâches de machine learning et de deep learning. Ce qui suit explore leurs relations avec les transformateurs.
Transformateurs vs. RNN
Les modèles de transformateurs et les RNN sont tous deux des architectures utilisées pour traiter des données séquentielles.
Les RNN traitent les séquences de données un élément à la fois par itérations cycliques. Le processus commence lorsque la couche d'entrée reçoit le premier élément de la séquence. Les informations sont ensuite transmises à une couche cachée, qui traite l'entrée et transmet la sortie à l'étape temporelle suivante. Cette sortie, combinée à l'élément suivant de la séquence, est renvoyée dans la couche cachée. Ce cycle se répète pour chaque élément de la séquence, le RNN conservant un vecteur d'état caché qui est mis à jour à chaque pas de temps. Ce processus permet au RNN de mémoriser efficacement les informations des entrées passées.
En revanche, les transformateurs traitent des séquences entières simultanément. Cette parallélisation permet des temps d'entraînement beaucoup plus rapides et la possibilité de gérer des séquences beaucoup plus longues que les RNN. Le mécanisme d'auto-attention des transformateurs permet également au modèle de prendre en compte simultanément l'ensemble de la séquence de données. Cela élimine le besoin de récurrence ou de vecteurs cachés. Au lieu de cela, le codage positionnel conserve des informations sur la position de chaque élément de la séquence.
Les transformateurs ont largement dépassé les RNN dans de nombreuses applications, en particulier dans les tâches NLP, car ils peuvent gérer plus efficacement les dépendances à longue distance. Ils ont également une évolutivité et une efficacité supérieures à celles des RNN. Les RNN sont toujours utiles dans certains contextes, en particulier lorsque la taille du modèle et l'efficacité informatique sont plus importantes que la capture d'interactions à longue distance.
Transformateurs vs. CNN
Les CNN sont conçus pour les données de type grille, telles que les images, où les hiérarchies spatiales et la localité sont essentielles. Ils utilisent des couches convolutives pour appliquer des filtres sur une entrée, capturant ainsi des modèles locaux grâce à ces vues filtrées. Par exemple, dans le traitement d'image, les couches initiales peuvent détecter des bords ou des textures, tandis que les couches plus profondes reconnaissent des structures plus complexes telles que des formes ou des objets.
Les transformateurs étaient principalement conçus pour traiter des données séquentielles et ne pouvaient pas traiter d'images. Les modèles de transformateurs de vision traitent désormais les images en les convertissant dans un format séquentiel. Cependant, les CNN restent un choix très efficace et efficient pour de nombreuses applications pratiques de vision par ordinateur.
Quels sont les différents types de modèles de transformateurs ?
Les transformateurs ont évolué pour devenir une famille diversifiée d'architectures. Voici quelques types de modèles de transformateurs.
Transformateurs bidirectionnels
Les modèles BERT (Bidirectional encoder representations from transformers) modifient l'architecture de base pour traiter les mots en relation avec tous les autres mots d'une phrase plutôt que de manière isolée. Techniquement, il utilise un mécanisme appelé modèle de langage masqué bidirectionnel (MLM). Pendant le préentraînement, BERT masque de manière aléatoire un certain pourcentage des jetons d'entrée et prédit ces jetons masqués en fonction de leur contexte. L'aspect bidirectionnel provient du fait que BERT prend en compte à la fois les séquences de jetons de gauche à droite et de droite à gauche dans les deux couches pour une meilleure compréhension.
Transformateurs préentraînés génératifs
Les modèles GPT utilisent des décodeurs à transformateur empilés qui sont préentraînés sur un vaste corpus de texte à l'aide d'objectifs de modélisation du langage. Elles sont autorégressives, ce qui signifie qu'elles régressent ou prédisent la valeur suivante d'une séquence en fonction de toutes les valeurs précédentes. En utilisant plus de 175 milliards de paramètres, les modèles GPT peuvent générer des séquences de texte ajustées en fonction du style et du ton. Les modèles GPT ont stimulé les recherches sur l'IA visant à parvenir à une intelligence générale artificielle. Cela signifie que les entreprises peuvent atteindre de nouveaux niveaux de productivité tout en réinventant leurs applications et l'expérience client.
Transformateurs bidirectionnels et autorégressifs
Un transformateur bidirectionnel et autorégressif (BART) est un type de modèle de transformateur qui combine des propriétés bidirectionnelles et autorégressives. C'est comme un mélange de l'encodeur bidirectionnel de BERT et du décodeur autorégressif de GPT. Il lit l'intégralité de la séquence d'entrée en une seule fois et est bidirectionnel comme BERT. Cependant, il génère la séquence de sortie un jeton à la fois, en fonction des jetons générés précédemment et de l'entrée fournie par l'encodeur.
Transformateurs pour tâches multimodales
Les modèles de transformateurs multimodaux tels que ViLBERT et VisualBERT sont conçus pour gérer plusieurs types de données d'entrée, généralement du texte et des images. Ils étendent l'architecture du transformateur en utilisant des réseaux à double flux qui traitent les entrées visuelles et textuelles séparément avant de fusionner les informations. Cette conception permet au modèle d'apprendre des représentations intermodales. Par exemple, VilBert utilise des couches de transformation co-attentionnelles pour permettre aux flux séparés d'interagir. C'est crucial dans les situations où il est essentiel de comprendre la relation entre le texte et les images, comme les tâches visuelles de réponse à des questions.
Transformateurs de vision
Les transformateurs de vision (ViT) réutilisent l'architecture du transformateur pour les tâches de classification d'images. Au lieu de traiter une image comme une grille de pixels, ils visualisent les données d'image sous la forme d'une séquence de patchs de taille fixe, de la même manière que les mots sont traités dans une phrase. Chaque patch est aplati, intégré de manière linéaire, puis traité séquentiellement par le transformateur encodeur standard. Des intégrations positionnelles sont ajoutées pour conserver les informations spatiales. Cette utilisation de l'auto-attention globale permet au modèle de capturer les relations entre n'importe quelle paire de patchs, quelle que soit leur position.
Comment AWS peut-il répondre aux exigences de votre modèle de transformateur ?
Amazon Web Services (AWS) propose les services AI/ML suivants que vous pouvez utiliser pour répondre aux besoins de vos modèles de transformateurs.
Amazon SageMaker JumpStart est un hub de machine learning qui vous permet d'accéder à des modèles de transformateurs préentraînés pour effectuer des tâches telles que la synthèse d'articles et la génération d'images. Les modèles pré-entraînés peuvent être entièrement adaptés à votre cas d'utilisation grâce à vos données, et vous pouvez facilement les déployer en production à l'aide de l'interface utilisateur ou du SDK.
Amazon Bedrock est un service entièrement géré qui propose un choix de modèles de transformateurs très performants issus de grandes sociétés d'IA telles que AI21 Labs, Anthropic, Cohere, Meta, Stability AI et Amazon avec une API unique. Grâce au large éventail de fonctionnalités dont vous avez besoin pour créer des applications d'IA génératives, Amazon Bedrock simplifie le développement tout en préservant la confidentialité et la sécurité. Par exemple, vous pouvez :
- Testez facilement une variété de modèles de base de pointe et personnalisez-les en privé avec vos données
- Créez des agents gérés qui exécutent des tâches commerciales complexes, le tout sans écrire de code
- Intégrez et déployez en toute sécurité des capacités d'IA génératives dans vos applications sans avoir à gérer l'infrastructure
Vous pouvez également entraîner vos modèles de transformateurs plus rapidement à l'aide d'AWS Trainium, l'accélérateur de deep learning de deuxième génération spécialement conçu par AWS pour la formation par deep learning de plus de 100 milliards de modèles de paramètres. Chaque instance Trn1 d'Amazon Elastic Compute Cloud (Amazon EC2) déploie jusqu'à 16 accélérateurs Trainium afin de fournir une solution performante et peu coûteuse pour la formation en deep learning dans le cloud.
Commencez à utiliser les modèles de transformateurs sur AWS en créant un compte dès aujourd'hui.