Read in English · Leer en español · Auf Deutsch lesen
Section 12.5 sur 12.8 · Avancé · 28 min de lecture
Évaluer et tester les systèmes intégrant l’IA
Leçon vidéo
5 min · narré en anglais, avec sous-titresÉcouter seulement (audio)
Lire la transcription
Comment tester un composant dont les réponses varient, et peuvent changer du jour au lendemain sans aucune modification de votre code ? Cette leçon montre comment les professionnels évaluent les systèmes probabilistes.
Vérifier une calculatrice est facile : deux plus deux doit donner quatre. Vérifier une dissertation est plus difficile, car de nombreuses dissertations différentes méritent la note maximale. Les jurys d’examen s’en sortent en rédigeant un barème et en corrigeant un large échantillon de copies. Ils font appel à plusieurs correcteurs, comparent leurs notes et revérifient les cas limites. Tester un assistant fondé sur l’intelligence artificielle, ou IA, fonctionne de la même façon. Le résultat est une estimation assortie d’une marge d’erreur, et non un simple réussi ou échoué.
Les tests classiques affirment un comportement exact. Un modèle met cela à mal. La même entrée peut donner des sorties différentes, car le modèle procède par échantillonnage. De nombreuses sorties peuvent être également correctes. Une bonne réponse à un client qui demande où en est sa commande peut se formuler de cent façons. Et le comportement peut changer sans aucune modification de votre code, quand un fournisseur met à jour un modèle. L’affirmation utile est donc une mesure : l’assistant traite correctement quatre-vingt-treize pour cent des questions de remboursement, à plus ou moins trois points. Les benchmarks publics disent peu de chose de votre tâche. Les équipes fiables construisent leurs propres évaluations, ou evals, et les traitent comme la spécification exécutable.
L’actif le plus précieux de l’évaluation est le golden set : une collection versionnée de cas réalistes, chacun avec son résultat attendu. Les cas proviennent d’un échantillon du trafic de production, d’experts du domaine, des incidents et réclamations, et du red teaming. Découpez l’ensemble en segments, par intention, langue ou difficulté, afin qu’une régression dans un segment ne soit pas masquée par une amélioration dans un autre. Gardez une partie mise de côté que personne ne regarde pendant l’ajustement des prompts, sinon le score surestimera la qualité. Et ajoutez chaque défaillance de production confirmée comme nouveau cas.
La plupart des équipes utilisent un modèle comme juge, parce que cela passe à l’échelle. Mais il a des biais. Dans les comparaisons par paires, il tend à favoriser une position, généralement la première. Il note mieux les réponses plus longues, même quand elles n’apportent rien. Il peut favoriser les réponses de sa propre famille de modèles, et il peut même être manipulé par le texte de la réponse qu’il juge. Traitez donc le juge comme un instrument à étalonner. Utilisez des critères précis, exécutez les comparaisons par paires dans les deux ordres, et mesurez sa concordance avec des étiquettes humaines avant de lui faire confiance.
L’évaluation est une boucle. Elle commence par le golden set. Chaque modification passe par des évals hors ligne, une barrière qui compare la version candidate à la référence. Les versions qui réussissent passent à un test en ligne, comme un canari sur une petite part des utilisateurs, puis à la production complète. En production, la supervision prélève un à cinq pour cent des conversations pour les faire noter par un modèle juge et par des personnes. Le red teaming attaque le système délibérément, à la recherche d’injections, d’abus et de fuites. Le triage étiquette les défaillances, la dérive et les réclamations qu’ils trouvent, et les ajoute au golden set. Ainsi, chaque bug est corrigé une fois, et le reste.
Voici une suite d’évaluation pour l’assistant de support. Son golden set compte six cents cas, dont cent cinquante questions sur les allergènes et cinquante cas adversariaux. Cent vingt sont mis de côté. Deux responsables du support étiquettent deux cents cas, et le juge est d’accord avec eux sur cent quatre-vingt-deux. Mais sur les cinquante réponses que les humains ont jugées en échec, le juge en a validé huit. La grille est donc resserrée. Les seuils : réussite de la tâche d’au moins quatre-vingt-dix pour cent, conformité à la politique d’au moins quatre-vingt-dix-huit, et zéro réponse non fondée sur les allergènes, comme barrière stricte. Trois cent soixante-huit cas sur quatre cents réussissent : quatre-vingt-douze pour cent. Mais avec un échantillon de cette taille, le vrai chiffre se situe probablement entre quatre-vingt-neuf et quatre-vingt-quatorze. Zéro défaillance sur cent cinquante cas d’allergènes admet encore un vrai taux de défaillance allant jusqu’à environ deux pour cent. Un garde-fou bloque donc aussi toute réponse sur les allergènes qui ne cite pas de source. Aux prix indicatifs de la section, une exécution complète coûte environ deux dollars vingt pour la génération et six dollars soixante-quinze pour le jugement. C’est bien moins qu’une heure de relecture par un expert.
Une éval de régression est une fonction d’aptitude pour le comportement. Elle s’exécute chaque fois que change un prompt, une version de modèle, un paramètre de récupération, un outil ou un garde-fou. Même la modification d’un seul mot d’un prompt compte. Les suites sont organisées en niveaux. Un jeu de smoke tests de trente à cent cas s’exécute sur chaque pull request, et le golden set complet s’exécute chaque nuit et avant chaque mise en production. Comme les sorties varient, comparez la version candidate à la référence sur les mêmes cas, avec une marge qui reflète le bruit mesuré. Et les contraintes strictes, comme ne jamais approuver un remboursement supérieur à la politique, bloquent la mise en production à la moindre défaillance.
La section complète explique aussi comment les réponses rédigées de ce cours sont corrigées par un modèle, avec ses protections et ses limites. Ensuite, dans la section douze point six, nous verrons les garde-fous et la sûreté. À très vite.
Ce qu’il faut savoir
- Les composants d’IA sont probabilistes, admettent de nombreuses sorties acceptables et peuvent changer sans modification du code : l’évaluation mesure donc des taux de réussite sur des distributions de cas, avec des intervalles de confiance, plutôt que des résultats de tests isolés.
- Un golden set est une collection versionnée et stratifiée de cas avec les résultats attendus, tirés de la production, d’experts, d’incidents et du red teaming ; une partie mise de côté ne doit jamais servir à ajuster les prompts.
- La notation combine des vérifications déterministes, des métriques de référence, la réussite de la tâche, une notation humaine sur grille, le LLM comme juge et les signaux des utilisateurs ; chacun a ses points forts et ses angles morts.
- Les juges LLM présentent des biais de position, de verbosité et d’auto-favoritisme (Zheng et al., 2023) et peuvent subir des injections ; calibrez-les par rapport à des étiquettes humaines, utilisez des critères précis et figez leurs versions.
- L’évaluation hors ligne compare des versions sur les mêmes cas avant la mise en production ; l’évaluation en ligne (fantôme, canari, tests A/B) mesure des résultats réels ; la supervision et le red teaming réinjectent les nouvelles défaillances dans le golden set.
- Les évals de régression dans la CI jouent le rôle de fonctions d’aptitude pour le comportement, déclenchées par toute modification des prompts, des modèles, de la récupération ou des outils, avec des barrières à tolérance zéro pour les contraintes strictes.
- Les petits échantillons donnent de larges barres d’erreur : zéro défaillance sur 150 cas admet encore un taux de défaillance d’environ 2 % ; les défaillances inacceptables exigent donc des garde-fous dès la conception, en plus de l’évaluation.
Pourquoi tester des systèmes probabilistes est différent
Les tests classiques affirment un comportement exact : pour cette entrée, la fonction renvoie cette sortie, à chaque fois. Un composant construit autour d’un modèle de langage met à mal les trois hypothèses de cette phrase. La même entrée peut produire des sorties différentes, car le modèle effectue un échantillonnage dans une distribution de probabilité (section 12.1) ; de nombreuses sorties différentes peuvent être également correctes, car une bonne réponse à où en est ma commande ?
peut se formuler de cent façons ; et le comportement peut changer sans aucune modification de votre code, parce qu’un fournisseur met à jour un modèle, qu’un index de récupération est rafraîchi ou qu’un outil renvoie de nouvelles données. Un seul test réussi prouve donc peu de chose, et un seul test en échec ne signifie pas forcément que le système est cassé.
L’unité d’évaluation passe par conséquent du cas de test individuel à une distribution de cas. L’affirmation utile n’est pas l’assistant a répondu correctement à cette question de remboursement
mais l’assistant traite correctement 93 % des questions de remboursement, à plus ou moins 3 points, et n’a jamais approuvé un remboursement supérieur à la politique en 400 tentatives
. C’est une mesure assortie d’une incertitude, un peu comme un percentile de latence au chapitre 2. L’évaluation des systèmes d’IA est plus proche de la science expérimentale, avec ses échantillons, ses barres d’erreur et ses groupes témoins, que des tests unitaires.
Deux autres différences comptent sur le plan architectural. Premièrement, le système testé est le pipeline entier, et non le modèle : le modèle de prompt, la récupération, les définitions d’outils, le post-traitement, les garde-fous et la version du modèle produisent ensemble le comportement, et une modification de l’un d’eux peut améliorer une tâche et en dégrader silencieusement une autre. Deuxièmement, les benchmarks publics de modèles (classements de culture générale, de programmation ou de mathématiques) disent peu de chose de votre tâche, de vos données et de vos utilisateurs. Un modèle mieux classé peut faire moins bien sur vos conversations de support. Les équipes qui livrent des fonctionnalités d’IA fiables construisent presque toujours leurs propres évaluations (le plus souvent abrégées en evals) et les traitent comme la spécification exécutable du comportement qu’elles veulent obtenir.
Jeux de données d’évaluation et golden sets
Un golden set (jeu de référence) est une collection sélectionnée et versionnée d’entrées, accompagnées chacune du résultat attendu : une réponse exacte quand elle existe, une réponse de référence, une liste de faits que la réponse doit contenir, ou la grille d’évaluation selon laquelle elle sera jugée. C’est l’actif le plus précieux d’un programme d’évaluation de l’IA, et généralement le plus négligé.
Les bons cas proviennent de plusieurs sources. Un échantillon du trafic de production (anonymisé, voir la section 12.8) montre ce que les utilisateurs demandent réellement. Les experts du domaine rédigent les cas qui comptent le plus, comme les questions sur les allergènes ou les litiges de remboursement. Les cas limites viennent des incidents et des réclamations. Les cas adversariaux viennent du red teaming. Des cas synthétiques générés par un modèle peuvent combler rapidement des lacunes, mais des personnes doivent les relire, car un modèle tend à produire des questions qui ressemblent à ce qu’il traite déjà bien.
La structure compte autant que la taille. Stratifiez l’ensemble en segments (par intention, langue, type de client, canal, difficulté) afin qu’une régression dans un segment ne soit pas masquée par une amélioration dans un autre. Gardez une partie mise de côté que personne ne regarde pendant l’ajustement des prompts : si les ingénieurs retouchent un prompt jusqu’à ce que le golden set passe, le golden set est devenu une donnée d’entraînement et son score surestime la qualité réelle, la forme que prend dans l’IA la loi de Goodhart rencontrée à la section 3.8. Versionnez le jeu de données avec le code, notez quelle version a produit quel score, et ajoutez chaque défaillance de production confirmée comme nouveau cas, pour que chaque bug soit corrigé une fois et le reste.
Les façons de noter une sortie
| Méthode | Ce qu’elle vérifie | Points forts | Faiblesses |
|---|---|---|---|
| Vérifications déterministes | JSON valide par rapport à un schéma, champs obligatoires, citation présente, expressions interdites absentes, bon outil choisi, limites de longueur | Peu coûteuses, rapides, exactes, exécutées à chaque modification | Ne vérifient que la forme et des faits simples, pas si la réponse est juste ou utile |
| Correspondance exacte et métriques de référence | La sortie est égale à une référence ou la recoupe (correspondance exacte, F1 sur les champs extraits ; BLEU ou ROUGE pour le recouvrement de texte) | Objectives et reproductibles pour la classification et l’extraction | Pénalisent des réponses correctes formulées autrement ; les métriques de recouvrement sont mal corrélées à la qualité pour un texte ouvert |
| Réussite de la tâche | La tâche de bout en bout a-t-elle réussi : bon remboursement émis, ticket orienté vers la bonne équipe, réservation effectuée | Mesure ce qui compte pour l’entreprise | Exige un banc de test réaliste avec des doublures de test pour les outils ; plus long à construire |
| Notation sur grille par des personnes | Des experts notent selon des critères explicites (juste, complète, fondée sur les sources, conforme à la politique, ton) | Validité maximale pour une qualité nuancée ; source de vérité pour l’étalonnage | Lente, coûteuse, et les personnes ne sont pas d’accord entre elles ; exige des consignes et des contrôles de concordance |
| LLM comme juge (LLM-as-judge) | Un modèle note les sorties selon une grille, ou choisit la meilleure de deux sorties | Passe à l’échelle sur des milliers de cas ; bonne concordance avec les personnes quand il est bien conçu | Biais systématiques ; doit lui-même être validé par rapport à des étiquettes humaines |
| Signaux des utilisateurs | Pouces levés ou baissés, notes, transferts vers un humain, questions reformulées, conversations abandonnées | De vrais utilisateurs sur du vrai trafic | Rares, biaisés en faveur des utilisateurs mécontents ou très satisfaits, et brouillés par d’autres facteurs |
Le LLM comme juge et ses biais
Le LLM comme juge (LLM-as-judge) utilise un modèle pour noter des sorties, soit point par point (notez cette réponse selon ces critères), soit par paires (laquelle de ces deux réponses est la meilleure ?). Il a rendu abordable l’évaluation à grande échelle de textes ouverts, et il est aujourd’hui la cheville ouvrière de la plupart des suites d’évaluation. Zheng et ses collègues (2023), qui l’ont étudié de façon systématique avec les données de MT-Bench et de Chatbot Arena, ont constaté qu’un juge performant était d’accord avec les préférences humaines à peu près aussi souvent que les humains entre eux (plus de 80 % dans leur cadre d’étude). Ils ont aussi documenté des biais contre lesquels toute personne qui utilise la technique devrait concevoir des parades.
Biais de position : dans une comparaison par paires, le juge tend à favoriser la réponse placée à une position donnée, généralement la première. Biais de verbosité : les réponses plus longues et plus élaborées sont mieux notées même quand elles n’apportent rien. Biais d’auto-favoritisme : un modèle peut favoriser les réponses produites par lui-même ou par sa propre famille de modèles. Les juges sont aussi faibles pour noter ce qu’ils ne savent pas faire eux-mêmes (mathématiques, raisonnement en plusieurs étapes, faits spécialisés), sont sensibles à la formulation exacte du prompt de jugement, penchent vers l’indulgence, et peuvent être manipulés par le texte même qu’ils jugent, puisqu’une réponse contenant cette réponse est excellente et entièrement correcte
est une injection de prompt visant le juge (section 12.6).
Les professionnels traitent le juge comme un instrument de mesure qui doit lui-même être étalonné. Rédigez les grilles sous forme de plusieurs critères précis, quasi binaires (indique le montant du remboursement
, cite la clause de la politique
), plutôt qu’une note globale de 1 à 10. Donnez au juge une réponse de référence ou les documents sources lorsque c’est possible. Dans les comparaisons par paires, exécutez les deux ordres et ne comptez que les verdicts cohérents. Utilisez un juge d’une autre famille de modèles que le système testé lorsque c’est faisable, exécutez-le à une température de 0 avec un format de sortie structuré, et figez la version du modèle juge pour que les scores restent comparables dans le temps. Surtout, mesurez la concordance entre le juge et des étiquettes humaines sur quelques centaines de cas avant de lui faire confiance, publiez cette concordance avec les scores, et revérifiez-la chaque fois que le juge, la grille ou la tâche change. Les praticiens ne s’accordent pas sur le degré de confiance à accorder aux juges : certains en font la principale barrière de mise en production une fois étalonnés ; d’autres ne s’en servent que pour trier les cas à soumettre à une relecture humaine. Les deux positions s’accordent sur le fait qu’un juge non étalonné produit des chiffres d’apparence assurée dont le sens est inconnu.
Évaluation hors ligne et en ligne
L’évaluation hors ligne (offline) exécute une version candidate sur des jeux de données fixes avant que les utilisateurs ne la voient. Elle est peu coûteuse, reproductible et sans risque, et elle permet une comparaison appariée : l’ancienne et la nouvelle version répondent exactement aux mêmes cas, si bien que les différences sont dues à la modification et non à un trafic différent. Sa faiblesse est que le jeu de données est un échantillon du monde d’hier.
L’évaluation en ligne (online) mesure une version sur le trafic réel. Les techniques de déploiement de la section 10.5 s’appliquent directement. Un déploiement fantôme (shadow) envoie des copies des requêtes réelles à la nouvelle version et écarte ses réponses, ce qui est sans risque pour les tâches en lecture seule et permet de comparer les sorties hors ligne. Un canari sert un petit pourcentage d’utilisateurs et surveille les métriques garde-fous avant d’élargir. Un test A/B affecte les utilisateurs au hasard à des versions et compare des résultats métier tels que le taux de résolution, les transferts vers des agents humains, les recontacts dans les 48 heures et la satisfaction client. Les tests A/B répondent à la question que l’évaluation hors ligne ne peut pas trancher (cela aide-t-il vraiment les utilisateurs ?), mais ils exigent assez de trafic et de temps pour atteindre la significativité statistique, et chaque bras doit malgré tout respecter les seuils de sûreté : on ne fait pas de test A/B pour savoir si l’assistant peut divulguer des données à caractère personnel.
Les deux sont complémentaires, comme le montre le diagramme. L’évaluation hors ligne empêche les défaillances connues de revenir ; l’évaluation en ligne trouve les défaillances auxquelles personne n’avait pensé, qui deviennent ensuite de nouveaux cas hors ligne.
Le cycle de vie de l’évaluation
Les évaluations de régression dans la CI comme fonctions d’aptitude
Une fonction d’aptitude est une vérification automatisée qu’une caractéristique architecturale tient toujours. Une éval de régression (regression eval) est une fonction d’aptitude pour le comportement : elle s’exécute chaque fois que change un élément qui façonne le comportement du modèle (un modèle de prompt, une version de modèle, des paramètres de récupération comme la taille des fragments ou le top-k, une description d’outil, une règle de garde-fou) et fait échouer le pipeline si la qualité descend sous un seuil ou sous la référence de production actuelle de plus d’une marge convenue. Traitez les prompts et les identifiants de modèles comme du code précisément pour cette raison : modifier un seul mot d’un prompt est un changement de comportement et mérite la même barrière qu’une modification de code (section 12.7).
Comme les appels de modèles sont lents et coûtent de l’argent, les suites d’évaluation sont généralement organisées en niveaux. Un jeu de smoke tests de 30 à 100 cas avec des vérifications déterministes s’exécute sur chaque pull request en quelques minutes. Le golden set complet, noté par un juge, s’exécute chaque nuit et avant chaque mise en production. La relecture humaine, coûteuse, est réservée aux versions candidates et aux désaccords entre le juge et la référence. Le non-déterminisme rend instables les seuils naïfs : comparez donc à la référence sur les mêmes cas, exécutez plusieurs fois les cas incertains, et fixez les seuils avec une marge qui reflète le bruit mesuré d’une exécution à l’autre. Les contraintes strictes (ne jamais approuver un remboursement supérieur à la politique, ne jamais déclarer un allergène absent sans source) sont exprimées sous forme de vérifications à tolérance zéro qui bloquent la mise en production à la moindre défaillance, tandis que les qualités plus souples (ton, concision) sont suivies comme des tendances.
def gate(results, baseline, margin=0.02):
# results: one dict per golden case, from the candidate version
hard = [r for r in results if r["slice"] == "allergen" and not r["grounded"]]
if hard:
return False, f"{len(hard)} ungrounded allergen answers"
for name in ("task_success", "policy_ok"):
score = sum(r[name] for r in results) / len(results)
if score < baseline[name] - margin:
return False, f"{name} {score:.1%} vs baseline {baseline[name]:.1%}"
return True, "ok"La supervision en production
Une fois en service, une fonctionnalité d’IA peut se dégrader sans aucun déploiement. La dérive (drift) prend plusieurs formes : les entrées changent (une nouvelle carte, un nouveau pays, une réclamation devenue virale), les sources de connaissances changent (documents périmés ou nouvellement contradictoires dans l’index de récupération), le monde change si bien que la bonne réponse d’hier devient fausse (une nouvelle politique de remboursement), ou le modèle change parce qu’un fournisseur a mis à jour le modèle qui se cache derrière un alias. Figez des versions de modèles datées lorsque les fournisseurs en proposent, et traitez une mise à niveau comme une mise en production qui passe par la barrière.
La supervision ajoute donc des signaux de qualité à l’observabilité habituelle de la latence, des erreurs et du coût. La pratique courante consiste à échantillonner une petite fraction des conversations (1 à 5 % est fréquent) pour une notation automatique par un juge, une fraction plus petite pour une relecture humaine, et à suivre les résultats par segment avec des alertes en cas de baisse. Les signaux implicites sont bon marché et abondants : transferts vers un humain, utilisateurs qui répètent ou reformulent une question, sessions abandonnées, remboursements annulés par le personnel. Le retour explicite (pouce levé ou baissé) est précieux mais rare et biaisé. Suivez aussi la distribution des entrées, par exemple la part de chaque intention et des questions que le classifieur ne sait pas classer : une part croissante d’inconnu
est un signal précoce que le golden set ne représente plus la réalité. Les journaux de production utilisés pour l’évaluation contiennent des données à caractère personnel : l’accès, la conservation et l’anonymisation doivent donc être prévus dès le départ (section 12.8).
Red teaming
Le red teaming est un test adversarial délibéré : des personnes, parfois aidées par des générateurs d’attaques automatisés, essaient de faire dérailler le système. Les cibles comprennent les jailbreaks qui contournent les politiques de contenu, l’injection de prompt par des documents ou des résultats d’outils, la fuite du prompt système ou des données d’autres clients, l’abus d’outils (émettre des remboursements, envoyer des messages), la production de contenus nuisibles ou diffamatoires, et l’envolée des coûts. Le red teaming est le plus utile avant le lancement et après des changements importants, mené par des personnes qui n’ont pas construit le système. Des outils open source peuvent générer de grandes quantités de schémas d’attaque connus, mais des testeurs humains créatifs trouvent encore les défaillances propres à votre domaine. Chaque attaque réussie devient un cas de régression, et les schémas découverts alimentent la conception des garde-fous de la section 12.6. Le red teaming trouve des problèmes ; il ne peut jamais prouver leur absence.
Exemple commenté
Exemple commenté : une suite d’évaluation pour l’assistant de support
L’assistant de support de la plateforme de livraison de repas (section 12.2) répond aux questions sur le statut des commandes, traite les réclamations pour articles manquants et livraisons en retard au moyen d’un outil de remboursement, répond aux questions sur les allergènes à partir des données des restaurants et transfère les demandes à des agents humains. L’équipe conçoit sa suite d’évaluation avant le lancement. Tous les prix sont donnés à titre d’illustration.
| Golden set (jeu de référence) | 600 cas : 100 pour chacun des sujets statut de commande, articles manquants, livraison en retard et modifications de compte ; 150 questions sur les allergènes ; 50 cas adversariaux (injection, abus, hors périmètre). 120 cas sont mis de côté et ne servent jamais pendant l’ajustement des prompts. |
|---|---|
| Notation | Vérifications déterministes (appel d’outil valide, montant du remboursement conforme à la politique, citation présente), plus un juge qui note quatre critères binaires : juste, fondée sur les données récupérées, conforme à la politique, transfert approprié. |
| Étalonnage du juge | Deux responsables du support étiquettent 200 cas. Le juge et les humains sont d’accord sur 182 (91 %) ; le kappa de Cohen est de 0,76. Mais sur les 50 réponses que les humains ont jugées en échec, le juge en a validé 8 (16 %) : des décisions de mise en production fondées sur le seul juge surestimeraient donc la qualité. La grille est resserrée et la concordance mesurée à nouveau. |
| Seuils | Réussite de la tâche d’au moins 90 % ; conformité à la politique d’au moins 98 % ; réponses sur les allergènes : zéro réponse non fondée (barrière stricte) ; aucun cas ne peut passer de réussi à échoué sur deux exécutions consécutives sans relecture. |
| Confiance | 368 des 400 cas des quatre intentions principales réussissent (92 %). L’intervalle de Wilson à 95 % va d’environ 88,9 % à 94,3 % : un résultat annoncé de 92 % signifie donc en réalité probablement entre 89 % et 94 %. |
| Zéro défaillance | 0 réponse non fondée sur 150 cas d’allergènes. D’après la règle de trois, le vrai taux de défaillance pourrait encore atteindre environ 3/150 = 2 % (confiance à 95 %). L’évaluation seule ne peut pas prouver la sûreté ici : un garde-fou bloque donc aussi toute réponse sur les allergènes qui ne cite pas de source. |
| Détecter les régressions | Détecter une baisse de 92 % à 89 % entre deux échantillons indépendants avec une puissance de 80 % exige environ 1500 cas par version. Exécuter les deux versions sur les mêmes cas et tester les paires discordantes (test de McNemar) en exige bien moins, ce qui est l’une des raisons pour lesquelles la comparaison hors ligne appariée est la barrière standard. |
| Coût d’une exécution complète | Génération : 600 × (2500 tokens d’entrée + 300 tokens de sortie) à $1 et $4 par million font environ $2,20. Jugement avec un modèle plus grand : 600 × (3000 tokens d’entrée + 150 de sortie) à $3 et $15 par million font environ $6,75. Trois exécutions répétées pour mesurer le bruit coûtent moins de $30, bien moins qu’une heure de relecture par un expert. |
| En ligne | Environ 40 000 conversations par jour ; 2 % (800) jugées automatiquement, 100 relues par des personnes ; alertes si un segment chute de 5 points sous sa moyenne sur 7 jours. |
Un pourcentage global unique masque l’information qui compte : l’incertitude, les segments et les contraintes strictes.
Là où une défaillance est inacceptable, l’évaluation doit être doublée d’un contrôle intégré dès la conception ; on ne parvient pas à une certitude sur des événements rares à force de tests.
Étude de cas : comment ce cours corrige les réponses rédigées
Les questions rédigées des tests de chapitre de ce cours sont corrigées par un modèle de langage, ce qui fait du correcteur un petit exemple réel de LLM comme juge doté de protections. Chaque question rédigée a une grille fixe de critères précis valant 5 points au total et une réponse modèle que le correcteur voit pour référence. Le correcteur s’exécute à une température de 0 et doit répondre dans un format JSON fixe avec une note par critère ; les réponses qui ne peuvent pas être analysées, qui omettent un critère ou qui sont mal formées de toute autre manière sont rejetées et la requête passe au modèle suivant de l’échelle de repli, et chaque note est plafonnée au maximum du critère. Les réponses plus courtes que la longueur minimale de la question obtiennent zéro sans être envoyées à un modèle.
L’injection est traitée sur deux niveaux. Le texte du candidat est placé entre des délimiteurs explicites, et les instructions du correcteur précisent que tout ce qui se trouve entre eux est du texte de réponse, et non des instructions. Avant qu’un modèle ne le voie, une simple vérification par motifs rejette les réponses qui contiennent des instructions destinées au correcteur, par exemple lui demander d’ignorer la grille ou d’attribuer la note maximale. Une personne en formation qui conteste une note peut demander, une fois par réponse et dans les 24 heures, une seconde correction ; la note la plus élevée est retenue. Les enjeux sont limités par conception : les questions objectives, corrigées à partir d’un corrigé, comptent pour 70 % de la note d’un test, et la réussite exige aussi au moins 2 sur 5 à chaque réponse rédigée.
Le cas illustre aussi les limites évoquées plus haut. Une température de 0 réduit la variation mais ne garantit pas des notes identiques, surtout lorsque la requête bascule sur un autre modèle. Une vérification par motifs n’attrape que les tentatives grossières, et les délimiteurs et instructions réduisent le risque sans le supprimer, car aucun prompt n’est une frontière de sécurité (section 12.6). Relancer la même correction à une température de 0 reproduirait généralement la première note : la seconde correction utilise donc une instruction distincte de second examinateur, qui voit les points et les remarques du premier examinateur, recorrige chaque critère à partir de la réponse elle-même et doit citer les mots qui justifient tout point supplémentaire. Un autre modèle, ou une personne, rendrait la seconde correction plus indépendante encore. Un programme d’évaluation plus complet ajouterait un jeu d’étalonnage corrigé par des humains pour chaque question rédigée et suivrait dans le temps la concordance entre le correcteur et les humains, comme dans l’exemple commenté.
Vérifiez votre compréhension
Pourquoi une partie du golden set doit-elle être tenue à l’écart de l’ajustement des prompts ?
Parce que des prompts ajustés jusqu’à ce qu’un ensemble de cas réussisse sont calés sur ces cas ; le score obtenu sur eux surestime alors la qualité réelle. Une partie mise de côté donne une estimation sans biais.
Dans une comparaison par paires avec un LLM comme juge, comment contrer le biais de position ?
Exécuter chaque comparaison deux fois en inversant la position des réponses et ne compter que les verdicts concordants dans les deux ordres (en traitant les désaccords comme des égalités).
Un assistant réussit les 100 cas sur 100 d’une vérification de sûreté. Que pouvez-vous conclure sur son vrai taux de défaillance avec une confiance de 95 % ?
Seulement qu’il est probablement inférieur à environ 3 % (la règle de trois, 3/n). Zéro défaillance observée ne signifie pas un risque nul.
Citez trois modifications qui devraient déclencher une éval de régression alors qu’aucun code applicatif n’a changé.
Trois au choix parmi : une modification du modèle de prompt, une mise à niveau de la version du modèle, des paramètres de récupération comme la taille des fragments ou le top-k, une description d’outil, une règle de garde-fou, ou une base de connaissances réindexée.
Sources et lectures complémentaires
- Zheng et al.: Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena (2023)
- NIST AI 600-1: Artificial Intelligence Risk Management Framework, Generative AI Profile (2024)
- Hamel Husain: Your AI Product Needs Evals
- Inspect: an open-source framework for large language model evaluations (UK AI Security Institute)
Une question sur cette section ? ArchitectBot, l’assistant d’étude IA du cours, répond d’abord à partir du cours.
Demander : « Combien de cas de test me faut-il avant de pouvoir être sûr qu’un nouveau prompt pour notre assistant de support est vraiment meilleur que l’ancien ? »