đ§Ș Ă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).
| Famille | Exemples | Utilité réelle | Limites |
|---|---|---|---|
| Connaissances générales | MMLU, MMLU-Pro, GPQA | tri grossier entre familles | saturé, contaminé, ne prédit pas le métier |
| Calcul / raisonnement | GSM8K, MATH | vérifier la logique formelle | peu représentatif des tùches prose |
| Instruction following | IFEval, MT-Bench | qualité conversationnelle | résultats variables selon langue |
| Factualité | TruthfulQA, FActScore, HaluEval | résistance aux fausses croyances | mesure la factualité générale, pas votre domaine |
| Code | HumanEval, MBPP, SWE-bench | capacités de génération/édition | SWE-bench est le plus représentatif pour les agents |
| Ăvaluation holistique | HELM | profil multi-mĂ©triques | utile 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 :
| Champ | Exemple |
|---|---|
question | âQuelle est la procĂ©dure de validation dâune PR agent ?â |
source_attendue | chemin du document ou extrait de référence |
réponse_attendue | réponse courte ou critÚres de correction |
risque | faible, moyen, critique |
type | RAG, 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
| KPI | Question |
|---|---|
| Exactitude | La réponse est-elle correcte ? |
| Complétude | Couvre-t-elle les éléments essentiels ? |
| Cohérence | Se contredit-elle entre deux paragraphes ou deux tours ? |
| Respect de consigne | Suit-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 :
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 :
| Composant | KPI |
|---|---|
| Retrieval | context precision, context recall, taux de source correcte en top-k |
| Génération | faithfulness, 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 :
- Utiliser une grille explicite : exactitude, source, format, concision, risque.
- Demander une justification courte, pas seulement une note.
- Comparer en double aveugle : modÚle A/B anonymisés.
- Inverser lâordre des rĂ©ponses pour dĂ©tecter le biais de position.
- Ne pas utiliser le mĂȘme modĂšle comme candidat et comme juge.
- 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 :
| KPI | Seuil |
|---|---|
| Réponse avec source correcte | ℠95 % sur questions simples |
| Hallucination critique | 0 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égorie | Exemple |
|---|---|
| Retrieval ratĂ© | Le bon document nâest pas rĂ©cupĂ©rĂ© |
| Hallucination | Le modĂšle invente une politique inexistante |
| Mauvais format | JSON invalide, tableau cassé |
| Surconfiance | Répond alors que la source manque |
| Raisonnement faux | Bonne source, mauvaise conclusion |
| Régression | Ancien 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
| Besoin | Métrique prioritaire | Benchmark public utile | Test local indispensable |
|---|---|---|---|
| Chat général | préférence humaine, instruction following | MT-Bench, Chatbot Arena, IFEval | conversations métier anonymisées |
| RAG documentaire | faithfulness, context recall | RAGAS | questions sourcées sur vos documents |
| Agent code | patch correct, tests passés | SWE-bench | PRs simulées sur votre dépÎt |
| Résumé juridique / médical | factualité, omissions critiques | FActScore, TruthfulQA | revue humaine experte |
| Déploiement PME | TTFT, tokens/s, stabilité | benchmarks moteur | charge 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
-
Stanford CRFM, Holistic Evaluation of Language Models (HELM). https://crfm.stanford.edu/helm/ â©
-
Lin, Hilton, Evans, TruthfulQA: Measuring How Models Mimic Human Falsehoods, 2021. https://arxiv.org/abs/2109.07958 â©
-
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/ â©
-
Es et al., RAGAS: Automated Evaluation of Retrieval Augmented Generation, EACL 2024. https://aclanthology.org/2024.eacl-demo.16/ â©
-
Jimenez et al., SWE-bench: Can Language Models Resolve Real-World GitHub Issues?, ICLR 2024. https://www.swebench.com/original.html â©
-
Zheng et al., Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena, NeurIPS 2023. https://arxiv.org/abs/2306.05685 â©