Aller au contenu
SDETRole
SDETRole

Glossaire · L’IA dans le test

Évaluation des LLM (LLM evals)

En anglais : LLM evaluation

Également appelé : évaluation LLM, evals LLM, LLM evals, LLM eval

Définition

Mesurer systématiquement la qualité d’une fonctionnalité à base de LLM sur un ensemble fixe d’entrées et de critères, car les sorties varient d’une exécution à l’autre.

L’évaluation des LLM (les « evals ») est la façon de tester une fonctionnalité construite sur un grand modèle de langage : l’exécuter sur un ensemble fixe d’entrées, noter chaque sortie selon des critères définis, et suivre les scores dans le temps. Les tests traditionnels vérifient une seule valeur attendue exacte. La sortie d’un LLM est du texte libre qui varie d’une exécution à l’autre : l’évaluation remplace donc l’égalité exacte par un mélange de vérifications déterministes, de scores gradués et de revue humaine, et juge la fonctionnalité sur des taux de réussite sur de nombreux cas plutôt que sur un seul exemple.

Exemple

Un classifieur de tickets de support évalué sur un jeu de données étiqueté :

import { readFileSync } from 'node:fs';
import { classifyTicket } from '../src/classifier';

type Case = { input: string; expected: 'billing' | 'bug' | 'account' | 'other' };
const cases: Case[] = JSON.parse(readFileSync('evals/tickets.json', 'utf8'));

let correct = 0;
for (const c of cases) {
  const result = await classifyTicket(c.input);
  if (result.label === c.expected) correct++;
  else console.log(`MISS expected=${c.expected} got=${result.label} :: ${c.input}`);
}

const accuracy = correct / cases.length;
console.log(`accuracy ${(accuracy * 100).toFixed(1)}% over ${cases.length} cases`);
if (accuracy < 0.9) process.exit(1); // regression gate

Types de vérifications, de la plus fiable à la moins fiable

  • Déterministes. JSON valide, conformité à un schéma, présence d’un champ obligatoire, respect d’une longueur maximale, choix d’un label dans un ensemble autorisé. Peu coûteuses et reproductibles ; utilisez-les partout où elles conviennent.
  • Basées sur une référence. Comparer avec une réponse connue comme bonne : correspondance exacte pour les labels, ou scores de recouvrement et de similarité pour le texte libre. Les scores de similarité sont approximatifs et doivent être calibrés.
  • Notées par un modèle. Un autre LLM note la sortie selon une grille (LLM-as-judge). Cela passe à l’échelle sur du texte ouvert, mais apporte ses propres erreurs.
  • Revue humaine. La plus fiable pour une qualité nuancée, et la référence sur laquelle on calibre les vérifications automatiques.

Ce qui est établi et ce qui évolue encore

Établi : évaluer sur un jeu de données versionné, lancer les evals à chaque changement de prompt ou de modèle, suivre les scores dans le temps et inclure des cas adverses comme l’injection de prompt. Encore en évolution : le choix des métriques pour la génération ouverte, le degré de confiance à accorder aux scores notés par un modèle, et l’outillage, qui change rapidement.

Erreurs courantes

Juger un changement à partir d’une poignée de conversations manuelles ; utiliser trop peu de cas pour distinguer un vrai changement du bruit ; n’exécuter chaque cas qu’une fois alors que les sorties varient (exécutez-les plusieurs fois et indiquez la dispersion) ; et laisser le jeu d’évaluation vieillir pendant que le trafic réel des utilisateurs évolue.

Saisissez un terme pour rechercher sur SDETRole.

Recherche plein texte par Pagefind · s’exécute dans votre navigateur Ouvrir la page de recherche →