Skip to content

Migration zur Labeling-Engine

Konfigurationen mit icl_labeling, judge_calibration, pre_annotation und Solo Mode mit potato label migrate-config auf die Labeling-Engine umstellen, und was sich danach ändert.

Die älteren Funktionen von Potato zum maschinellen Labeln funktionieren in 2.11 weiter, und am Verhalten ändert sich nichts, bis Sie einen labeling_engine-Block hinzufügen. Drei Schlüssel geben beim Start jetzt einen informativen Hinweis aus, der ihr Gegenstück in der Labeling-Engine nennt, und ihre Entfernung ist für 3.0 geplant. Die Hinweise gehen nach stderr, beginnen mit NOTE: und sind keine Warnungen, daher schlägt potato validate --strict an ihnen nicht fehl.

Die Tabelle zeigt die drei Schlüssel und was aus jedem wird:

Älterer SchlüsselEntsprechung in der Engine
icl_labelingeine llm-Quelle, mit einem threshold_legacy-Vertrag für die alte Regel und einem selective_risk-Vertrag daneben
judge_calibrationjudge-Quellen mit k_sample-Konfidenz, deren verblindete Stichprobe zu Kalibrierungsanfragen wird
pre_annotationeine static-Quelle

Solo Mode, Judge-Alignment und der interaktive KI-Assistent (ai_support) sind nicht abgekündigt. Solo Mode ist eine einzelne Fachperson, die über eine eigene Oberfläche mit einem LLM arbeitet, und Judge-Alignment ist ein Bericht. Wenn die Engine aktiv ist, schreiben beide ihre Modellvorhersagen außerdem in den Speicher der Engine, damit die Engine sie kalibrieren und zertifizieren kann.

potato label migrate-config

potato label migrate-config übersetzt die älteren Schlüssel in einen labeling_engine-Block:

bash
potato label migrate-config config.yaml --out config-engine.yaml

Der Befehl liest das YAML, ohne Daten zu laden, ergänzt einen entsprechenden labeling_engine-Block und schreibt das Ergebnis mit einem Kopf aus Hinweisen, die jede Übersetzung erklären. Er schreibt den Block mit enabled: false, sodass sich die übersetzte Konfiguration wie das Original verhält, bis Sie die Engine einschalten. Lesen Sie die Hinweise, prüfen Sie Quellen und Verträge und setzen Sie dann enabled: true und assignment_strategy: engine. Der Befehl endet mit einem Fehler, wenn die Konfiguration bereits einen labeling_engine-Block hat oder es nichts zu übersetzen gibt.

Übersetzungstabelle

Jeder ältere Block wird wie folgt auf Quellen, Verträge und menschliche Einstellungen der Engine abgebildet:

Älterer BlockQuellenVerträgeMenschen
solo_mode mit confidence_routing.tierseine Quelle pro Stufe, in der Reihenfolge der Stufenselective_risk pro Eine-aus-N-Schema, error: 1 - end_human_annotation_agreementpools: [solo]
solo_mode mit labeling_modelseine Quelle pro Modell, und die erste ist die Kaskadewie obenpools: [solo]
solo_mode.juryeine Quelle pro Jurymitglied, dazu eine jury-Quelle als Kaskadewie oben
icl_labelingder ai_support-Endpunkt als llm-Quellethreshold_legacy beim alten confidence_threshold und selective_risk bei 10 %calibration_rate = die alte Verifikations-sample_rate
judge_alignmentder Judge-Endpunkt als judge-Quelle (mit der Rubrik, wenn es ein einziges Schema gibt)no_worse_than_human, epsilon: 0.15, pro beurteiltem Schemaoverlap: 0.3
judge_calibrationjedes Modell als judge-Quelle mit k_sample-Konfidenzsampling.sample_size → budgets.human_labels
pre_annotation mit field oder predictions_fileeine static-Quelle, an erster Stelle der Kaskade
active_learning.llmeine llm-Quelle
ai_budget.cap_usdbudgets.model_usd

Verhaltensänderungen nach der Migration

Die Engine behandelt menschliche Labels anders als die älteren Funktionen, und die Hinweise in der übersetzten Konfiguration sagen, wo. Rechnen Sie mit vier Änderungen:

  • Feste Schwellenwerte werden zu getesteten. Die Routing-Schwellenwerte von Solo Mode und der Konfidenzschwellenwert von icl_labeling akzeptierten Maschinenlabels oberhalb einer festen Zahl. selective_risk wählt den Schwellenwert auf dev-Labels und akzeptiert nur, was einen Test auf zurückgehaltenen Labels besteht. Rechnen Sie also anfangs mit weniger akzeptierten Labels, dafür mit einer angegebenen Fehlerschranke für die akzeptierten.
  • Verifikationsstichproben werden gleichverteilt. icl_labeling verifizierte die Vorhersagen mit der geringsten Konfidenz zuerst. Das findet Fehler schnell, ergibt aber eine verzerrte Schätzung der Genauigkeit. Kalibrierungsanfragen der Engine sind eine Zufallsstichprobe mit gespeicherten Einschlusswahrscheinlichkeiten.
  • Inline-Beurteilung wird verblindet. judge_alignment.inline zeigte das Urteil des Judges, während Menschen labelten, sodass die Übereinstimmung an verankerten Labels gemessen wurde. Kalibrierungsanfragen der Engine zeigen nie eine Maschinenantwort.
  • Vorannotationen werden getestet, bevor man ihnen vertraut. Die Labels einer static-Quelle werden nur dort akzeptiert, wo ein Vertrag sie zertifiziert, und an anderen Stellen sehen Menschen sie in Prüfanfragen.

Weiterführende Lektüre

Implementierungsdetails stehen in der Quelldokumentation.