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.