Histoire de l’IA

Qu’est-ce que BERT, et pourquoi a-t-il changé la façon dont les ordinateurs comprennent le langage?

· Par Robert Scales · 5 min de lecture

Réponse courte

BERT (Bidirectional Encoder Representations from Transformers) est un modèle de langage que des chercheurs de Google ont décrit le 11 octobre 2018; il apprend en devinant des mots cachés à l’aide du contexte des deux côtés de chaque trou. Préentraîné une fois sur des livres et sur Wikipédia, puis brièvement ajusté, il a établi de nouveaux records sur onze tâches de langage, et Google l’a rendu accessible gratuitement à tous en novembre 2018.

Le 11 octobre 2018, quatre chercheurs de Google AI Language, Jacob Devlin, Ming-Wei Chang, Kenton Lee et Kristina Toutanova, ont mis en ligne un article intitulé BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. L’article rapportait de nouveaux meilleurs résultats sur onze tâches de langage différentes, parfois par de larges marges, avec un seul modèle presque sans modifications propres à chaque tâche.

Trois semaines plus tard, le 2 novembre 2018, Google a publié gratuitement le code et les modèles entraînés. N’importe qui pouvait télécharger BERT, ajouter une petite couche pour sa propre tâche et obtenir de bons résultats en quelques heures plutôt qu’en quelques mois.

Le problème : lire dans un seul sens

Les ordinateurs ont longtemps eu du mal avec le fait que le sens d’un mot dépend de ses voisins. Des outils plus anciens comme word2vec donnaient à chaque mot un seul plongement (embedding) fixe, une liste de nombres qui représente son sens. L’exemple de Google lui-même montre le problème : « bank » reçoit les mêmes nombres dans « bank account » (compte bancaire) et dans « bank of the river » (rive de la rivière).

Des modèles contextuels plus récents ont réglé une partie du problème en construisant une nouvelle représentation de chaque mot à partir de la phrase qui l’entoure. Mais la plupart lisaient dans un seul sens. GPT, d’OpenAI, publié en juin, prédisait chaque mot uniquement à partir des mots précédents. Dans « I accessed the bank account », un tel modèle comprend « bank » à l’aide de « I accessed the », mais pas de « account », le mot qui rend le sens clair. ELMo, un autre modèle de 2018, lisait de gauche à droite et de droite à gauche séparément et combinait les résultats, ce que l’équipe de BERT qualifiait de bidirectionnel seulement en surface.

Pourquoi ne pas simplement lire dans les deux sens à la fois? À cause de la façon dont ces modèles sont entraînés. Si un modèle doit prédire un mot tout en voyant les mots des deux côtés, dans un réseau profond, le mot peut indirectement « se voir lui-même », et la tâche devient triviale.

Comment BERT fonctionne

BERT règle ce problème avec un jeu de texte à trous, semblable aux exercices de closure utilisés dans les cours de langue. Pendant le préentraînement, 15 % des jetons (des mots ou des morceaux de mots) de chaque passage sont cachés, et le modèle doit les deviner à partir de tout ce qui les entoure. Voici un exemple simple :

ÉtapeTexte
OriginalL’homme est allé au magasin pour acheter quatre litres de lait.
Entrée masquéeL’homme est allé au [MASK] pour acheter quatre litres de [MASK].
Travail de BERTPrédire « magasin » et « lait » à l’aide des mots des deux côtés

Un deuxième jeu d’entraînement apprend à BERT comment les phrases sont liées. Il voit deux phrases et décide si la deuxième suivait vraiment la première dans le texte d’origine ou si elle a été choisie au hasard. Cela aide pour des tâches comme répondre à des questions, qui dépendent des liens entre les phrases.

Sous le capot, BERT est la moitié encodeur du Transformer, l’architecture fondée sur l’attention que des chercheurs de Google ont présentée en 2017. L’attention permet à chaque mot de regarder tous les autres mots du passage et de décider lesquels comptent. Google a publié deux tailles :

  • BERT-Base : 12 couches, 110 millions de paramètres (les nombres ajustables à l’intérieur du modèle).
  • BERT-Large : 24 couches, 340 millions de paramètres.

Les deux ont été préentraînés sur BooksCorpus, environ 800 millions de mots, et sur Wikipédia en anglais, environ 2,5 milliards de mots. L’entraînement s’est fait sur les Cloud TPU de Google, des puces conçues sur mesure qui, selon l’équipe, lui ont permis d’expérimenter rapidement.

Après le préentraînement, BERT subit un ajustement fin : une couche de sortie supplémentaire est ajoutée pour une tâche précise, comme étiqueter le sentiment d’une phrase ou trouver une réponse dans un paragraphe, et le modèle entier s’entraîne brièvement sur les exemples de cette tâche. Avec les modèles publiés, Google a indiqué qu’un bon système de réponse aux questions pouvait être entraîné sur un seul Cloud TPU en une demi-heure environ.

À essayer : prenez un paragraphe d’un article de presse et masquez un mot sur sept. Demandez à un ami de remplir les trous, d’abord en ne voyant que le texte avant chaque trou, puis en voyant tout le paragraphe. Comptez combien de mots de plus il trouve la deuxième fois. Cette différence, c’est l’avantage de lire dans les deux sens.

Ce que les résultats ont montré

Sur SQuAD v1.1, un test très utilisé où un système doit trouver la réponse à une question dans un paragraphe de Wikipédia, BERT a obtenu 93,2 selon la mesure d’exactitude F1, au-dessus du meilleur résultat précédent et du score enregistré pour les humains. Sur GLUE, un ensemble de neuf tâches de compréhension du langage, il a amélioré le meilleur score d’environ 7,6 points selon l’annonce de Google (7,7 dans la version révisée de l’article), un bond très important pour ce banc d’essai.

Pourquoi c’était important

BERT a fait du préentraînement suivi d’un ajustement fin la façon standard de construire des systèmes de langage. Il s’appuyait sur des travaux antérieurs, dont le préentraînement génératif d’OpenAI, ELMo et ULMFiT, mais son entraînement bidirectionnel et sa publication gratuite en ont fait le point de départ par défaut. En un peu plus d’un an, une revue de 2020 recensait plus de 150 articles de recherche qui l’étudiaient ou l’amélioraient, et décrivait BERT comme une référence omniprésente. L’article a aussi remporté le prix du meilleur article long à NAACL 2019, une grande conférence du domaine.

Comment BERT est-il utilisé aujourd’hui, et que ne peut-il pas faire?

L’usage le plus visible est la recherche. Le 25 octobre 2019, Google a commencé à appliquer BERT aux requêtes de recherche en anglais aux États-Unis. En décembre 2019, on le signalait dans plus de 70 langues et, en octobre 2020, presque toutes les requêtes en anglais sur Google Search passaient par BERT.

BERT a des limites claires. Il est conçu pour comprendre le texte, pas pour l’écrire : il remplit des trous et étiquette des passages, mais il ne produit pas de longues réponses fluides comme le font les modèles de type GPT. Ses connaissances viennent de son texte d’entraînement, avec les lacunes et les biais de ce texte. Et les chercheurs ne comprennent toujours pas entièrement pourquoi il fonctionne si bien; tout un courant de recherche examine maintenant ses représentations internes et ses schémas d’attention pour découvrir ce qu’il a réellement appris.

Sources

  1. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding — Devlin et al., Google AI Language (arXiv), 11 octobre 2018
  2. Open Sourcing BERT: State-of-the-Art Pre-training for Natural Language Processing — Jacob Devlin and Ming-Wei Chang, Google AI Language (Google AI Blog), 2 novembre 2018
  3. BERT (language model) — Wikipedia (revision of 1 November 2021), 1 novembre 2021

Recevez gratuitement le Guide de l’intelligence artificielle

Abonnez-vous à l’infolettre hebdomadaire et recevez le guide gratuit : ce qui a changé en IA cette semaine, une leçon, un prompt à essayer. Désabonnement en un clic.

Ce que nous faisons de votre adresse

Retour en haut

Affichage

Vos choix sont enregistrés dans ce navigateur seulement. Aucune donnée n’est transmise.

Taille du texte
100 %
Couleurs
Lecture
Autres réglages
Déclaration d’accessibilité