Tutoriel

Statut éditorial : En attente de relecture

Fine-tuner un modèle avec Transformers Trainer

Préparer un dataset, tokenizer les exemples et entraîner un modèle de classification avec Trainer et une évaluation reproductible.

Classification du contenu

Types

  • Modèles et API
  • Pratiques
Niveau
Avancé
Publié le
11 août 2026
Dernière relecture
Relecture en attente
Prochaine vérification
11 novembre 2026

Trainer orchestre entraînement, évaluation et checkpoints. Nous utilisons une classification de texte, plus légère et plus facile à mesurer qu’un grand modèle génératif.

Installer

~~~bash pip install -U transformers datasets evaluate accelerate torch scikit-learn ~~~

Charger et tokeniser

~~~python from datasets import load_dataset from transformers import AutoTokenizer

model_id = 'distilbert-base-multilingual-cased' dataset = load_dataset('csv', data_files={'train':'train.csv','test':'test.csv'}) tokenizer = AutoTokenizer.from_pretrained(model_id)

def tokenize(batch): return tokenizer(batch['text'], truncation=True, max_length=256)

tokenized = dataset.map(tokenize, batched=True) ~~~

Les fichiers contiennent text et label. Vérifiez doublons, distribution et absence de fuite entre train et test.

Configurer

~~~python from transformers import AutoModelForSequenceClassification, TrainingArguments, Trainer

model = AutoModelForSequenceClassification.from_pretrained(model_id, num_labels=3) args = TrainingArguments( output_dir='runs/support-v1', learning_rate=2e-5, per_device_train_batch_size=16, per_device_eval_batch_size=32, num_train_epochs=3, eval_strategy='epoch', save_strategy='epoch', load_best_model_at_end=True, report_to='none', seed=42, ) ~~~

Ajoutez compute_metrics avec accuracy et F1 macro, puis créez Trainer avec model, args, jeux et tokenizer ou processing_class selon la version installée.

Entraîner et évaluer

~~~python trainer.train() print(trainer.evaluate()) trainer.save_model('models/support-v1') tokenizer.save_pretrained('models/support-v1') ~~~

Comparez au modèle de base et à une règle simple. Inspectez matrice de confusion et erreurs par classe.

Production

Conservez commit du modèle, versions, seed, code de préparation et dataset. Documentez licence, biais et seuils. Un checkpoint performant sur test ne remplace pas une validation sur données récentes.

FAQ

Pourquoi F1 macro ?

Elle donne le même poids aux classes et révèle mieux une classe rare ignorée.

Trainer convient-il aux LLM ?

Oui dans certains cas, mais TRL et PEFT offrent des outils spécialisés pour SFT et LoRA.

Sources utilisées