BERT : le modèle de langue phare de Google
L'IA de traitement automatique de langue est disponible en open source. Forte de déclinaisons en français avec CamemBERT et FlauBERT, elle trouve ses principales applications dans les chatbots ou l'analyse de sentiment.
Bert, c'est quoi ?
Bert, ou bidirectional encoder representations from transformers, est un modèle de deep learning orienté traitement automatique des langues (TAL) ou de la langue naturelle (TALN). Ce réseau de neurones artificiels a été publié par Google en open source, sous licence Apache, à l'automne 2018.
Comptant 100 millions de paramètres dans sa version de base et 335 millions dans sa version large, Bert est conçu pour créer des chatbots, prendre en charge de l'analyse de sentiment, prédire un texte au fur et à mesure de sa saisie ou encore réaliser des résumés.
Quelle est la technologie de Bert ?
Bert s'adosse à la technologie des transfomers. Comme les réseaux de neurones récurrents (RNN), ils sont taillés pour ingérer des données séquentielles. Ce qui les rend particulièrement bien adaptés au traitement du langage naturel.
A la différence des RNN, les transfomers ne traitent pas les données sous forme de flux continu en respectant l'ordre des mots des phrases. Résultat : ils sont capables de découper les traitements et paralléliser les calculs de la phase d'apprentissage. Les transfomeurs sont ainsi plus rapides à entraîner.
Quel est la particularité de Bert ?
L'innovation clé de Bert consiste à mettre en œuvre l'entraînement bidirectionnel du transformer. Contrairement aux modèles de langue unidirectionnels, qui traitent le texte saisi de manière séquentielle, de gauche à droite ou de droite à gauche, l'encodeur mis en œuvre par Bert lit l'ensemble de la séquence de mots en une fois. "Cette caractéristique permet au modèle d'ingérer le contexte global d'un terme, en tenant compte simultanément des mots à sa gauche et à sa droite", explique Houssam AlRachid, lead data scientist chez Devoteam.
Comment fonctionne l'apprentissage (ou machine learning) de Bert ?
Bert est pré-entraîné sur deux tâches de natural language processing (NLP) différentes mais liées : la modélisation du langage masqué (ou MLM pour masked language model en anglais) et la prédiction de la phrase suivante (ou NSP pour next sentence prediction).
En combinant les techniques MLM et NSP, Bert parvient à saisir le contexte
"Le MLM fonctionne comme suit : l'algorithme commence par masquer un mot dans une phrase. Ensuite, il va chercher à prédire quels mots ont la plus grande probabilité d'être de bons remplaçants du mot caché, et ce en fonction du contexte. Quant au NSP, il fonctionne en prédisant si deux phrases ont une connexion logique (ou séquentielle), ou pas. Par exemple : Pierre est malade. Il a la grippe. Dans la seconde phrase, le pronom "il" renvoie à Pierre. Il y a donc une connexion logique ou causale entre ces deux phrases", détaille Houssam AlRachid chez Devoteam. C'est en combinant MLM et NSP que Bert parvient à saisir le contexte.
Quelle est la puissance serveur nécessaire à Bert ?
Pour exploiter Bert à la fois en phases d'entrainement et de déploiement, AWS recommande son instance G4 d'entrée de gamme. Comptant 4 vCPU et 16 Go de mémoire, elle est tarifée 0,526 dollar par heure.
FlauBERT et CamemBERT : les déclinaisons françaises de Bert
CamemBERT et FlauBERT sont des déclinaisons de Bert taillés pour prendre en charge le français.
- CamemBERT est lui-même basé sur une autre déclinaison de Bert. Baptisée RoBERTa (pour Robustly Optimized BERT Pretraining), cette dernière optimise le process d'entraînement de Bert, ce qui lui permet d'enregistrer des performances améliorées sur plusieurs tâches. CamemBERT a été entraîné sur un corpus français de 138 Go de texte.
- FlauBERT a quant à lui était formé sur un corpus français de 71 Go de texte très large et hétérogène via le supercalculateur Jean Zay du CNRS. FlauBERT introduit Flue : une configuration d'évaluation pour les systèmes de NLP français similaire au célèbre benchmark Glue. Comme GPT-2, FlauBERT s'adosse à l'algorithme de tokenisation BPE (pour byte pair encoding) pour compresser le data set d'apprentissage et ainsi accélérer la phase d'entrainement.
Modèle/date | Licence | Fournisseur | Nombre de paramètres | Mode de machine learning | Cas d'usage |
---|---|---|---|---|---|
BERT/ 2018 | open source (licence Apache) | Google AI | - Modèle de base : 100 millions, - Modèle large : 335 millions. |
Entraînement bidirectionnel ingérant le texte à droite et à gauche d'un mot pour déterminer son contexte. | Chatbots, analyse de sentiments, recherche d'informations, auto-autocomplétion, résumé. |
CamemBERT/ 2019 | Open source (licence MIT) | Facebook AI Research et Inria | - Modèle de base : 100 millions, - Modèle large : 335 millions. |
Modèle linguistique français basé sur BERT et RoBERTa et pré-entraîné sur le corpus multilingue Oscar. | Tâches de remplissage / masquage, soit masquer certains mots d'une phrase en vue de les prédire. |
FlauBERT/ 2019 | Open source (Creative Commons Attribution-NonCommercial 4.0) | CNRS | - Modèle de base : 137 millions, - Modèle large : 373 millions |
BERT français formé à partir d'un corpus très large et hétérogène. | Classification de textes, paraphrase, inférence en langage naturel, analyse syntaxique, désambiguïsation. |
Sources : Devoteam
Comment télécharger Bert ?
Bert est téléchargeable sur GitHub tout comme ses déclinaisons françaises CamemBERT et FlauBERT :