Bibliothèque · Résumé et avis

Évaluer des LLM en production

D'Ammar Mohanna, Indrajit Kar et Zonunfeli Ralte. Une discipline pour décider qu'un produit à LLM peut sortir : solide en méthode, sans rien de mesuré sur le juge.

FR EN
Couverture de Évaluer des LLM en production, Ammar Mohanna, Indrajit Kar et Zonunfeli Ralte

Évaluer des LLM en production

Practical LLM Evaluation for Production Systems: Measure, monitor, and improve AI system reliability across training and inference

6.4 /10

« Une discipline claire pour décider d'une sortie, un juge LLM traité en instrument bruité, et, dans les parties lues, aucune mesure sur le juge. »

  • AuteursAmmar Mohanna, Indrajit Kar, Zonunfeli Ralte
  • VOPackt, 2026 · version cours ExpertEdge, 8 h 06
  • LangueEn anglais uniquement
  • Fiche~9 min de lecture
  • Le lire Lire sur ExpertEdge Code : -50 % sur l'abonnement annuel. Lien affilié : je touche une commission si vous vous abonnez avec ce code. Mes notes n'en dépendent pas.
Notation du livre sur 5 dimensionsIdées6/10Applicable7/10Lisibilité6/10Actualité7/10Exemples6/10

Un mode d'emploi pour décider qu'un produit à LLM peut sortir : preuves, seuils, portes, boucle fermée. Solide en méthode, mais rien de mesuré sur le juge dans les parties lues.

Pourquoi ce livre

Mes fiches et mes articles passent par des LLM qui les notent. Un relecteur lit, un rédacteur corrige, un juge séparé de l'auteur donne la note, et un juge aveugle ne voit jamais celle que j'ai proposée, pour ne pas s'y accrocher. Je pilote aussi des agents de code. Une question revient : comment savoir qu'une sortie de LLM est bonne, et que ma mesure elle-même tient ?

Ce livre la traite à l'échelle d'un produit. Il est signé Ammar Mohanna, Indrajit Kar et Zonunfeli Ralte, chez Packt, en 2026. Je l'ai lu en version cours sur ExpertEdge, l'abonnement de Packt : 147 leçons, 8 h 06, onze sections, environ 969 000 caractères extraits. La plateforme l'affiche niveau Intermediate. Ma lecture est ciblée, assumée. Les sections 1 (fondations), 3 (inférence texte) et 8 (agents) sont lues en entier, soit un peu moins du quart du texte (environ 224 000 caractères). Les huit autres, je les ai survolées par leurs phrases d'ouverture. Elles traitent d'entraînement, de vision, de mélanges d'experts et d'OCR, hors sujet pour un produit qui appelle un modèle par API. Les ponts vers ma pratique sont de moi, signalés « Ma lecture ».

Un assistant de support client route des tickets, rédige des réponses et appelle la facturation. Un jour il confirme à un client un remboursement qui n'a jamais été traité, parce qu'il a sauté la consultation de facturation. La réponse sonnait juste, et personne ne regardait derrière.

Les idées qui restent

1L'évaluation est une décision, pas un score

Un feu rouge en intégration continue ne dit pas « le code est à 7,3 sur 10 », il dit « on ne déploie pas ». Pour un LLM, les auteurs veulent pareil : « l'évaluation n'est pas un nombre, c'est un système de décision » (leçon 4). Il a quatre pièces. La preuve est ce que vous mesurez, l'incertitude dit combien vous pouvez la croire, le seuil est la frontière fixée à l'avance, l'action est ce que vous faites quand la frontière est franchie.

Exemple : on livre si la justesse du routage atteint 90 % au total et 88 % sur chaque intention critique. Sans seuil, « les métriques ne sont pas actionnables et les sorties deviennent des débats » (leçon 4). Les chiffres sont des illustrations : « les chiffres exacts dépendent du produit » (leçon 8). Le livre garde deux ou trois métriques décisives par axe (qualité, sécurité, coût, fiabilité), le reste explique pourquoi elles ont bougé.

Ma lecture

Mes boucles de relecture ont déjà ce squelette. Un seuil sur 100, une porte de fidélité qui bloque, un maximum de trois tours. Il me manque l'incertitude (idée 4).

2Le bon évaluateur est le moins cher qui tienne

Avant de payer un juge LLM, demandez-vous si une ligne de code peut trancher. Le livre empile quatre évaluateurs. Les validateurs déterministes vérifient ce qui est vrai ou faux, comme un JSON qui s'analyse. Les métriques à référence comparent à une étiquette, comme la catégorie d'un ticket. Le LLM-juge, un modèle chargé de noter les sorties d'un autre, couvre le subjectif. Les humains gardent les cas à risque. La règle : « choisir l'évaluateur le moins cher qui est fiable pour le mode de panne, puis n'escalader que si nécessaire » (leçon 11).

« Le remboursement a été effectué » n'est pas un problème de style. Le validateur lit la trace (le journal des appels d'outils) et cherche un appel de facturation réussi avant cette phrase.

Ma lecture

Mon vérificateur de citations, qui cherche chaque phrase attribuée au livre dans le texte extrait, est un validateur déterministe. Le juge garde le reste.

3Le juge LLM est un instrument bruité, versionné comme du code

Une balance qui change de tare entre deux pesées ne vous apprend rien sur la farine. Les sorties d'un juge sont de même « des mesures bruitées, pas une vérité de terrain » (leçon 11). Le livre liste les défauts sans les chiffrer : incohérence d'un passage à l'autre, sensibilité à la rubrique (la grille de notation donnée au juge), goût pour les réponses longues.

Le remède tient en gestes concrets. Rubrique fixe, une dimension à la fois, échelle simple, preuve citée par le juge. Calibration, c'est-à-dire comparer ses notes à celles des humains, avec le conseil de calibrer sur « un petit jeu noté par des humains » (leçon 11). Puis versionner modèle, prompt et rubrique. Si le juge change, l'ancien et le nouveau notent le même jeu de calibration avant qu'on compare les courbes (leçons 17 et 58). Dernier piège, énoncé pour les juges de modèles de vision mais valable pour le texte : un juge qui hallucine comme le modèle évalué « confirmera ses hallucinations au lieu de les attraper » (leçon 58). D'où un juge d'une autre famille de modèles, ou calibré sur des jugements humains, avec une calibration suivie dans la durée.

Limite honnête : aucun taux de biais, aucun protocole de calibration chiffré. Le kappa (un accord entre évaluateurs corrigé du hasard) n'apparaît que dans un seul paragraphe de tout le texte, au détour de l'annotation de données (leçon 70). Le seul seuil donné est celui d'un alpha de Krippendorff, au moins 0,67, « sous réserve d'examen du domaine ».

Ma lecture

Mon juge aveugle ne vient pas de ce livre, mais de mes recherches sur l'ancrage : un juge qui voit une note proposée s'y accroche. Mon test maison va dans ce sens : sur quatre fiches publiées, l'erreur moyenne sur la note globale est de 0,95 point quand le relecteur voit une note fausse de 1,5, et de 0,4 pour un juge aveugle au barème ancré et comparant par paires. Un seul passage, des notes de référence posées par l'IA (quelques-unes corrigées par moi) et non par des humains indépendants : un indice, pas une preuve. Le livre ne mesure pas cet effet pour un juge LLM.

4Ne pas réagir au bruit : intervalle et changement minimal

8,10 puis 8,18 ne prouve rien si deux passages identiques diffèrent déjà de 0,2. Le livre ajoute à chaque métrique bruitée un intervalle de confiance, la fourchette où la vraie valeur tombe avec une probabilité donnée. Méthode accessible, le bootstrap : on retire au hasard, avec remise, des cas parmi ceux évalués, on recalcule la moyenne, on répète, et la fourchette sort de la dispersion.

Avant de crier à la régression (une baisse qui justifie d'agir), le livre pose quatre questions. Le changement dépasse-t-il la variation d'un passage à l'autre, et le changement minimal utile, le plus petit écart qui modifierait une décision ? Se concentre-t-il dans une tranche critique ? Franchit-il un seuil ? La question de fond n'est pas « le nombre a-t-il bougé », mais « a-t-il bougé assez pour changer la décision » (leçon 13).

Ma lecture

Mes notes de livres sortent d'un seul juge et d'un seul passage, donc sans fourchette. Mon seuil d'écart de 0,7 entre le rédacteur et le juge est une version grossière de cette idée. Trois passages me diraient si mes 0,7 sont du bruit.

5La boucle fermée : chaque incident devient un cas de test

Hors ligne, un jeu de cas fige la configuration et bloque une version qui régresse. Un canary (une mise en ligne sur une petite part du trafic) surveille ensuite. En ligne, on journalise, on mesure la dérive, on échantillonne pour relecture. Chaque incident repart dans la suite de tests : elle devient, dit le livre, « une mémoire de ce qui a cassé » (leçon 15). Sans traces, « les incidents restent des anecdotes » (leçon 17).

Deux précisions m'ont servi. Le jeu de développement, qu'on retouche, reste séparé du hold-out (jeu de réserve), qui sert aux décisions de sortie et sur lequel on ne règle jamais rien, sous peine d'optimiser contre ses propres examens. Une porte trop nerveuse provoque une « fatigue du retour arrière » (leçon 14) et l'équipe relève les seuils sans analyse.

Ma lecture

Mon fichier de pièges de lecture est ce jeu de régression, alimenté à la main après chaque fiche. Le livre me dit de lui donner un propriétaire et une revue.

6Contrat de sortie, boucle bornée, affirmation liée à une preuve

Un formulaire en ligne refuse une date fantaisiste avant d'ouvrir un dossier. Le livre l'exige de la sortie du modèle avec un contrat : champs et types attendus, souvent en JSON. Il y voit « une couche de contrôle, pas une métrique de qualité » (leçon 32). Il garantit une sortie utilisable, pas juste. Autour vient la boucle rejet-réparation, en trois règles : réparer seulement quand la réparation est « strictement syntaxique et sûre », basculer vers un repli quand le sens est ambigu, plafonner les essais. Chaque relance allonge la latence de queue et le coût (leçon 32).

# de mon cru, avec parse_json_object et contract_error du livre
brut = appeler_modele(prompt)
for essai in range(MAX_ESSAIS):
    obj = parse_json_object(brut)
    erreur = "json_invalide" if obj is None else contract_error(obj)
    if erreur is None:
        return obj
    if not reparable_syntaxiquement(brut):   # virgule en trop : oui. Sens douteux : non.
        break
    brut = reparer(brut)
return repli_sur(erreur)                     # gabarit sûr, code d'erreur journalisé

Le contrôle voisin est le plus fort. « Confirmer un remboursement n'est pas une tâche d'écriture », c'est une affirmation qui doit reposer sur une preuve exécutée (leçon 33). La porte lie la phrase à un indicateur tiré de la trace, pas à ce que le modèle déclare de lui-même. Si l'indicateur manque, on bloque la réponse, on replie sur un gabarit sûr et on ouvre un incident.

Ma lecture

Exiger d'un relecteur un rapport au format fixe, et borner à trois tours avant de changer de modèle, c'est ce pattern. Le suivi par champ est à copier : si le même champ casse souvent, on corrige la consigne au lieu de masquer par des relances.

7Évaluer un agent marche par marche

Un agent qui annule une commande peut lire un mauvais statut, choisir le mauvais outil, réessayer sans progrès, puis annuler quand même. Le livre découpe donc l'évaluation en huit marches : validation de l'entrée et de l'état, choix de l'action, exécution, reprise, détection de boucle, achèvement, sécurité, latence et coût (leçon 102). Le texte ironise : dire « l'agent a échoué » n'est « pas une analyse de cause racine utile » (leçon 102).

Quatre idées en sortent.

  • L'état final, pas la trajectoire : « le point clé n'est pas de savoir si l'agent suit exactement une trajectoire de référence » (leçon 102).
  • L'échec d'un outil se classe (délai, droits, schéma, réponse mal formée) avant qu'on choisisse la parade parmi six : réessai borné, autre outil, question à l'utilisateur, retour arrière, humain, arrêt sûr (leçon 102). Le livre mesure seulement que la parade choisie correspond au type d'échec (leçon 103). Le replanning (refaire un plan après l'échec) se note à part.
  • Une boucle se repère à des appels répétés avec les mêmes arguments, sans progrès, ou à un budget d'étapes dépassé.
  • L'achèvement n'est pas un booléen : succès complet, partiel, échec sûr, échec dangereux, résolution par un humain (leçon 105). Pousser l'achèvement peut faire grimper les violations de sécurité.
Ma lecture

Une panne passagère se réessaie, un refus de droits se confie à un humain, cet appariement est de moi.

Pour un agent de code, l'état final est le test qui passe sans qu'on ait assoupli le test. Je voudrais transposer la classification des échecs d'outil à mes agents.

Mon avis, honnêtement

J'emporte une discipline : un seuil écrit avant la discussion, l'évaluateur le moins cher d'abord, un juge versionné comme un instrument, un incident qui devient un test. Rien de ça ne vieillira.

Les réserves sont franches. Dans les sections lues, rien n'est mesuré : les nombres sont des seuils d'exemple, et tout ce qui touche au juge reste qualitatif. Le code de la section 8 est du pseudo-code aux fonctions jamais définies, celui de la section 3 tourne presque tel quel. Chaque leçon rappelle la précédente et annonce la suivante, et les modules changent de terrain : factures, médecine, e-commerce.

Face à AI Engineering de Chip Huyen (la fiche, 8,2/10), le rapport est simple. Huyen explique pourquoi évaluer est difficile et chiffre les biais des juges. Celui-ci montre comment passer de « j'ai regardé » à « j'ai décidé de sortir », sans chiffrer les biais du juge. Agentic Architectural Patterns (la fiche) nomme les pannes de boucle (collusion, divergence) sans les mesurer : celui-ci fournit les portes et les journaux qui permettraient de les détecter. La section 8 est un guide de lecture des traces, pas un harnais (le code qui rejoue les cas et calcule les scores). Les principes tiendront, le livre est de 2026. Les modèles qui servent d'illustrations (Fara-7B, xLAM, FunctionalGemma) vieilliront vite, mais aucune bibliothèque d'évaluation n'est citée dans les sections lues.

Odilon

Lisez-le si

  • Vous mettez un LLM dans un produit et n'avez aucune règle écrite pour décider qu'une version sort
  • Vous utilisez un LLM-juge sans l'avoir calibré ni versionné
  • Vous pilotez des agents et voulez une grille pour lire leurs traces, étape par étape

Passez si

  • Vous cherchez des benchmarks, des biais de juge chiffrés ou un protocole de kappa : lisez Huyen d'abord
  • Vous entraînez ou ajustez des modèles : j'ai à peine lu ces sections, jugez-en vous-même
  • Vous voulez du code d'évaluation qui tourne : seul celui de la section 3 s'en approche

Celui-ci vient après, en lecture ciblée des sections 1, 3 et 8.

Le lire sur ExpertEdge

Ce livre fait partie d'ExpertEdge, l'abonnement aux livres techniques de Packt. Le code ODILON50 donne 50 % de remise sur l'abonnement annuel : le livre sur ExpertEdge. Lien affilié : je touche une commission si vous vous abonnez avec ce code, et mes notes n'en dépendent pas.

Pour aller plus loin

Source : version cours ExpertEdge 2026 (ISBN 9781808652493). Sections 1 (fondations), 3 (inférence texte) et 8 (agents) lues en entier, environ 23 % du texte, plus deux paragraphes des leçons 58 et 70 ; les huit autres sections survolées par leurs phrases d'ouverture.

Commentaires (0)

Voir toute la bibliothèque

D'autres fiches arrivent : un livre à la fois, la substantifique moelle seulement.