Den Judge beurteilen: menschliches und maschinelles Denken nebeneinander
Ein LLM-Judge ist nur so vertrauenswürdig wie die menschlichen Labels, gegen die er validiert wurde. Die Gedankenkette eines Menschen neben die eines Modells legen, beim selben Element, und den Judge gegen Labels prüfen, die ihre eigenen Konfidenzintervalle mitbringen.
Wer LLMs im großen Maßstab evaluiert, setzt irgendwann ein LLM als Judge ein, und irgendwann kommt die Frage, ob man dem Judge trauen kann. Die übliche Antwort lautet: gegen menschliche Labels prüfen. Diese Prüfung ist aber nur so gut wie die menschlichen Labels, und „der Judge stimmt mit Menschen überein" ist eine schwache Behauptung, wenn die Menschen untereinander uneinig waren und niemand aufgeschrieben hat, wie sehr. Hier geht es darum, diese Lücke zu schließen: zu messen, wie ein Modell schlussfolgert, zu messen, wie ein Mensch schlussfolgert, und beides ehrlich zu vergleichen.
Potato 2.7 beruht auf einer Idee: Ein Annotationswerkzeug sollte messen, wie ein Urteil zustande gekommen ist, und es nicht nur festhalten. Das Interessante daran ist, dass das für beide Sorten von Urteilenden gilt.
Das Problem beim Validieren eines Judges
Der übliche Arbeitsablauf ist vernünftig. Eine Aufgabe ist zu groß, um sie von Hand zu labeln, also bewertet ein Modell sie per Prompt. Bevor man den Bewertungen traut, nimmt man eine Stichprobe, lässt sie von Menschen labeln und misst die Übereinstimmung zwischen Judge und Menschen. Ist Cohens κ hoch genug, geht es live.
Die Schwachstelle ist der letzte Schritt. Dieses κ vergleicht den Judge mit einem menschlichen Label, meist einer Mehrheitsentscheidung über zwei oder drei Annotatoren. Und eine Mehrheitsentscheidung ist ein Punktschätzer ohne Fehlerbalken. Sie sagt „sarcastic" mit genau derselben Sicherheit, ob sich nun alle drei Annotatoren sofort einig waren oder zwei den dritten nach langem Streit überstimmt haben.
Wer also berichtet, dass sein Judge mit κ = 0,71 mit Menschen übereinstimmt, berichtet die Übereinstimmung mit einer Zahl, deren eigene Unsicherheit nie gemessen wurde. Kommen die menschlichen Labels bei den schwierigen Elementen einem Münzwurf nahe, misst κ dort überwiegend Rauschen, und kein noch so gutes Prompt-Engineering bewegt es.
Über die Mechanik der Judge-Kalibrierung und der Übereinstimmung von Judge und Mensch haben wir schon geschrieben. 2.7 ergänzt die andere Hälfte: Auch die menschliche Seite dieses Vergleichs bringt ihre eigene Unsicherheit mit.
Zuerst den menschlichen Labels Fehlerbalken geben
Die Psychometrie-Engine passt ein Modell der Item-Response-Theorie an die menschlichen Annotationen an und meldet jedes Label als Posterior-Wahrscheinlichkeit mit Intervall (sarcastic, p = 0.94 [0.88 – 0.97]), wobei sie gewichtet, wer abgestimmt hat, und nicht nur, wie viele.
Truth Serum ergänzt die Peer-Prediction-Bewertung, die genau die Elemente markiert, bei denen die Menge wahrscheinlich falschliegt, obwohl sie sich sicher war.
Damit ändert der Vergleich mit dem Judge seine Form. Statt
Der Judge stimmt bei 71 % der Elemente mit dem Mehrheitslabel überein
lässt sich sagen
Der Judge stimmt bei 94 % der Elemente mit der menschlichen Posterior-Wahrscheinlichkeit überein, wenn das menschliche Label sicher ist (p > 0.9), und bei 52 % der Elemente, wenn es das nicht ist. Diese unsicheren Elemente machen 18 % der Menge aus.
Mit der zweiten Aussage lässt sich arbeiten, mit der ersten nicht. Sie sagt, dass der Judge bei den leichten Fällen in Ordnung ist und bei den schwierigen unzuverlässig, und sie sagt, wie groß der schwierige Anteil der Daten ist. Sie sagt außerdem etwas Unbequemes und Nützliches: Bei den wirklich mehrdeutigen Elementen gibt es womöglich gar keine Grundwahrheit, mit der der Judge übereinstimmen könnte, und wer dort ein höheres κ jagt, jagt Rauschen.
Dafür ist das Dashboard zur Übereinstimmung von Judge und Mensch da, und deshalb stecken die Funktionen zum menschlichen Prozess und die zur Agentenbewertung in einem Release und nicht in zweien.
Zwei Gedankenketten zum selben Element
Die andere Hälfte des Vergleichs ist die Überlegung selbst.
Der Think-Aloud-Modus hält fest, wie ein Mensch sich zu einem Label durchdenkt. Der Annotator spricht, während er arbeitet, die Spracherkennung läuft lokal, und das Transkript wird wortgetreu und ohne Zusammenfassung gespeichert, denn wer ein Lautes-Denken-Protokoll paraphrasiert, zerstört genau das, was er sammeln wollte.
Die Gedankenkette des Menschen, wortgetreu festgehalten
Die Prozessbelohnungsannotation hält fest, wie ein Modell schlussfolgert. Die Gedankenkette des Modells wird in Schritte zerlegt, und jeder Schritt bekommt ein Belohnungssignal gut/schlecht/neutral, das Trainingssignal für ein Prozessbelohnungsmodell.
annotation_schemes:
- annotation_type: process_reward
name: cot_review
description: "Rate each step of the model's reasoning."
steps_key: reasoning_stepsDasselbe Element. Zwei Gedankenketten. Nebeneinanderlegen.
Was der Vergleich tatsächlich zeigt
Der naheliegende Nutzen ist zu finden, wo das Modell anders schlussfolgert als der Mensch, und es lohnt sich, konkret zu sagen, warum das zählt.
Eine Bewertung der Endantwort sieht den Unterschied nicht zwischen einem Modell, das die richtige Antwort aus dem richtigen Grund hatte, und einem, das sie aus dem falschen Grund hatte. Bei einer Sarkasmusaufgabe sagt ein Mensch vielleicht: „Das ‚thanks so much' macht hier die Arbeit. So überschwänglich bedankt sich niemand für zwei Tage Verzug." (im Original: "the 'thanks so much' is doing the work here. Nobody thanks you that hard for a two-day delay.") Ein Modell landet vielleicht beim selben Label, weil im Text ein Ausrufezeichen steht. Beide gelten als richtig. Nur eines von beiden wird generalisieren.
An den Labels ist das nicht zu erkennen. An der Überlegung schon, und deshalb lohnt der Aufwand, beides zu haben.
Der zweite Nutzen sind Trainingsdaten. Schritte, an denen menschliche und maschinelle Überlegung auseinandergehen, sind fast per Definition die signalstärksten Schritte in einem Prozessbelohnungsdatensatz. An genau diesen Stellen ist der Prozess des Modells auf eine Weise falsch, die seine Ausgabe nicht verrät.
Eine ehrliche Einschränkung. Potato liefert beide Aufzeichnungsflächen und legt sie nebeneinander. Es berechnet kein automatisches Ähnlichkeitsmaß zwischen der Gedankenkette eines Menschen und der eines Modells, und wir haben bewusst keines mitgeliefert. Was „diese beiden Denkspuren stimmen überein" heißen soll, ist eine offene Forschungsfrage, und eine von uns erfundene Zahl wäre schlechter als gar keine, weil sie maßgeblich aussähe und sehr wenig bedeutete. Das Artefakt ist die Sache; die Kennzahl definiert jeder selbst.
Alles zusammengesetzt
Eine vertretbare Evaluationspipeline sieht in 2.7 ungefähr so aus.
- Eine Stichprobe von Menschen labeln lassen, mit eingeschalteter Psychometrie. Jedes Label bekommt eine Posterior-Wahrscheinlichkeit und ein Intervall. Mehrdeutige Elemente werden als mehrdeutig erkannt, statt stillschweigend falsch gelabelt zu werden.
- Truth Serum laufen lassen, um die Elemente zu erwischen, bei denen eine selbstsichere Menge wahrscheinlich falschliegt.
- Die Richtlinie korrigieren, wo der Codebuch-Problem-Detektor negative Trennschärfe markiert, am besten in einem Norming-Raum, in dem sich beobachten lässt, wie sich die Übereinstimmung beim Annähern bewegt.
- Den Judge gegen diese Labels kalibrieren und die Übereinstimmung bedingt auf die menschliche Sicherheit berichten statt als eine einzige Zahl.
- Die Überlegung prüfen, nicht nur das Urteil, bei den Elementen, in denen Judge und Menschen uneinig sind.
Jeder Schritt ist YAML, selbst gehostet und kostenlos. Die Schritte 1 bis 3 brauchen überhaupt kein LLM.
Nichts davon macht einen LLM-Judge für sich genommen vertrauenswürdig. Es macht aber die Behauptung der Vertrauenswürdigkeit zu einer echten: eine Aussage mit Intervall, gegen menschliche Labels, die ebenfalls Intervalle haben, bei Elementen, über deren Schwierigkeit sich etwas Ehrliches sagen lässt.
Das ist eine niedrigere Hürde als „unser Judge ist auf menschliche Werte ausgerichtet" und eine weit nützlichere.
Weiterführende Informationen
- Übereinstimmung Judge ↔ Mensch und Kalibrierung von LLM-as-Judge
- Labels mit Fehlerbalken — die IRT-Schicht unter alldem
- Qualitätskontrolle ohne Gold-Labels
- Prozessbelohnungsmodelle
- Think-Aloud-Modus
- Potato 2.7 — das vollständige Release