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 precedente | Equivalente nel motore |
|---|---|
icl_labeling | una fonte llm, con un contratto threshold_legacy per la vecchia regola e un contratto selective_risk accanto |
judge_calibration | fonti judge con confidenza k_sample, il cui campione in cieco diventa richieste di calibrazione |
pre_annotation | una 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:
potato label migrate-config config.yaml --out config-engine.yamlIl 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 precedente | Fonti | Contratti | Persone |
|---|---|---|---|
solo_mode con confidence_routing.tiers | una fonte per livello, nell'ordine dei livelli | selective_risk per ogni schema a scelta singola tra N, error: 1 - end_human_annotation_agreement | pools: [solo] |
solo_mode con labeling_models | una fonte per modello, e la prima è la cascata | come sopra | pools: [solo] |
solo_mode.jury | una fonte per giurato, più una fonte jury come cascata | come sopra | |
icl_labeling | l'endpoint di ai_support come fonte llm | threshold_legacy alla vecchia confidence_threshold, e selective_risk al 10% | calibration_rate = il vecchio sample_rate di verifica |
judge_alignment | l'endpoint del giudice come fonte judge (con la rubrica quando c'è un solo schema) | no_worse_than_human, epsilon: 0.15, per ogni schema giudicato | overlap: 0.3 |
judge_calibration | ogni modello come fonte judge con confidenza k_sample | sampling.sample_size → budgets.human_labels | |
pre_annotation con field o predictions_file | una fonte static, prima nella cascata | ||
active_learning.llm | una fonte llm | ||
ai_budget.cap_usd | budgets.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_labelingaccettavano le etichette automatiche sopra un numero fisso.selective_risksceglie 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_labelingverificava 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.inlinemostrava 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
staticvengono accettate solo dove un contratto le certifica, e altrove le persone le vedono nelle richieste di verifica.
Approfondimenti
- Il motore di etichettatura
- Configurazione del motore di etichettatura
- Contratti del motore di etichettatura
Per i dettagli di implementazione, consulta la documentazione sorgente.