Skip to content

Migrare al motore di etichettatura

Porta le configurazioni con icl_labeling, judge_calibration, pre_annotation e la modalità Solo al motore di etichettatura con potato label migrate-config, e scopri che cosa cambia dopo la migrazione.

Le funzionalità di etichettatura automatica più vecchie di Potato continuano a funzionare nella 2.11, e nessun comportamento cambia finché non aggiungi un blocco labeling_engine. Tre chiavi ora stampano all'avvio una nota informativa che indica il loro equivalente nel motore di etichettatura, e ne è prevista la rimozione nella 3.0. Le note vanno su stderr, iniziano con NOTE: e non sono avvisi, quindi potato validate --strict non fallisce a causa loro.

La tabella elenca le tre chiavi e che cosa diventa ciascuna:

Chiave precedenteEquivalente nel motore
icl_labelinguna fonte llm, con un contratto threshold_legacy per la vecchia regola e un contratto selective_risk accanto
judge_calibrationfonti judge con confidenza k_sample, il cui campione in cieco diventa richieste di calibrazione
pre_annotationuna fonte static

La modalità Solo, l'allineamento dei giudici e l'assistente IA interattivo (ai_support) non sono deprecati. La modalità Solo è un singolo esperto che lavora con un LLM tramite un'interfaccia propria, e l'allineamento dei giudici è un report. Quando il motore è attivo, entrambi scrivono anche le predizioni dei loro modelli nell'archivio del motore, così il motore può calibrarle e certificarle.

potato label migrate-config

potato label migrate-config traduce le chiavi più vecchie in un blocco labeling_engine:

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

Il comando legge lo YAML senza caricare alcun dato, aggiunge un blocco labeling_engine equivalente e scrive il risultato con un'intestazione di note che spiegano ogni conversione. Scrive il blocco con enabled: false, quindi la configurazione convertita si comporta come l'originale finché non attivi il motore. Leggi le note, controlla fonti e contratti, poi imposta enabled: true e assignment_strategy: engine. Il comando termina con un errore quando la configurazione ha già un blocco labeling_engine o quando non c'è nulla da convertire.

Tabella di conversione

Ogni blocco precedente corrisponde a fonti, contratti e impostazioni umane del motore come segue:

Blocco precedenteFontiContrattiPersone
solo_mode con confidence_routing.tiersuna fonte per livello, nell'ordine dei livelliselective_risk per ogni schema a scelta singola tra N, error: 1 - end_human_annotation_agreementpools: [solo]
solo_mode con labeling_modelsuna fonte per modello, e la prima è la cascatacome soprapools: [solo]
solo_mode.juryuna fonte per giurato, più una fonte jury come cascatacome sopra
icl_labelingl'endpoint di ai_support come fonte llmthreshold_legacy alla vecchia confidence_threshold, e selective_risk al 10%calibration_rate = il vecchio sample_rate di verifica
judge_alignmentl'endpoint del giudice come fonte judge (con la rubrica quando c'è un solo schema)no_worse_than_human, epsilon: 0.15, per ogni schema giudicatooverlap: 0.3
judge_calibrationogni modello come fonte judge con confidenza k_samplesampling.sample_size → budgets.human_labels
pre_annotation con field o predictions_fileuna fonte static, prima nella cascata
active_learning.llmuna fonte llm
ai_budget.cap_usdbudgets.model_usd

Cambiamenti di comportamento dopo la migrazione

Il motore tratta le etichette umane in modo diverso dalle funzionalità precedenti, e le note nella configurazione convertita dicono dove. Aspettati quattro cambiamenti:

  • Le soglie fisse diventano soglie testate. Le soglie di instradamento della modalità Solo e la soglia di confidenza di icl_labeling accettavano le etichette automatiche sopra un numero fisso. selective_risk sceglie la soglia sulle etichette dev e accetta solo ciò che supera un test su etichette tenute da parte, quindi aspettati all'inizio meno etichette accettate, con un limite di errore dichiarato su quelle che lo sono.
  • I campioni di verifica diventano uniformi. icl_labeling verificava per prime le predizioni meno sicure, il che trova gli errori in fretta e dà una stima distorta dell'accuratezza. Le richieste di calibrazione del motore sono un campione casuale con probabilità di inclusione registrate.
  • Il giudizio inline diventa in cieco. judge_alignment.inline mostrava il verdetto del giudice mentre le persone etichettavano, quindi l'accordo veniva misurato su etichette ancorate. Le richieste di calibrazione del motore non mostrano mai una risposta della macchina.
  • Le pre-annotazioni vengono testate prima di essere considerate affidabili. Le etichette di una fonte static vengono accettate solo dove un contratto le certifica, e altrove le persone le vedono nelle richieste di verifica.

Approfondimenti

Per i dettagli di implementazione, consulta la documentazione sorgente.