Skip to content
Guides9 min read

LLM-Labels mit einer verblindeten menschlichen Stichprobe zertifizieren

LLM-Labels nur behalten, wo eine verblindete menschliche Zufallsstichprobe Fehler unter dem Ziel zeigt, und Prävalenzen mit modellkorrigierten Intervallen angeben.

Potato Team

Um zu entscheiden, welche LLM-Labels Sie behalten, ohne jedes einzelne zu prüfen, lassen Sie Menschen eine verblindete Zufallsstichprobe labeln, wählen an der einen Hälfte dieser Stichprobe einen Konfidenzschwellenwert und testen an der anderen Hälfte, ob die Fehlerrate unter den Labels oberhalb des Schwellenwerts unter Ihrem Ziel liegt. Für Prävalenzangaben korrigieren Sie die Schätzung des Modells um seine Fehler auf derselben Stichprobe. Das ergibt ein Intervall, das gültig bleibt, wie gut das Modell auch ist.

Eine verbreitete Art, LLM-Labels zu prüfen, ist es, ein paar Dutzend Ausgaben zu lesen und den Datensatz, wenn sie richtig aussehen, mit einem Satz wie „Ein LLM hat die Daten gelabelt, und wir haben Stichproben geprüft“ auszuliefern. Dieser Satz sagt nicht, wie oft die Labels falsch sind, und wer ein Paper begutachtet, kann nicht erkennen, ob die Prüfung eine Fehlerrate von 15 % bemerkt hätte. Eine Prüfung, die eine Zahl stützt, beantwortet drei Fragen: welche Maschinenlabels behalten werden, wie weit eine aus Maschinenlabels berechnete Rate danebenliegt und ob ein Modell an die Stelle einer Person treten kann.

Verzerrung bei Stichprobenprüfungen und geprüften Vorlabels

Zwei Gewohnheiten lassen ein Maschinenlabel besser aussehen, als es ist. Die erste besteht darin, die Items zu prüfen, bei denen sich das Modell am wenigsten sicher war. So findet man schnell Fehler, aber die geprüften Items sind keine Stichprobe des Datensatzes, und die Fehlerrate auf ihnen sagt nichts über den Rest aus. Die zweite besteht darin, die Übereinstimmung an Labels zu messen, die Menschen vergeben haben, während die Antwort des Modells auf dem Bildschirm stand. Ein Vorschlag zieht die Antwort zu sich hin, daher fällt die an geprüften Vorlabels gemessene Übereinstimmung höher aus als die verblindet gemessene. Vorannotation mit LLMs behandelt diesen Automation Bias ausführlicher.

Eine Prüfung, die eine Zahl stützt, braucht deshalb drei Eigenschaften. Die geprüften Items werden zufällig gezogen, mit bekannten Auswahlwahrscheinlichkeiten. Die Menschen, die sie labeln, können die Antwort des Modells nicht sehen. Die Labels, an denen eine Regel gewählt wird, sind andere als die Labels, an denen sie getestet wird.

Selektive Vorhersage und selektives Risiko

Selektive Vorhersage heißt, dass ein Modell nur die Items labelt, bei denen seine Konfidenz einen Schwellenwert überschreitet, und sich bei den übrigen enthält, die dann an Menschen gehen. Die zu kontrollierende Größe ist das selektive Risiko, die Fehlerrate unter den Labels, die das Modell behält. Ein Schwellenwert, der 70 % der Items bei einer Fehlerrate von 4 % behält, kann zum Beispiel nützlicher sein als ein Modell, das alles mit 12 % Fehlern labelt.

Wer den Schwellenwert an denselben Labels wählt und testet, überschätzt, wie gut er funktioniert. Deshalb wird die menschliche Stichprobe geteilt. Die eine Hälfte, der dev-Split, wählt den Schwellenwert. Die andere Hälfte, der cert-Split, testet ihn mit einem einseitigen Binomialtest der Behauptung, dass der Fehler unter den akzeptierten Labels über dem Ziel liegt. Wird diese Behauptung verworfen, ist der Schwellenwert bei der angegebenen Konfidenz zertifiziert. Learn-then-Test (Angelopoulos et al., 2025) behandelt die Wahl eines Schwellenwerts als Problem des multiplen Testens. Eines seiner Verfahren testet Kandidaten für den Schwellenwert in einer festen Reihenfolge und hört beim ersten auf, der durchfällt. So kann es mehrere Schwellenwerte ausprobieren, ohne die Garantie zu verlieren.

Diese Tests brauchen größere Stichproben als die meisten Stichprobenprüfungen. Angenommen, das Ziel sind höchstens 10 % Fehler bei 90 % Konfidenz, und es handelt sich um den ersten Test eines einzelnen Modells ohne Aufteilung nach Klassen, den Potato auf einem Niveau von etwa 0,06 durchführt (warum, erklärt der nächste Abschnitt). Mit 100 akzeptierten Labels im cert-Split besteht der Test nur, wenn höchstens 5 davon falsch sind. Ein Ziel von 5 % erlaubt höchstens 1 falsches Label unter 100 oder höchstens 4 unter 200. Ein Modell mit einer wahren Fehlerrate von 7 % besteht diesen ersten Test mit 100 akzeptierten cert-Labels in etwa 29 % der Fälle und mit 300 in etwa 56 %.

Wiederholte Tests und das Fehlerbudget

Menschen labeln nach dem ersten Test weiter, und den Test so lange zu wiederholen, bis er besteht, würde aus einer Wahrscheinlichkeit von 10 % für ein falsches Zertifikat etwas viel Größeres machen. Eine Abhilfe ist, jedem Test einen schrumpfenden Anteil des Fehlerbudgets zu geben. Potato gibt Test Nummer k den Anteil 6 / (pi^2 k^2) des erlaubten Fehlers, sodass der erste Test 61 % erhält, der zweite 15 %, und die Anteile über alle möglichen Tests zusammen das ganze Budget ergeben. Ein neuer Prompt oder ein neues Modell zählt als neuer Test, weil es eine weitere Gelegenheit ist, durch Zufall zu bestehen.

Prävalenz mit Prediction-Powered Inference

Viele Studien brauchen eher eine Rate als einen Datensatz, etwa den Anteil toxischer Beiträge oder den Anteil erfolgreicher Agentenläufe. Maschinenlabels zu zählen ergibt eine verzerrte Rate, sobald die Fehler des Modells in eine Richtung tendieren. Nur die menschliche Stichprobe zu zählen ergibt eine unverzerrte Rate mit einem breiten Intervall.

Prediction-Powered Inference (Angelopoulos et al., 2023) verbindet beides. Sie berechnet die Rate aus den Maschinenlabels aller Items und korrigiert sie dann um den durchschnittlichen Fehler des Modells auf der von Menschen gelabelten Stichprobe. Das Intervall ist gültig, wie gut das Modell auch ist. PPI++ stimmt ab, wie viel Gewicht die Maschinenlabels bekommen, sodass ein gutes Modell das Intervall schmaler macht, als es mit Menschen allein möglich wäre, und ein schlechtes es nicht breiter macht. Wurde die menschliche Stichprobe mit ungleichen Wahrscheinlichkeiten gezogen, übernimmt ein Horvitz-Thompson-Differenzschätzer dieselbe Rolle.

Im Beispiel für Agenten-Traces, das mit Potato ausgeliefert wird, bewertete ein LLM-Judge 288 synthetische Agenten-Traces, die für das Beispiel geschrieben wurden und jeweils ein Referenzergebnis haben, und erklärte 76 % für erfolgreich. Das Prediction-Powered-Intervall aus demselben Judge und einer menschlichen Stichprobe lag bei 0,66 [0,57; 0,76], und die Referenzrate in den Daten betrug 0,60. Der Judge lag bei 80 % der einzelnen Traces richtig und überschätzte die Rate trotzdem um 16 Prozentpunkte, weil seine Fehler zu „Erfolg“ tendierten.

Der Alternative-Annotator-Test

Ein festes Genauigkeitsziel kann die falsche Frage sein, wenn Menschen uneins sind. Wenn zwei sorgfältige Annotierende bei 85 % der Items übereinstimmen, lässt sich für niemanden, der labelt, zeigen, dass er zu 95 % „richtig“ liegt, denn auch die Referenz ist verrauscht. Der Alternative-Annotator-Test (Calderon et al., 2025) stellt stattdessen eine relative Frage. Er lässt nacheinander jede Person aus und testet, ob das Modell mit den übrigen Personen mindestens so oft übereinstimmt wie die ausgelassene Person, innerhalb einer Toleranz. Er braucht Items, die von mehreren Personen gelabelt wurden, und Potatos Implementierung wartet auf mindestens drei Annotierende mit je 30 Items. Übereinstimmung mit LLM-Judges behandelt die auf Kappa beruhende Variante dieses Vergleichs und wie man die Kalibrierung eines Judges prüft.

Verträge in Potatos Labeling-Engine

Ab Version 2.11 führt Potatos Labeling-Engine diese Tests als Verträge aus. Sie zieht die verblindete Zufallsstichprobe, liefert sie an Annotierende aus, wobei jede Maschinenantwort verborgen bleibt, teilt sie in dev und cert und zertifiziert, während die Labels eintreffen. Diese Konfiguration behält die Sentiment-Labels eines LLM dort, wo höchstens 10 % falsch sind, bei 90 % Konfidenz, und gibt die Prävalenz jedes Labels mit einem 90-%-Intervall an:

yaml
assignment_strategy: engine
 
labeling_engine:
  enabled: true
  sources:
    - id: llm
      kind: llm
      endpoint_type: vllm
      model: google/gemma-4-12B-it-qat-w4a16-ct
      base_url: http://localhost:8001/v1
      confidence: {method: logprob}
  contracts:
    - id: accuracy
      kind: selective_risk
      schema: sentiment
      error: 0.1
      confidence: 0.9
    - id: prevalence
      kind: ppi
      schema: sentiment
      confidence: 0.9
  budgets:
    human_labels: 400

Eine confidence von 0.9 ist Potatos Standardwert für jeden Vertrag. Die Quelle liest die Konfidenz aus den Log-Wahrscheinlichkeiten der Tokens, weil ein Schwellenwert eine Konfidenz braucht, die richtige von falschen Antworten trennt, und eine Konfidenz, die das Modell in Worten angibt, ist die unzuverlässigste der Methoden, die Potato anbietet. Potatos Textbeispiel schickt 481 Rezensionen durch eine Kaskade mit Laya zuerst und diesem LLM als letzter Stufe. In diesem Lauf war der 10-%-Vertrag nach 165 menschlichen Labels erfüllt, und die Engine akzeptierte 316 Maschinenlabels, alle vom LLM, weil für Laya nie ein Schwellenwert festgelegt wurde. Ihr gemessener Fehler gegenüber den Referenzlabels lag bei 7,6 %. potato label certificate config.yaml gibt aus, was getestet wurde, an wie vielen Labels und mit welchen Modell- und Prompt-Versionen.

Grenzen der Zertifizierung an einer verblindeten Stichprobe

Jede dieser Garantien betrifft die Übereinstimmung mit den Menschen, die die Stichprobe gelabelt haben. Sind sie nachlässig oder schlecht geschult, bescheinigt ein erfüllter Vertrag Übereinstimmung mit nachlässigen Menschen. Prüfen Sie die Annotierenden deshalb mit Überlappung und Qualitätskontrolle, bevor Sie einem Zertifikat vertrauen.

Eine Konfidenz, die nie variiert, gibt einem Schwellenwert nichts zu trennen. Der Judge im Beispiel für Agenten-Traces gab jedem Trace eine Konfidenz von 1,0, sodass kein Schwellenwert bestehen konnte, und Potato markiert einen solchen Vertrag als infeasible, statt alles zu akzeptieren. Das Prävalenzintervall funktionierte auf denselben Daten trotzdem, weil es nicht von der Konfidenz abhängt.

Bei subjektiven Aufgaben, bei denen Menschen aus Gründen uneins sind, die in die Daten gehören, gibt es vielleicht keine einzelne richtige Antwort pro Item. Vergleichen Sie dann die Labelverteilung des Modells damit, wie sich Menschen aufteilen. Das berichtet Potatos Vertrag distributional, gemessen an einer Split-Half-Rauschobergrenze. Führen Sie nach dem ersten Durchlauf potato label status config.yaml aus, um zu sehen, wie viele menschliche Labels jeder Vertrag noch braucht, bevor er bestehen kann.

Weiterführende Lektüre

Literatur

  1. Angelopoulos, A. N., Bates, S., Candès, E. J., et al. (2025). Learn then test: Calibrating predictive algorithms to achieve risk control. The Annals of Applied Statistics. https://doi.org/10.1214/24-AOAS1998
  2. Angelopoulos, A. N., Bates, S., Fannjiang, C., et al. (2023). Prediction-powered inference. Science, 382(6671). https://doi.org/10.1126/science.adi6000
  3. Angelopoulos, A. N., Duchi, J. C., and Zrnic, T. (2023). PPI++: Efficient prediction-powered inference. arXiv. https://arxiv.org/abs/2311.01453
  4. Calderon, N., Reichart, R., and Dror, R. (2025). The alternative annotator test for LLM-as-a-judge: How to statistically justify replacing human annotators with LLMs. Proceedings of ACL 2025. https://aclanthology.org/2025.acl-long.782/