BERT, GPT-3, Switch-C… Le Transformer à l’assaut du langage naturel
⏱ 5 minDes « modèles de langue » de plus en plus gigantesques, entraînés sur des quantités de textes tout aussi impressionnantes, promettent un renouveau du traitement du langage naturel. Ils reposent sur le concept de « Transformer ».
Le « transformer » apparaît, fin 2017, dans une publication¹ signée par une équipe de huit chercheurs de Google. Il propose une nouvelle manière de construire un modèle linguistique (ou « modèle de langue », ou encore « modèle de langage », traduction maladroite de l’anglais « language model »). « Un modèle de langue est essentiellement un modèle capable de prédire le mot le plus probable dans un certain contexte », explique Benoît Sagot, directeur de recherche Inria et responsable de l’équipe-projet ALMAnaCH (Inria Paris). Un point de départ pour toutes sortes d’applications : traduction, résumé, chatbot, classification de textes, tri du courrier, lutte contre le spam…
Google rend public le code de son modèle construit sur un Transformer, BERT (Bidirectional Encoder Representations from Transformers), qui aura beaucoup d’enfants. On voit rapidement fleurir les annonces de modèles s’inspirant de BERT ou s’appuyant plus librement sur le concept de Transformer : GPT chez OpenAI, RoBERTa chez Facebook, Turing-NLG chez Microsoft…
Des paramètres par milliards
Certains de ces modèles se font remarquer par le nombre impressionnant de paramètres qu’ils comportent. Il s’agit des « poids », qui représentent pour chaque neurone l’influence de chacun de ses neurones afférents (amont). Leur décompte indique la quantité de nombres brassée au cours de l’apprentissage. Ainsi, le modèle GPT publié en 2018 par OpenAI, comporte déjà quelque 110 millions de paramètres. L’année suivante, la même équipe publie une version améliorée, GPT-2, comportant 1,5 milliards de paramètres. Et c’est en mars 2020 qu’OpenAI annonce² le fameux et gigantesque GPT-3, doté cette fois de 175 milliards de paramètres.
Mais ce record vient de tomber. Une équipe de Google Brain vient en effet de publier³, en janvier 2021, un article remettant au goût du jour une approche (MoE, pour Mixture of Experts), qui fait son chemin depuis les années 1990, afin de réduire la puissance de calcul nécessaire (jusqu’à sept fois) pour entraîner des « Switch Transformers ». Au passage, cette publication mentionne la réalisation d’un modèle, Switch-C, doté de 1 600 milliards de paramètres !
Combinaison de tous les mots du contexte
Un transformer est un réseau de neurones, dont l’architecture est trop complexe pour être détaillée ici, qui est « pré-entraîné », par auto-apprentissage, sur un vaste corpus, une masse de textes qui lui permet de découvrir les relations entre les mots. Ces derniers sont représentés sous forme de vecteurs, par « plongement lexical » (Word Embedding), ce qui revient en quelque sorte à représenter chaque mot par la fréquence de ceux qu’il fréquente.
« Le Transformer met en œuvre un mécanisme appelé « attention », qui consiste à tenir compte de la combinaison de tous les mots du contexte, en pondérant chacun d’entre eux, explique François Yvon, directeur de recherche CNRS, responsable de l’activité « traduction » au Laboratoire Interdisciplinaire des Sciences du numérique (LISN, CNRS et université Paris-Saclay, issu de la fusion du Limsi avec une partie du LRI). Un Transformer apprend les régularités les plus saillantes, sans être influencé par l’ordre des mots. »
Traitement du langage naturel
Au final, un Transformer mémorise à sa façon l’information qu’il a absorbée. C’est en quelque sorte une représentation compressée du corpus sur lequel il a été entraîné. Le Transformer permet de prendre une décision en fonction du contexte, et ainsi de résoudre beaucoup de problèmes en traitement du langage naturel.
« Aujourd’hui, il existe deux grandes familles de modèles de langage, précise Benoît Sagot. Les modèles de type GPT (développé par OpenAI) sont entraînés à prédire le mot suivant une séquence. Le contexte considéré est donc réduit aux mots qui précèdent, à la partie gauche du contexte. En revanche, les modèles de type BERT (Google) sont entraînés sur le contexte gauche et le contexte droit. Quand on leur propose une phrase avec un mot manquant, un « trou », ils sont capables de produire le mot le plus probable dans ce contexte. »
Utile pour les moteurs de recherche ou les navigateurs
Le code de BERT est en accès libre. A contrario, une licence exclusive sur GPT-3 a été accordée, en septembre 2019, par OpenAI à Microsoft. Qui pourra donc développer des produits commerciaux exploitant tout le potentiel de GPT-3, tandis que le reste du monde n’a accès qu’à une version standard à travers une API (interface de programmation applicative) commerciale.
GPT-3 « devine » le mot, la phrase ou même le texte le plus plausible selon lui après le « prompt » (texte d’amorçage) fourni par l’utilisateur, et le résultat est souvent impressionnant. « GPT-3 sait compter avec deux chiffres, indique François Yvon. Il donne la bonne réponse quand on lui demande combien font 48 + 76. Il traduit un peu, par exemple, du français vers l’anglais. Alors que son corpus doit comprendre au mieux 1 % de français… » Mais à quoi sert GPT-3 ? « C’est un peu la question, estime le chercheur. Suggérer le mot suivant, en prenant le risque de se tromper, cela peut rendre service par exemple dans les fonctions d’auto-complétion que l’on trouve sur les moteurs de recherche, les navigateurs ou les éditeurs de texte. » GPT-3 se débrouille très bien pour générer des textes sans grande conséquence.
Risque de machisme ou de racisme
« Mais la plupart des applications exigent un certain degré de certitude, rappelle le chercheur… et GPT-3 n’offre jamais la moindre garantie. Il peut donner des réponses fausses, et il répond à des questions qui n’ont aucun sens. Par ailleurs il peut être macho, raciste… » Comme il ne porte bien entendu aucun jugement de valeur sur les textes, d’origines très diverses, sur lesquels il a été entraîné, il lui arrive de régurgiter les pires stéréotypes, glanés au hasard de son entraînement. « GPT-3 peut servir à réaliser des applications dans des contextes où il n’est pas grave de se tromper, comme des chatbots génériques, estime François Yvon. Il peut produire de la poésie artificielle. »
Contrairement à GPT-3, BERT est en accès libre, son code est mis à la disposition de la communauté scientifique. « Les Transformers du type BERT, qui s’intéressent aux contextes gauche et droit, peuvent être intégrés dans toutes sortes d’applications, affirme François Yvon. Il est facile de les entraîner sur une spécialité. Cela a par exemple été fait pour le domaine médical. »
Réaliser des modèles moins énergivores
Les modèles de langage sont surtout anglophones… « C’est pourquoi nous avons développé CamemBERT4, un modèle de la famille de BERT, entraîné sur des textes en français, indique Benoît Sagot. Nous avons utilisé la partie française de notre corpus de textes, Oscar (Open Super-large Crawled ALMAnaCH corpus), ce qui représente 23 milliards de mots et occupe 138 Go. De nombreuses équipes s’appuient sur CamemBERT pour développer des applications diverses. » Ainsi, une thèse en cours vise à concevoir un outil d’aide à la simplification des textes, afin de les rendre accessibles aux personnes ayant des difficultés de compréhension, selon les recommandations de la méthode FALC (« Facile à lire et à comprendre »), soutenue par l’Unapei, fédération des associations françaises représentant les personnes handicapées intellectuelles. Cela dans le cadre du projet Cap’FALC, porté par Facebook, l’Unapei et Inria. Notons que CamemBERT a un concurrent francophone dénommé FlauBERT, développé par une équipe majoritairement grenobloise.
Mais le champ d’application du transformer reste limité par la démesure des modèles qui s’en inspirent. « Ces modèles de langage gigantesques nous posent aujourd’hui plusieurs questions, estime Benoît Sagot. Tout d’abord : comment réaliser des modèles moins gros qui marchent aussi bien ? Avec pour corrélat : comment obtenir des modèles qui marchent aussi bien mais moins gourmands en puissance de calcul, en énergie ? Mais encore : comment construire des modèles qui apprennent aussi bien mais à partir d’une moindre quantité de données ? »
Réduire la puissance de calcul nécessaire pour pré-entraîner un modèle ? C’est ce que promet ce « Switch Transformer » que Google vient de publier. Un premier pas…
Notes
1. Ashish Vaswani et al., Attention is all you need, 2017.
2. Tom Brown et al., Language Models are Few-Shot Learners, 2020.
3. William Fedus et al., Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity, 2021.
4. Louis Martin et al., CamemBERT: a Tasty French Language Model, 2020.