Aller au contenu
Cercle IA Tech · Fine-tuning Un site du réseau Cercle IA Tech

Guide

Évaluer un modèle fine-tuné : méthode et métriques

Comment savoir si votre modèle affiné fait mieux que le modèle de base : jeu de test, critères mesurables, notation automatique ou par un LLM, oubli.

Mis à jour le

Un modèle affiné s'évalue en comparant, sur un même jeu de test jamais vu à l'entraînement, ses réponses à celles du modèle de base bien instruit. Si l'écart n'est pas mesurable, le fine-tuning n'a rien apporté. La méthode tient en quatre temps : définir des critères, constituer le jeu de test, choisir la façon de noter, vérifier ce que le modèle a perdu.

1. Des critères avant l'entraînement

La documentation d'Anthropic demande des critères de réussite précis, mesurables, atteignables et pertinents. « De bonnes performances » n'est pas un critère ; « catégorie correcte pour au moins tant de demandes sur cent » en est un. Écrivez-les avant d'entraîner, sinon vous risquez de choisir après coup la mesure qui arrange.

Exemples de critères pour un modèle affiné :

Objectif du fine-tuning Critère mesurable
Respecter un gabarit part des réponses qui contiennent toutes les rubriques attendues
Classer des demandes part de catégories exactes sur le jeu de test
Adopter un ton note moyenne de ton sur une échelle de 1 à 5
Raccourcir la consigne même qualité qu'avant, avec une consigne réduite

2. Un jeu de test à part

La documentation de Mistral recommande, en plus du jeu d'entraînement, un jeu de validation et un jeu de test ; Google recommande fortement un jeu de validation pour mesurer l'effet du réglage. Le jeu de test reste sous clé jusqu'à la fin. Trois règles d'Anthropic pour le construire :

  • coller à la réalité : la répartition des cas doit refléter ce que le modèle verra en production, cas limites compris ;
  • automatiser la notation dès que possible (choix multiple, comparaison de chaînes, notation par code ou par un modèle) ;
  • privilégier le volume : beaucoup de questions notées automatiquement valent mieux que peu de questions notées à la main.

3. Choisir la façon de noter

Méthode Pour quoi Limite
Correspondance exacte (par code) classement, extraction, sortie à valeur fixe ne tolère aucune reformulation
Similarité de sens (embeddings) réponses qui peuvent être reformulées ne juge pas la justesse sur le fond
ROUGE-L (plus longue suite de mots commune) résumés comparés à un résumé de référence mesure le recouvrement des mots, pas la qualité
Notation par un modèle (échelle de 1 à 5, ou oui / non) ton, respect d'une règle, critère subjectif demande une grille claire et des vérifications

Pour la notation par un modèle, Anthropic recommande d'utiliser un modèle différent de celui qui a produit la réponse, de définir l'échelle (ce que vaut 1, ce que vaut 5) et d'imposer un format de sortie simple (« répondez seulement par le chiffre »). Le code le plus simple, pour un classement :

def correspondance_exacte(sortie, attendu):
    return sortie.strip().lower() == attendu.lower()

precision = sum(correspondance_exacte(s, cas["attendu"])
                for s, cas in zip(sorties, jeu_de_test)) / len(jeu_de_test)

4. Vérifier ce que le modèle a perdu

Un fine-tuning peut dégrader ce que le modèle faisait bien hors de votre tâche. L'étude « LoRA Learns Less and Forgets Less » (2024) l'a mesuré : en programmation et en mathématiques, le fine-tuning complet apprend davantage que LoRA mais fait davantage oublier au modèle ses compétences d'origine. Ajoutez donc à votre jeu de test quelques tâches générales (rédiger un courriel, résumer un texte) et vérifiez qu'elles ne se dégradent pas.

Ce que disent les indicateurs d'entraînement

Pendant l'entraînement, TRL affiche notamment la perte (loss) et la part de jetons correctement prédits (mean_token_accuracy). Utiles pour repérer un problème (une perte de validation qui remonte signale un surapprentissage), ils ne disent pas si le modèle répond mieux à vos utilisateurs. Sur Vertex AI, les évaluations lancées pendant le réglage sont facturées comme des traitements par lots : prévoyez-les dans le budget (Coût d'un fine-tuning).

Pour aller plus loin

  • Les classements publics mesurent autre chose que votre tâche : voir Benchmarks de LLM.
  • Si votre système récupère aussi des documents, son évaluation a ses propres règles : Évaluer un RAG.
  • Pour les tâches en plusieurs étapes avec outils : Évaluer un agent IA.

Questions fréquentes

La perte d'entraînement suffit-elle à juger un fine-tuning ?

Non. Elle dit si le modèle reproduit ses exemples, pas s'il fait mieux sur votre tâche réelle. Il faut un jeu de test mis de côté et des critères mesurés sur le modèle de base et sur le modèle affiné.

Peut-on faire noter les réponses par un autre modèle ?

Oui, c'est l'une des méthodes décrites par Anthropic, avec une échelle de notes ou une réponse oui / non. Sa documentation recommande d'utiliser un modèle différent de celui qui a produit la réponse.

Sources

Pages consultées pour écrire cet article :

  1. https://platform.claude.com/docs/en/test-and-evaluate/develop-tests
  2. https://huggingface.co/docs/trl/sft_trainer
  3. https://docs.cloud.google.com/vertex-ai/generative-ai/docs/models/gemini-supervised-tuning
  4. https://docs.mistral.ai/resources/deprecated/finetuning/text_vision_finetuning
  5. https://arxiv.org/abs/2405.09673

À lire aussi