Pandu Nayak, vice-président de Google chargé du moteur de recherche, publie le vendredi 25 octobre 2019 sur le blog de l'entreprise l'image de deux téléphones côte à côte. Même heure affichée, 9:00. Même requête, tapée sans majuscule ni ponctuation : « 2019 brazil traveler to usa need a visa ». À gauche, « avant » : le premier résultat est un article du Washington Post du 21 mars 2019 qui annonce aux citoyens américains qu'ils pourront entrer au Brésil sans visa. À droite, « après » : la page des visas de tourisme de l'ambassade des États-Unis au Brésil. Entre les deux écrans, un seul mot a changé de poids. Le mot « to ».
Jusque-là, le moteur lisait « brazil », « traveler », « usa », « visa », et traitait la préposition comme du bruit. Le voyageur brésilien recevait la réponse à la question inverse. Pour que Google lise enfin ce mot de deux lettres, il a fallu un modèle né un an plus tôt dans ses propres laboratoires, et qui porte le nom d'une marionnette.
Un texte à trous
Le jeudi 11 octobre 2018, quatre chercheurs de l'équipe Google AI Language, Jacob Devlin, Ming-Wei Chang, Kenton Lee et Kristina Toutanova, déposent leur article sur arXiv. Le nom est un sigle : BERT, pour Bidirectional Encoder Representations from Transformers. Le Transformer est l'architecture de 2017 racontée dans la note précédente ; BERT en garde la moitié qui lit, l'encodeur, et laisse la moitié qui écrit. La différence est dans l'adjectif : bidirectionnel.
Le mécanisme est un exercice d'école, le texte à trous, baptisé « cloze procedure » en 1953 et cité sous ce nom dans le papier. On prend du texte brut : la Wikipédia anglaise, 2 500 millions de mots, et un corpus de livres, 800 millions de mots. On tire au sort quinze mots sur cent, on les cache derrière une étiquette, [MASK], et le réseau doit les retrouver. Les exemples imprimés dans le papier : « the man [MASK] to the store », puis « he bought a gallon [MASK] milk ». Pour deviner « went » et « of », il n'y a pas d'autre moyen que de regarder des deux côtés du trou.
Une ruse complète le dispositif. L'étiquette [MASK] n'existe qu'au préentraînement ; un réseau habitué à ne travailler qu'en sa présence serait perdu ensuite. Alors, parmi les mots tirés au sort, huit sur dix sont masqués, un sur dix est remplacé par un mot pris au hasard, un sur dix reste tel quel. Le modèle ne sait jamais où on l'attend. Second exercice : deux phrases, A puis B, et le modèle doit dire si B suit vraiment A dans le texte d'origine, ce qui n'est vrai qu'une fois sur deux.
La direction de lecture n'est pas un choix d'ingénieur. C'est la conséquence de l'exercice qu'on donne à la machine.
Lire dans un sens, lire dans l'autre
En 2018, deux autres équipes partent de la même intuition : entraîner d'abord un grand réseau sur du texte brut, l'ajuster ensuite à chaque tâche. Le 15 février, l'Allen Institute et l'université de Washington, à Seattle, publient sur arXiv ELMo, qui lit chaque phrase deux fois, de gauche à droite puis de droite à gauche, avec deux réseaux séparés, et recolle les deux lectures. En juin, OpenAI publie son premier GPT, qui lit dans un seul sens, de gauche à droite, comme on écrit. Le papier de Google les écarte en deux phrases : GPT est unidirectionnel, et ELMo n'est qu'une « concaténation superficielle » de deux lectures séparées.
BERT fait autre chose. Un seul réseau, et à chaque couche, chaque mot regarde tous les autres, à gauche comme à droite. Pour peser le « to » de la requête brésilienne, le modèle voit déjà « usa » et « visa ». Il n'y a pas deux lectures qu'on additionne, il y a une page saisie d'un seul regard. Un détail dit la petitesse du milieu : Kenton Lee signe ELMo en février et BERT en octobre. ELMo porte le nom d'une marionnette de Sesame Street ; le sigle de Google donne celui de son voisin de rue.
Onze tâches, onze records
BERT existe en deux tailles. BERT-base, 12 couches et 110 millions de paramètres, les nombres que l'entraînement règle, a la taille du GPT d'OpenAI, pour la comparaison. BERT-large, 24 couches et 340 millions de paramètres, s'entraîne quatre jours sur 16 Cloud TPU, les accélérateurs de calcul que Google loue en ligne, soit 64 puces. Sur onze épreuves publiques de compréhension du langage, BERT bat le record. Sur GLUE, une batterie de neuf tests, le score passe à 80,5, soit 7,7 points de mieux que le précédent. Sur SQuAD, des questions posées sur des paragraphes de Wikipédia, BERT atteint 93,2 de score F1, une note sur 100 qui mesure le recouvrement entre sa réponse et la bonne ; les humains testés sur le même exercice étaient à 91,2.
BERT est conceptuellement simple et empiriquement puissant.
La phrase est dans le résumé de l'article, et c'est sa seule vantardise. Le plus frappant n'est pas le record, c'est la recette : pour chaque tâche, on ajoute une seule couche de sortie au modèle préentraîné et on ajuste le tout, une heure au plus sur un Cloud TPU, quelques heures sur une carte graphique. Le 31 octobre, le code et les poids, valeurs finales des paramètres, sont mis en ligne sur GitHub sous licence Apache 2.0 ; trois jours plus tard s'ajoutent un modèle multilingue et un modèle chinois. En juin 2019, à Minneapolis, la conférence NAACL donne à BERT son prix du meilleur article long. L'année d'avant, à La Nouvelle-Orléans, elle avait distingué ELMo.
Une requête sur dix
Le billet de Nayak ouvre la seconde vie de BERT : le modèle aide désormais Google à comprendre une requête sur dix aux États-Unis, en anglais, surtout les longues, celles où « for » et « to » changent le sens. Pour le servir en direct, l'entreprise place pour la première fois des Cloud TPU sur le chemin d'une recherche.
Le plus grand bond en avant de ces cinq dernières années, et l'un des plus grands de l'histoire de la recherche Google.
La phrase est de Nayak, et c'est Google qui note Google. Le calendrier, lui, se vérifie. Le lundi 9 décembre 2019, six semaines après le billet, le compte Search Liaison de Google annonce le déploiement de BERT dans plus de 70 langues. Le 15 octobre 2020, Prabhakar Raghavan, qui dirige alors la recherche, précise que presque chaque requête en anglais passe par un modèle BERT. En moins d'un an, la préposition a cessé d'être du bruit.
La famille s'agrandit
Le code étant libre, les variantes arrivent vite. Le 26 juillet 2019, Facebook AI et l'université de Washington publient RoBERTa, une étude de réplication qui conclut que BERT était « nettement sous-entraîné ». Avec plus de données et plus de calcul, la même architecture rattrape ou dépasse tout ce qui a été publié depuis, et se passe du second exercice, celui de la phrase suivante. Le 2 octobre, Hugging Face publie DistilBERT, 40 % plus petit, 60 % plus rapide, 97 % des capacités conservées. Le 10 novembre, l'Inria, Facebook AI Research et Sorbonne Université publient CamemBERT, un BERT pour le français, sous-titré « a Tasty French Language Model ».
Les citations suivent. Au 4 octobre 2026, Google Scholar recense plus de 190 000 citations de l'article de Devlin, Chang, Lee et Toutanova, soit plus de soixante par jour depuis sa mise en ligne.
L'autre voie
Le papier de 2018 présentait la lecture à sens unique de GPT comme une limite. Pour lire, c'en est une. Pour écrire, c'est la condition : on devine le mot suivant sans voir la suite, et un réseau entraîné à boucher des trous n'est pas fait pour ça. Les modèles qui écrivent, ceux du grand public, ont donc pris l'autre moitié du Transformer, le décodeur de GPT. BERT est resté là où il excelle : dans la machinerie qui lit ce que vous tapez.
Sur le billet de Pandu Nayak, les deux téléphones affichent encore 9:00. À gauche, le Washington Post explique aux Américains comment aller au Brésil. À droite, l'ambassade explique aux Brésiliens comment venir aux États-Unis. Entre les deux, quinze mots sur cent cachés dans Wikipédia, quatre jours de calcul sur soixante-quatre puces, et un moteur qui a appris à lire une préposition en regardant des deux côtés.