BERT, le modèle de langue de référence pour les tâches de NLP

BERT, le modèle de langue créé par Google et deve­nu open source en 2018, est aujourd’hui consi­dé­ré comme la base de nom­breuses avan­cées en trai­te­ment auto­ma­tique des langues. Qu’est-ce qui le dis­tingue de ces prédécesseurs ?

BERT, le modèle de langue de référence pour les tâches de traitement automatique des langues

A l’ère des modèles pré-entraî­nés de plus en plus puis­sants, BERT, de par son archi­tec­ture et son fonc­tion­ne­ment sin­gu­lier, est un outil puis­sant à inté­grer dans toutes sortes de solu­tions de trai­te­ment auto­ma­tique des langues. Avec le modèle GPT (GPT‑3, ChatGPT), BERT est aujourd’hui à la tête d’avancées consi­dé­rables en matière de deep lear­ning et de modé­li­sa­tion du lan­gage natu­rel. On lui attri­bue notam­ment d’excellentes per­for­mances en ana­lyse de sen­ti­ments et en sys­tème de questions-réponses.

BERT : contexte et innovation

Avant BERT

Jusqu’à 2017, les modèles de réseaux neu­ro­naux récur­rents (RNN) per­met­taient d’obtenir les meilleures per­for­mances dans le domaine du deep lear­ning. Les modèles RNN sont uni­di­rec­tion­nels, c’est-à-dire qu’ils ana­lysent des séquences de mots de gauche à droite (ou bien de droite à gauche), mot par mot, en sui­vant leur ordre d’apparition dans le texte. Il est donc dif­fi­cile pour ces modèles d’identifier les rela­tions contex­tuelles entre les dif­fé­rents mots du texte, autre­ment dit, ils consi­dèrent le texte mor­ceau par mor­ceau, plu­tôt que comme un ensemble d’entités interdépendantes.

En 2017, le modèle Trans­for­mer appa­raît. C’est un modèle d’apprentissage pro­fond (deep lear­ning) qui s’appuie aus­si sur des réseaux neu­ro­naux mais dis­pose d’un méca­nisme d’attention qui per­met de prê­ter atten­tion aux mots les plus impor­tants de la phrase, de manière à pou­voir pré­dire le mot sui­vant. Il per­met ain­si d’identifier des dépen­dances entre deux mots, même s’ils sont très éloi­gnés, dans un même texte.

Cette archi­tec­ture est aujourd’hui très uti­li­sée dans le domaine du NLP, on retrouve d’ailleurs la liste de tous les modèles s’appuyant des­sus sur le site d’HuggingFace. Contrai­re­ment aux modèles RNN, par exemple, cette archi­tec­ture s’intéresse donc à la notion d’interdépendance entre les mots. Par­mi les modèles repo­sant sur cette archi­tec­ture, on peut notam­ment citer les deux prin­ci­paux : BERT (Google) et GPT (Ope­nAI).

L’innovation apportée par BERT

BERT, qui est l’acronyme pour “Bidi­rec­tio­nal Enco­der Repre­sen­ta­tions from Trans­for­mers”, est un modèle de langue pré-entraî­né qui a la par­ti­cu­la­ri­té d’être à la fois bidi­rec­tion­nel et contex­tuel. Concrè­te­ment, contrai­re­ment aux modèles uni­di­rec­tion­nels, BERT va lire une séquence de mots dans les deux sens, de gauche à droite et de droite à gauche, de manière simul­ta­née. Cela per­met ain­si de sai­sir des tour­nures de phrases plus com­plexes, bien plus proches du lan­gage humain. 

Comme nous l’avons expli­qué juste avant, le “T” de BERT fait réfé­rence à son archi­tec­ture Trans­for­mer. Il dis­pose donc du méca­nisme d’attention qui lui per­met de faire une ana­lyse contex­tuelle des mots. Ain­si, il a plus d’aisance à gérer les ambi­guï­tés et les termes poly­sé­miques, grâce au contexte dans lequel ils apparaissent.

BERT : fonctionnement et caractéristiques techniques

Pré-entraînement

BERT a été pré-entraî­né de manière non super­vi­sée, c’est-à-dire que l’entraînement du modèle ne néces­si­tait pas de don­nées label­li­sées. Cet entraî­ne­ment por­trait sur deux tâches spécifiques : 

  • la modé­li­sa­tion du lan­gage mas­qué (Mas­ked Lan­guage Mode­ling en anglais – MLM),
  • la pré­dic­tion de la phrase sui­vante (Next Sen­tence Pre­dic­tion – NSP).

Le MLM consiste à faire pré­dire au modèle des mots mas­qués à par­tir des autres mots de la phrase. La NSP consiste quant à elle à faire pré­dire au modèle la séquence de mots B qui sui­vra la séquence de mots A. Autre­ment dit, il s’agit de lui faire com­prendre les dépen­dances qui existent entre des phrases qui se suivent.

Jeux de données et évaluations

Avec les deux tâches citées juste avant, BERT a obte­nu de très bons résul­tats aux éva­lua­tions dédiées, ses résul­tats ont ain­si atti­ré l’attention des cher­cheurs et des entre­prises en recherche d’un modèle très per­for­mant dans diverses tâches.

Il existe à ce jour plu­sieurs ver­sions de BERT, entraî­nées sur dif­fé­rents types de cor­pus, avec plus ou moins de don­nées, mais les deux prin­ci­pales sont les suivantes :

  • BERT-base,
  • BERT-large.

Le modèle BERT-base a été entraî­né sur 800 mil­lions de mots, des don­nées non-label­li­sées issues de Book­Cor­pus, un cor­pus consti­tué de livres libres de droits appar­te­nant à 16 genres dif­fé­rents et écrits par des auteurs qui n’ont jamais été publiés.

Le modèle BERT-large a quant à lui été entraî­né sur un cor­pus de 2,5 mil­liards de mots consti­tué à par­tir de tous les articles Wiki­pé­dia rédi­gés en anglais..

BERT : utilisation et potentiel

Fine-tuning

BERT est un modèle open source, dis­po­nible notam­ment sur le site Hug­ging­Face qui met à dis­po­si­tion et tient à jour une grande liste de modèles et de jeux de don­nées en tout genre, dans de nom­breuses langues. Pour l’utiliser, il suf­fit de lan­cer le télé­char­ge­ment du modèle, l’intégrer dans une solu­tion de NLP, puis pro­cé­der à une phase de fine-tuning.

Le fine-tuning est une deuxième phase d’en­traî­ne­ment que l’on effec­tue à par­tir d’un modèle pré-entraî­né. En d’autres termes, le modèle a d’abord été entraî­né sur une très grande quan­ti­té de don­nées géné­riques. A pré­sent, on fige une par­tie des poids des couches du réseau neu­ro­nal pré-entraî­né puis on y ajoute des couches sup­plé­men­taires (on ré-entraîne donc le modèle sur un cor­pus plus petit et plus ciblé, beau­coup moins géné­rique que le pré­cé­dent) pour per­mettre au modèle de réa­li­ser des tâches spé­ci­fiques de NLP. Le fine-tuning fonc­tionne même avec un cor­pus conte­nant très peu de don­nées, étant don­né qu’il s’agit sim­ple­ment d’un ré-entraî­ne­ment complémentaire.

Les modèles dérivés de BERT

BERT sert aujourd’hui de réfé­rence en matière de modèles de langue.

On trouve ain­si de nom­breux déri­vés, par­mi lesquels : 

  • RoBER­Ta, qui a des para­mètres de pré-entraî­ne­ment dif­fé­rents et un trai­te­ment plus rapide que BERT,
  • Camem­BERT, qui est basé sur RoBER­Ta mais entraî­né sur un jeu de don­nées de 138 Go exclu­si­ve­ment en français,
  • Flau­BERT, qui est lui aus­si entraî­né sur des don­nées en fran­çais, mais avec un cor­pus de 71 Go seulement.

BERT est aus­si uti­li­sé par Google depuis fin 2019 pour son moteur de recherches afin d’optimiser de manière natu­relle le réfé­ren­ce­ment des sites web en fonc­tion de leur contenu.

Conclusion

Comme nous avons pu le voir, le modèle de langue BERT a eu un impact consi­dé­rable dans le domaine du trai­te­ment auto­ma­tique des langues depuis sa sor­tie en open source en 2018 et il ne cesse d’être cité dans de nou­veaux articles de recherches depuis lors. Il attire donc aus­si bien l’attention des indus­triels que des cher­cheurs qui voient en lui un grand poten­tiel à résoudre de nom­breuses pro­blé­ma­tiques de NLP de manière plus opti­male, telles que l’analyse de sen­ti­ments, le réfé­ren­ce­ment opti­mi­sé (SEO) ou encore les chatbots.