Aller au contenu

đŸ§Ș Évaluer un modĂšle local

Choisir un modĂšle local ne consiste pas Ă  prendre le premier nom en haut d’un leaderboard. Un modĂšle peut ĂȘtre excellent en mathĂ©matiques, mĂ©diocre en français mĂ©tier, rapide mais hallucinĂ©, ou trĂšs bon en RAG mais dangereux pour modifier un dĂ©pĂŽt.


Les trois niveaux d’évaluation

1. Les benchmarks publics

Les benchmarks publics donnent une premiÚre orientation, mais leur valeur prédictive pour un usage en entreprise est sévÚrement limitée en 2026.

Les benchmarks restent utiles pour trier grossiÚrement les familles de modÚles, ou pour vérifier des capacités trÚs ciblées (raisonnement formel, code syntaxiquement correct). Pour cela, préférez les tests à domaine spécifique et les évaluations sur données réelles (SWE-bench pour le code, par exemple, car il mesure sur de vraies issues GitHub, pas sur des exercices mémorisables).

FamilleExemplesUtilité réelleLimites
Connaissances généralesMMLU, MMLU-Pro, GPQAtri grossier entre famillessaturé, contaminé, ne prédit pas le métier
Calcul / raisonnementGSM8K, MATHvérifier la logique formellepeu représentatif des tùches prose
Instruction followingIFEval, MT-Benchqualité conversationnellerésultats variables selon langue
FactualitéTruthfulQA, FActScore, HaluEvalrésistance aux fausses croyancesmesure la factualité générale, pas votre domaine
CodeHumanEval, MBPP, SWE-benchcapacités de génération/éditionSWE-bench est le plus représentatif pour les agents
Évaluation holistiqueHELMprofil multi-mĂ©triquesutile en complĂ©ment, pas en remplacement du test mĂ©tier

HELM rappelle qu’un modĂšle n’est pas seulement “bon” ou “mauvais” : il a un profil — exactitude, robustesse, calibration, biais, toxicitĂ©, efficacitĂ©1. Mais mĂȘme un profil HELM favorable ne garantit rien sur vos donnĂ©es.

2. Votre banc d’essai mĂ©tier

La vraie comparaison commence avec un golden dataset : un petit jeu de questions représentatives, validé par un humain compétent.

Un bon jeu de test contient :

  • 20 Ă  50 questions simples, oĂč la rĂ©ponse attendue est claire ;
  • 20 Ă  50 questions difficiles, ambiguĂ«s ou piĂšges ;
  • 10 Ă  20 cas “ne pas rĂ©pondre” : absence d’information, demande hors pĂ©rimĂštre, conflit entre sources ;
  • quelques questions longues qui testent la fenĂȘtre de contexte et le KV Cache ;
  • des formats de sortie obligatoires : JSON, tableau, rĂ©sumĂ© court, citation de source.

Pour chaque question, stockez :

ChampExemple
question”Quelle est la procĂ©dure de validation d’une PR agent ?”
source_attenduechemin du document ou extrait de référence
réponse_attendueréponse courte ou critÚres de correction
risquefaible, moyen, critique
typeRAG, raisonnement, synthĂšse, extraction, refus

3. La validation humaine

Les scores automatiques accélÚrent le tri, mais la décision finale doit rester humaine pour les usages critiques.


Quels KPI mesurer ?

Qualité de réponse

KPIQuestion
ExactitudeLa réponse est-elle correcte ?
ComplétudeCouvre-t-elle les éléments essentiels ?
CohérenceSe contredit-elle entre deux paragraphes ou deux tours ?
Respect de consigneSuit-elle le format demandé ?
Refus appropriĂ©Sait-elle dire “je ne sais pas” quand la source manque ?

Hallucinations et factualité

TruthfulQA teste la capacitĂ© d’un modĂšle Ă  Ă©viter des rĂ©ponses fausses mais plausibles, souvent apprises en imitant des textes humains2. FActScore va plus loin sur les textes longs : il dĂ©coupe la rĂ©ponse en faits atomiques et vĂ©rifie quelle proportion est supportĂ©e par une source fiable3.

Pour un guide interne, le KPI le plus utile est souvent :

Taux d’hallucination critique=reˊponses fausses dangereusesreˊponses totales\text{Taux d'hallucination critique} = \frac{\text{rĂ©ponses fausses dangereuses}}{\text{rĂ©ponses totales}}

Une hallucination critique n’est pas juste une erreur : c’est une rĂ©ponse qui pourrait dĂ©clencher une mauvaise dĂ©cision mĂ©tier.

RAG

Pour une architecture RAG, il faut séparer le problÚme en deux :

ComposantKPI
Retrievalcontext precision, context recall, taux de source correcte en top-k
Générationfaithfulness, answer relevancy, citation correcte

RAGAS propose justement d’évaluer la fidĂ©litĂ© de la rĂ©ponse au contexte, la pertinence de la rĂ©ponse et la qualitĂ© du contexte rĂ©cupĂ©rĂ©, sans toujours exiger une rĂ©ponse humaine de rĂ©fĂ©rence4.

Code et agents

Pour un agent custodien ou un outil comme Aider, les benchmarks de complĂ©tion ne suffisent pas. Il faut tester l’édition rĂ©elle :

  • le patch compile-t-il ?
  • les tests passent-ils ?
  • le diff est-il minimal ?
  • le modĂšle respecte-t-il les fichiers autorisĂ©s ?
  • casse-t-il le Markdown, les frontmatter YAML ou les wikilinks ?
  • boucle-t-il sur la mĂȘme correction ?

SWE-bench mesure cette capacitĂ© Ă  partir de vrais issues GitHub : le modĂšle doit produire un patch et les tests du dĂ©pĂŽt servent d’arbitre5. C’est beaucoup plus proche d’un agent de maintenance qu’un simple benchmark de gĂ©nĂ©ration de fonction.

Performance locale

MĂȘme si ce chapitre parle surtout de qualitĂ©, il faut toujours mesurer :

  • TTFT ;
  • tokens/s ;
  • VRAM utilisĂ©e au repos et sous charge ;
  • consommation du KV Cache ;
  • dĂ©bit avec 1, 5, 20 utilisateurs simultanĂ©s ;
  • stabilitĂ© aprĂšs 1 heure de charge.

Utiliser une IA comme juge ?

Oui, mais avec prudence.

Le modĂšle juge (LLM-as-a-judge) est utile pour prĂ©-trier beaucoup de rĂ©ponses ouvertes. Les travaux autour de MT-Bench et Chatbot Arena montrent qu’un juge fort peut approcher l’accord humain sur des prĂ©fĂ©rences conversationnelles, mais avec des biais documentĂ©s : position de la rĂ©ponse, verbositĂ©, prĂ©fĂ©rence pour sa propre famille de modĂšles6.

Bonnes pratiques :

  1. Utiliser une grille explicite : exactitude, source, format, concision, risque.
  2. Demander une justification courte, pas seulement une note.
  3. Comparer en double aveugle : modÚle A/B anonymisés.
  4. Inverser l’ordre des rĂ©ponses pour dĂ©tecter le biais de position.
  5. Ne pas utiliser le mĂȘme modĂšle comme candidat et comme juge.
  6. Faire relire manuellement un échantillon de décisions.

Protocole concret en 7 étapes

Étape 1 — DĂ©finir la tĂąche

Exemples :

  • assistant RAG pour documents RH ;
  • agent custodien qui corrige un vault Markdown ;
  • rĂ©sumĂ© juridique ;
  • extraction JSON de factures ;
  • support interne niveau 1.

Étape 2 — DĂ©finir les seuils d’acceptation

Exemple pour un assistant documentaire :

KPISeuil
RĂ©ponse avec source correcte≄ 95 % sur questions simples
Hallucination critique0 tolérée
Refus correct quand source absente≄ 90 %
TTFT< 2 s
DĂ©bit≄ 10 tokens/s par utilisateur interactif

Étape 3 — Construire le golden dataset

Commencez petit. Un fichier CSV ou JSONL suffit :

{"id":"rag-001","question":"Quel scénario convient à 10 utilisateurs sur un modÚle 70B ?","expected_source":"04-blueprints/scenario-b-sme-appliance.md","risk":"medium","type":"rag"}

Étape 4 — Figier les paramùtres

Pour comparer correctement :

  • mĂȘme prompt systĂšme ;
  • mĂȘme tempĂ©rature ;
  • mĂȘme taille de contexte ;
  • mĂȘme quantification ;
  • mĂȘme moteur d’infĂ©rence ;
  • mĂȘme matĂ©riel ;
  • mĂȘme version du modĂšle.

Étape 5 — ExĂ©cuter plusieurs runs

Un seul passage ne suffit pas. Les LLMs sont non déterministes dÚs que la température dépasse zéro.

Pour les tĂąches critiques, lancez au moins 3 runs et notez :

  • score moyen ;
  • pire rĂ©ponse ;
  • variabilitĂ© entre runs ;
  • erreurs rĂ©currentes.

Étape 6 — Analyser les erreurs

Classez chaque erreur :

CatégorieExemple
Retrieval ratĂ©Le bon document n’est pas rĂ©cupĂ©rĂ©
HallucinationLe modĂšle invente une politique inexistante
Mauvais formatJSON invalide, tableau cassé
SurconfianceRépond alors que la source manque
Raisonnement fauxBonne source, mauvaise conclusion
RégressionAncien modÚle répondait correctement, nouveau échoue

Étape 7 — DĂ©cider

Le meilleur modÚle est rarement le plus gros. Le bon modÚle est celui qui passe les seuils, tient dans votre VRAM, respecte la confidentialité et reste opérable.


Matrice de décision

BesoinMétrique prioritaireBenchmark public utileTest local indispensable
Chat généralpréférence humaine, instruction followingMT-Bench, Chatbot Arena, IFEvalconversations métier anonymisées
RAG documentairefaithfulness, context recallRAGASquestions sourcées sur vos documents
Agent codepatch correct, tests passésSWE-benchPRs simulées sur votre dépÎt
Résumé juridique / médicalfactualité, omissions critiquesFActScore, TruthfulQArevue humaine experte
Déploiement PMETTFT, tokens/s, stabilitébenchmarks moteurcharge concurrente sur matériel cible

Voir aussi

Stratégie de déploiement progressif

Au-delĂ  de l’évaluation hors production, une mise en service progressive rĂ©duit le risque d’exposer des utilisateurs Ă  un modĂšle non maĂźtrisĂ©. Trois phases sĂ©quentielles constituent le pattern recommandĂ©.

Phase 1 — Mock-First

Avant de connecter un LLM rĂ©el, toute l’infrastructure asynchrone (API, file d’attente, workers, rĂ©actions frontend) est validĂ©e avec des rĂ©ponses mock dĂ©terministes. Cette phase vĂ©rifie que le systĂšme gĂšre correctement la latence et que l’interface se dĂ©grade proprement — sans introduire la non-dĂ©terminisme d’un vrai modĂšle.

Phase 2 — Shadow Mode

Le LLM rĂ©el est connectĂ© au trafic de production, mais ses sorties sont uniquement journalisĂ©es — jamais affichĂ©es aux utilisateurs. Cette phase mesure :

  • le taux d’erreurs de formatage JSON (le modĂšle respecte-t-il fiablement le schĂ©ma de sortie ?) ;
  • la latence p95 sous charge rĂ©elle ;
  • la pertinence RAG (les documents rĂ©cupĂ©rĂ©s sont-ils utiles pour la requĂȘte ?).

Durée typique : 1 à 2 semaines sur trafic réel avant de passer à la phase suivante.

Phase 3 — Human-in-the-Loop activation

Les rĂ©sultats IA deviennent visibles pour les utilisateurs. Toute action d’écriture (auto-classification, prĂ©-remplissage, modification de contenu) exige une confirmation humaine explicite avant exĂ©cution. C’est la derniĂšre barriĂšre de sĂ©curitĂ© avant l’automatisation complĂšte.

flowchart LR
    A[Mock-First] --> B[Shadow Mode]
    B --> C{Métriques OK ?}
    C -- Non --> B
    C -- Oui --> D[HITL activation]
    D --> E{Confiance ≄ seuil ?}
    E -- Non --> F[Dégradation silencieuse]
    E -- Oui --> G[Action automatique]

Sources

Footnotes

  1. Stanford CRFM, Holistic Evaluation of Language Models (HELM). https://crfm.stanford.edu/helm/ ↩

  2. Lin, Hilton, Evans, TruthfulQA: Measuring How Models Mimic Human Falsehoods, 2021. https://arxiv.org/abs/2109.07958 ↩

  3. Min et al., FActScore: Fine-grained Atomic Evaluation of Factual Precision in Long Form Text Generation, EMNLP 2023. https://aclanthology.org/2023.emnlp-main.741/ ↩

  4. Es et al., RAGAS: Automated Evaluation of Retrieval Augmented Generation, EACL 2024. https://aclanthology.org/2024.eacl-demo.16/ ↩

  5. Jimenez et al., SWE-bench: Can Language Models Resolve Real-World GitHub Issues?, ICLR 2024. https://www.swebench.com/original.html ↩

  6. Zheng et al., Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena, NeurIPS 2023. https://arxiv.org/abs/2306.05685 ↩