Retour au Blog
NLP 28 mars 2025 9 min de lecture

Fine-tuning de BERT pour la NLP en production : guide éprouvé

Tout ce que j'ai appris en fine-tunant BERT sur 10+ projets NLP — tokenisation, planning des LR, gel des couches.

La recette de fine-tuning

from transformers import BertForSequenceClassification, AdamW

model = BertForSequenceClassification.from_pretrained(
    'bert-base-multilingual-cased',  # for AR/FR/EN
    num_labels=3
)

# Discriminative learning rates
optimizer = AdamW([
    {'params': model.bert.embeddings.parameters(), 'lr': 1e-5},
    {'params': model.bert.encoder.layer[:6].parameters(), 'lr': 2e-5},
    {'params': model.bert.encoder.layer[6:].parameters(), 'lr': 3e-5},
    {'params': model.classifier.parameters(), 'lr': 5e-5},
])

Leçons clés

  1. Commencez avec LR=2e-5, batch=16, epochs=3-5
  2. Un warmup sur 10 % des étapes évite l'oubli catastrophique
  3. Pour l'arabe : utilisez CAMeL-BERT ou AraBERT, pas mBERT
  4. Export ONNX : inférence 3x plus rapide, sans PyTorch
BERTFine-TuningHuggingFaceTransformersProduction
O

Ossama Elhakki

Ingénieur IA & Systèmes ML — Maroc