veilletech.fr
26 août Feed du jour
#05 IA Article

Évaluer un LLM avant la prod, comme un test

Un banc d'essai réussi ne dit rien de la production.

GitHub détaille la méthode d'évaluation employée pour brancher un LLM sur son scanner de secrets. Trois idées structurent le propos : hiérarchiser les métriques au lieu de les traiter à égalité, relancer l'évaluation hors ligne comme un test d'intégration à chaque changement, et garder le jeu d'évaluation aussi désordonné que la production.

3 min de lecturevidéo 1:14
Partager
Sommaire3 sections
  1. Ce qui se passe
  2. Les trois idées à retenir
  3. À retenir

Ce qui se passe

L'équipe GitHub qui a branché un LLM sur le secret scanning — la détection d'identifiants commités par erreur — publie sa méthode d'évaluation. L'objectif du système n'était pas de « classer des chaînes », mais de réduire les faux positifs : beaucoup de chaînes ressemblent à un secret sans en être un, et chaque alerte inutile coûte du temps à un développeur.

Le constat de départ vaut pour tout le monde : un modèle peut très bien se comporter sur un banc d'essai propre et échouer sur les cas qui comptent en production. Les entrées réelles sont ambiguës, les étiquettes incohérentes, le contexte parfois tronqué, et les cas rares dans un benchmark deviennent les premières causes de panne en vrai.

Les trois idées à retenir

1. Partir de la décision produit, pas du modèle

Quand un système à base de LLM déçoit, le réflexe est de réécrire le prompt, d'ajouter du contexte, de changer de modèle. À faire après avoir défini la décision que l'évaluation doit éclairer.

Ici, la question était : peut-on réduire les faux positifs tout en gardant assez de rappel pour rester sûr ? D'où une hiérarchie de critères, qui ne sont surtout pas interchangeables :

Une expérience qui améliore beaucoup la précision en passant sous le seuil de rappel n'avance pas. Une autre qui améliore la qualité en rendant le système trop lent ou trop cher non plus.

2. Traiter l'évaluation hors ligne comme un test d'intégration

Un système à base de LLM continue de changer après sa première évaluation réussie : prompts revus, modèle remplacé, contexte construit autrement, logique métier ajustée. Chacun de ces changements peut améliorer, casser, ou déplacer le problème.

D'où deux disciplines empruntées au test :

Les prompts et les configurations d'évaluation se versionnent comme du code, avec un retour arrière possible. Le suivi tient dans un tableau : identifiant d'exécution, version de prompt, version de modèle, précision, rappel, latence, note.

Corollaire utile : quand un système sous-performe, on empile des instructions dans le prompt. Or une partie de cette complexité vient du modèle lui-même — un modèle plus récent fait parfois mieux avec un prompt plus simple qu'un ancien longuement réglé. Encore faut-il que l'évaluation soit assez peu coûteuse pour que tester un nouveau modèle devienne une routine.

3. Garder l'évaluation proche de la production

Une évaluation hors ligne ne vaut que si elle ressemble à la tâche réelle. En secret scanning, le modèle n'examine presque jamais une valeur isolée et propre : il juge un candidat au milieu du code environnant, avec des informations utiles, incomplètes, parfois distrayantes.

Le jeu d'évaluation doit donc préserver le candidat évalué, le contexte disponible, la mise en forme et les contraintes d'entrée, et la logique qui entoure le modèle. Un jeu de données trop propre retire précisément les cas ambigus qui font échouer le système — et produit un score flatteur.

À retenir

Rien de tout cela n'est spécifique aux LLM : ce sont des réflexes de test et de mesure, appliqués à un composant non déterministe. La partie la plus facile à négliger reste la première — décider ce qu'on optimise, et ce qu'on refuse de sacrifier pour l'obtenir.

Source : GitHub Blog