Juger le juge : raisonnement humain et raisonnement machine, côte à côte
Un juge LLM n'est fiable que dans la mesure où le sont les étiquettes humaines qui ont servi à le valider. Mettez la chaîne de raisonnement d'une personne à côté de celle d'un modèle sur le même élément, et contrôlez votre juge face à des étiquettes qui portent leurs propres intervalles de confiance.
Tous ceux qui évaluent des LLM à grande échelle finissent par employer un LLM comme juge, et tous finissent par se demander si on peut lui faire confiance. La réponse habituelle consiste à le confronter à des étiquettes humaines. Mais ce contrôle ne vaut que ce que valent les étiquettes humaines, et « le juge est d'accord avec les humains » est une affirmation faible si les humains n'étaient pas d'accord entre eux et que personne n'a noté de combien. Il s'agit ici de combler cet écart : mesurer comment un modèle raisonne, mesurer comment une personne raisonne, et comparer les deux honnêtement.
Potato 2.7 est organisé autour d'une seule idée : un outil d'annotation devrait mesurer comment un jugement a été rendu, et pas seulement le consigner. Ce qui est intéressant, c'est que cela vaut pour les deux sortes de juges.
Le point faible de la validation d'un juge
Le flux de travail habituel est raisonnable. Vous avez une tâche trop grande pour être étiquetée à la main, alors vous demandez à un modèle de la noter. Avant de faire confiance aux scores, vous prenez un échantillon, vous le faites étiqueter par des humains, et vous mesurez l'accord entre le juge et les humains. Si le κ de Cohen est assez élevé, vous livrez.
Le point faible, c'est la dernière étape. Ce κ compare votre juge à une étiquette humaine, en général un vote majoritaire sur deux ou trois annotateurs. Or un vote majoritaire est une estimation ponctuelle sans barre d'erreur. Il dit « sarcastic » avec exactement la même confiance, que les trois annotateurs se soient accordés d'emblée ou que deux aient eu le dernier mot sur un troisième après une longue discussion.
Donc quand vous annoncez que votre juge s'accorde avec les humains à κ = 0.71, vous annoncez un accord avec un nombre dont vous n'avez jamais mesuré l'incertitude propre. Si les étiquettes humaines sur les éléments difficiles sont proches d'un tirage à pile ou face, alors le κ sur ces éléments mesure surtout du bruit, et aucune ingénierie de prompt ne le fera bouger.
Nous avons déjà écrit sur la mécanique de la calibration du juge et de l'alignement juge–humain. Ce que la 2.7 ajoute, c'est l'autre moitié : faire porter au côté humain de cette comparaison sa propre incertitude.
Donnez d'abord des barres d'erreur aux étiquettes humaines
Le moteur psychométrique ajuste un modèle de théorie de la réponse à l'item sur vos annotations humaines et rend chaque étiquette sous forme de probabilité a posteriori assortie d'un intervalle (sarcastic, p = 0.94 [0.88 – 0.97]), en pesant qui a voté et pas seulement combien de personnes ont voté.
Truth Serum y ajoute la notation par prédiction des pairs, qui signale les éléments sur lesquels la foule se trompe probablement alors même qu'elle était sûre d'elle.
La comparaison avec le juge change alors de forme. Au lieu de
le juge s'accorde avec l'étiquette majoritaire sur 71 % des éléments
vous pouvez dire
le juge s'accorde avec la probabilité a posteriori humaine sur 94 % des éléments où l'étiquette humaine est sûre (p > 0.9), et sur 52 % des éléments où elle ne l'est pas. Ces éléments peu sûrs représentent 18 % du jeu.
Le second énoncé est actionnable là où le premier ne l'est pas. Il vous dit que votre juge va bien sur les cas faciles et n'est pas fiable sur les cas difficiles, et il vous dit quelle part de vos données est difficile. Il vous dit aussi quelque chose d'inconfortable et d'utile : sur les éléments réellement ambigus, il n'y a peut-être aucune vérité de terrain avec laquelle le juge puisse s'accorder, et courir après un κ plus élevé revient là à courir après du bruit.
C'est à cela que sert le tableau de bord d'alignement juge–humain, et c'est pourquoi les fonctionnalités du processus humain et celles de l'évaluation d'agents sont dans la même version plutôt que dans deux.
Deux chaînes de raisonnement sur le même élément
L'autre moitié de la comparaison, c'est le raisonnement lui-même.
Le mode Think-Aloud enregistre la façon dont une personne raisonne jusqu'à une étiquette. L'annotateur parle pendant qu'il travaille ; la reconnaissance vocale tourne en local ; la transcription est conservée mot à mot, non résumée, parce que paraphraser un protocole de pensée à voix haute détruit ce que l'on cherchait à recueillir.
La chaîne de raisonnement humaine, captée mot à mot
L'annotation de récompense de processus enregistre la façon dont un modèle raisonne. La chaîne de raisonnement du modèle est découpée en étapes, et chaque étape reçoit un signal de récompense bon/mauvais/neutre, qui est le signal d'entraînement d'un modèle de récompense de processus.
annotation_schemes:
- annotation_type: process_reward
name: cot_review
description: "Rate each step of the model's reasoning."
steps_key: reasoning_stepsMême élément. Deux chaînes de raisonnement. Mettez-les l'une à côté de l'autre.
Ce que la comparaison vous apprend vraiment
L'usage évident est de trouver là où le modèle raisonne autrement que la personne, et il vaut la peine d'être concret sur les raisons pour lesquelles cela compte.
La notation sur la réponse finale ne peut pas distinguer un modèle qui a trouvé la bonne réponse pour la bonne raison d'un modèle qui l'a trouvée pour la mauvaise. Sur une tâche de sarcasme, un humain pourrait dire : « c'est le "thanks so much" qui fait tout le travail ici. Personne ne vous remercie aussi chaleureusement pour deux jours de retard. » ("the 'thanks so much' is doing the work here. Nobody thanks you that hard for a two-day delay.") Un modèle peut arriver à la même étiquette parce que le texte contient un point d'exclamation. Les deux sont comptés justes. Un seul généralisera.
Vous ne pouvez pas détecter cela à partir des étiquettes. Vous pouvez le détecter à partir du raisonnement, et c'est pour ça qu'avoir les deux vaut le dérangement.
Le second usage, ce sont les données d'entraînement. Les étapes où le raisonnement de l'humain et celui du modèle divergent sont, presque par définition, les étapes les plus informatives d'un jeu de données de récompense de processus. Ce sont les endroits où le processus du modèle est faux d'une façon que sa sortie ne révèle pas.
Une limite, honnêtement. Potato vous donne les deux surfaces de capture et les met côte à côte. Il ne calcule pas de métrique de similarité automatique entre la chaîne de raisonnement d'un humain et celle d'un modèle, et nous n'en avons délibérément pas livré. Ce que veut dire « ces deux traces de raisonnement s'accordent » est une question de recherche ouverte, et un nombre inventé par nos soins serait pire que pas de nombre du tout, parce qu'il aurait l'air d'une autorité et ne voudrait pas dire grand-chose. C'est l'objet qui compte ; la métrique, c'est à vous de la définir.
Assembler le tout
Une chaîne d'évaluation défendable en 2.7 ressemble à peu près à ceci.
- Étiquetez un échantillon avec des humains, avec la psychométrie activée. Chaque étiquette reçoit une probabilité a posteriori et un intervalle. Les éléments ambigus sont repérés comme ambigus au lieu d'être discrètement mal étiquetés.
- Lancez Truth Serum pour attraper les éléments sur lesquels une foule sûre d'elle se trompe probablement.
- Corrigez la consigne là où le détecteur de problèmes de livre de codes signale une discrimination négative, idéalement dans une salle de normalisation où vous pouvez voir l'accord bouger à mesure que vous convergez.
- Calibrez le juge face à ces étiquettes, et rendez compte de l'alignement conditionnellement à la confiance humaine plutôt que sous la forme d'un nombre unique.
- Contrôlez le raisonnement, pas seulement le verdict, sur les éléments où le juge et les humains divergent.
Chaque étape tient en YAML, s'auto-héberge et est gratuite. Les étapes 1 à 3 n'ont besoin d'aucun LLM.
Rien de tout cela ne rend à soi seul un juge LLM digne de confiance. Ce que ça fait, c'est rendre l'affirmation de fiabilité réelle : un énoncé assorti d'un intervalle, face à des étiquettes humaines qui portent elles aussi des intervalles, sur des éléments dont vous pouvez dire quelque chose d'honnête quant à leur difficulté.
C'est une barre plus basse que « notre juge est aligné sur les valeurs humaines », et bien plus utile.
Pour aller plus loin
- Alignement juge ↔ humain et calibration du LLM juge
- Des étiquettes avec barres d'erreur — la couche TRI sous tout cela
- Le contrôle qualité sans étiquettes étalons
- Modèles de récompense de processus
- Mode Think-Aloud
- Potato 2.7 — la version complète