Aller au contenu

Comment BERT Fonctionne : La Révolution Bidirectionnelle du Traitement du Langage

Pourquoi BERT Change la Donne

Imaginez un lecteur extraordinaire face à une phrase énigmatique. Au lieu de déchiffrer mot par mot de gauche à droite—comme un humain qui lit séquentiellement—ce lecteur voit simultanément le contexte complet : il regarde vers l’avant ET vers l’arrière, capturant instantanément le sens global. C’est exactement ce que fait BERT (Bidirectional Encoder Representations from Transformers).

Avant BERT, les systèmes de traitement du langage fonctionnaient comme des lecteurs unidirectionnels. Face à la phrase “Le [?] mange la souris”, ils progressaient pas à pas et devaient deviner le mot manquant sans voir ce qui venait après. BERT, lui, voit l’ensemble—il sait immédiatement que seul “chat” a du sens en lisant les deux directions simultanément.

Cette révolution, initiée par Google en 2018, a transformé chaque application du langage naturel : moteurs de recherche, classification de textes, extraction d’informations, détection de spam. Vous l’utilisez indirectement chaque jour quand Google comprend vos requêtes nuancées ou quand LinkedIn classe vos messages.


L’Architecture : Comprendre les Couches

BERT repose sur une architecture Transformer encodeur uniquement—une structure en profondeur qui fonctionne comme des couches d’un microscope perfectionnant progressivement l’image.

Les Fondations : Embeddings et Tokenization

Votre texte d’entrée traverse d’abord une couche de tokenization. BERT décompose les phrases en unités appelées tokens (souvent sous-mots via la technique WordPiece). Chaque token devient un vecteur dense de 768 dimensions (version base) ou 1024 (version large)—une représentation numérique qui capture le sens du mot dans cet espace abstrait.

Les marqueurs spéciaux structurent l’entrée :

  • [CLS] : début de séquence, utilisé pour les tâches de classification
  • [SEP] : séparateur entre deux phrases
  • [MASK] : marque les tokens masqués pendant l’entraînement
  • [PAD] : padding pour aligner toutes les séquences à 512 tokens maximum

Le Cœur : Stacking de Blocs Transformer

La magie opère dans les 12 couches Transformer (version base) ou 24 couches (version large). Chaque bloc contient trois mécanismes clés :

1. Attention Multi-Têtes

Chaque bloc Transformer comporte 12 têtes d’attention (base) opérant en parallèle. Imaginez 12 projecteurs pointant sur le même texte, chacun mettant en évidence des relations différentes :

  • Une tête met en avant les anaphores (“il” → “chat”)
  • Une autre capture les dépendances syntaxiques
  • Une troisième identifie les synonymes sémantiques

Mathématiquement, chaque tête calcule : Attention(Q,K,V)=Softmax(QKTdk)V\text{Attention}(Q,K,V) = \text{Softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V

où Q (Query), K (Key), V (Value) sont des transformations linéaires de l’entrée. Le résultat : chaque mot “interroge” tous les autres mots simultanément, indépendamment de leur distance linéaire. C’est la révolution bidirectionnelle—pas de direction préférée, pas de limitation séquentielle.

2. Feed-Forward Networks

Après attention, une couche fully-connected (FFN) projette les représentations vers 3072 dimensions (base) puis les recompresse à 768. Cette profondeur capture des interactions non-linéaires complexes entre les patterns d’attention.

3. Normalisation et Résidus

Entre chaque couche : Layer Normalization (stabilise l’entraînement) et connexions résiduelles (permet aux gradients de passer sans dégradation). Ces mécanismes permettent à BERT d’empiler 12 ou 24 couches sans effondrement numérique.


Le Pré-entraînement : La Stratégie Bidirectionnelle Masquée

BERT n’arrive pas magiquement avec sa compréhension. Il est pré-entraîné sur des milliards de mots via deux tâches innovantes :

Masked Language Modeling (MLM)

BERT masque aléatoirement 15% des tokens et force le modèle à les deviner en utilisant le contexte bidirectionnel complet. Exemple :

Texte original : "Le chat mange la souris rapidement"
Masqué : "Le [MASK] mange la souris [MASK]"
Tâche : Prédire "chat" et "rapidement"

Contrairement à GPT qui prédit séquentiellement (unidirectionnel), BERT voit l’ensemble pour deviner chaque position masquée. C’est cette asymétrie train-test qui force une compréhension contextuelle profonde.

Le bruit d’entraînement complique légèrement la tâche :

  • 80% du temps, le token est remplacé par [MASK]
  • 10% du temps, un token aléatoire l’replace
  • 10% du temps, le token original reste

Cette variation imite les erreurs d’inférence réelle, atténuant le gap entre entraînement et déploiement.

Next Sentence Prediction (NSP)

BERT reçoit des paires de phrases et prédit si la deuxième suit logiquement la première. Cela entraîne le modèle à modéliser les relations inter-phrastiques et la cohérence textuelle.


Fine-Tuning pour Tâches Spécifiques

Après pré-entraînement, BERT est adapté à des tâches concrètes :

  1. Ajouter une tête spécialisée : classification (couche dense + softmax), tagging par token (classification par position), ou span extraction (prédiction début/fin).

  2. Charger les poids pré-entraînés : tous les 12/24 blocs Transformer conservent leur connaissance acquise.

  3. Fine-tuning supervisé : entraîner sur données étiquetées avec learning rate très faible (2e-5 à 5e-5) pour ne pas détruire le pré-entraînement.

  4. Convergence rapide : généralement 2-4 epochs suffisent (vs 20-50 pour modèles classiques).


Applications Concrètes en Production

Cas 1 : Compréhension de Requête Google

Google intègre BERT pour mieux comprendre les requêtes nuancées. Requête : “peut-on prendre des antibiotiques pendant une infection virale?”

Avant BERT : le moteur matchait simplement “antibiotiques” + “infection” + “virale” → pages vendant des antibiotiques.

Avec BERT : le modèle capture :

  • La négation explicite (“peut-on” → question interrogative)
  • L’incompatibilité pharmacologique (antibiotiques ≠ viral)
  • Le contexte spécifique (infection virale vs bactérienne)

Résultat : pages expliquant que les antibiotiques ne traitent PAS les infections virales rankent correctement. Impact : +25% CTR sur requêtes long-tail complexes.

Cas 2 : Analyse de Sentiment en eCommerce

Plateforme Amazon fine-tune BERT pour classifier avis utilisateurs.

Avis : “Le produit n’est pas mauvais mais la livraison était lente”

Modèle unidirectionnel : détecte “mauvais” + “lent” → sentiment négatif global ❌

BERT bidirectionnel :

  • Détecte la négation (“n’est pas”)
  • Identifie le connecteur adversatif (“mais”)
  • Décompose : produit (neutre-positif) vs service (négatif) ✓

Insight opérationnel : améliorer la logistique, pas la qualité produit.

Cas 3 : Extraction d’Entités Juridiques

Cabinet juridique fine-tune BERT pour extraire dans les contrats : parties, dates, obligations, risques.

Texte : “Acme Inc. et DigitalCorp s’engagent à honorer les délais jusqu’au 31 décembre 2026”

BERT détecte :

  • Entités organisationnelles : Acme Inc, DigitalCorp
  • Dates contractuelles : 31 décembre 2026 (vs date journalistique générique)

Économie : automatiser 60% des extractions manuelles.


Représentations Contextuelles : La Cognition Distribuée

Les embeddings BERT ne sont pas des dictionnaires simplement améliorés. Ils capturent une cognition distribuée :

Polysémie et contexte : Le mot “banque” génère deux embeddings distincts selon contexte :

  • “Je vais à la banque déposer de l’argent” → vecteur financier
  • “Les enfants jouent près de la banque du fleuve” → vecteur géographique

Formellement, une polysémie devient une distribution continue dans l’espace latent 768-d, reflet plus nuancé que les catégories discrètes.

Analogies émergentes : L’espace latent capture des relations : embedding(roi)embedding(homme)embedding(reine)embedding(femme)\text{embedding}(\text{roi}) - \text{embedding}(\text{homme}) \approx \text{embedding}(\text{reine}) - \text{embedding}(\text{femme})

Ces régularités sémantiques émergent sans instruction explicite—la preuves que BERT apprend une géométrie conceptuelle du langage.


Limites et Horizons

Biais de représentation : Les embeddings perpétuent les biais du pré-entraînement (Wikipedia, BookCorpus biaisés vers Occident, populations majoritaires). Analogies problématiques persitent : embedding(‘homme’) - embedding(‘femme’) capture des stéréotypes professionnels.

Capacité de reasoning logique : BERT capture corrélations mais échoue sur reasoning symbolique. Face à “Tous les hommes sont mortels. Socrate est un homme. Donc Socrate est mortel”, BERT prédit statistiquement sans déduire formellement.

Interprétabilité opaque : Les 12 couches et attention heads sont partiellement visualisables, mais l’espace latent 768-d reste un black-box. Pourquoi BERT classe un texte contre-intuitivement? Méthodes post-hoc (LIME, SHAP) aident partiellement.


Notions Liées