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üssel | Entsprechung in der Engine |
|---|---|
icl_labeling | eine llm-Quelle, mit einem threshold_legacy-Vertrag für die alte Regel und einem selective_risk-Vertrag daneben |
judge_calibration | judge-Quellen mit k_sample-Konfidenz, deren verblindete Stichprobe zu Kalibrierungsanfragen wird |
pre_annotation | eine 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:
potato label migrate-config config.yaml --out config-engine.yamlDer 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 Block | Quellen | Verträge | Menschen |
|---|---|---|---|
solo_mode mit confidence_routing.tiers | eine Quelle pro Stufe, in der Reihenfolge der Stufen | selective_risk pro Eine-aus-N-Schema, error: 1 - end_human_annotation_agreement | pools: [solo] |
solo_mode mit labeling_models | eine Quelle pro Modell, und die erste ist die Kaskade | wie oben | pools: [solo] |
solo_mode.jury | eine Quelle pro Jurymitglied, dazu eine jury-Quelle als Kaskade | wie oben | |
icl_labeling | der ai_support-Endpunkt als llm-Quelle | threshold_legacy beim alten confidence_threshold und selective_risk bei 10 % | calibration_rate = die alte Verifikations-sample_rate |
judge_alignment | der Judge-Endpunkt als judge-Quelle (mit der Rubrik, wenn es ein einziges Schema gibt) | no_worse_than_human, epsilon: 0.15, pro beurteiltem Schema | overlap: 0.3 |
judge_calibration | jedes Modell als judge-Quelle mit k_sample-Konfidenz | sampling.sample_size → budgets.human_labels | |
pre_annotation mit field oder predictions_file | eine static-Quelle, an erster Stelle der Kaskade | ||
active_learning.llm | eine llm-Quelle | ||
ai_budget.cap_usd | budgets.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_labelingakzeptierten Maschinenlabels oberhalb einer festen Zahl.selective_riskwä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_labelingverifizierte 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.inlinezeigte 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.