Migrar para o motor de rotulagem
Leve configurações de icl_labeling, judge_calibration, pre_annotation e do Modo Solo para o motor de rotulagem com potato label migrate-config, e veja o que muda depois disso.
Os recursos antigos de rotulagem por máquina do Potato continuam funcionando na 2.11, e nada muda de comportamento até você adicionar um bloco labeling_engine. Três chaves agora exibem na inicialização uma nota informativa que nomeia seu equivalente no motor de rotulagem, e sua remoção está prevista para a 3.0. As notas vão para stderr, começam com NOTE: e não são avisos, então potato validate --strict não falha por causa delas.
A tabela lista as três chaves e o que cada uma vira:
| Chave antiga | Equivalente no motor |
|---|---|
icl_labeling | uma fonte llm, com um contrato threshold_legacy para a regra antiga e um contrato selective_risk ao lado |
judge_calibration | fontes judge com confiança k_sample, cuja amostra cega vira solicitações de calibração |
pre_annotation | uma fonte static |
O Modo Solo, o alinhamento de juízes e o assistente de IA interativo (ai_support) não foram marcados como obsoletos. O Modo Solo é um especialista trabalhando com um LLM por uma interface própria, e o alinhamento de juízes é um relatório. Com o motor ligado, os dois também gravam suas predições de modelo no armazenamento do motor, para que o motor possa calibrá-las e certificá-las.
potato label migrate-config
potato label migrate-config traduz as chaves antigas em um bloco labeling_engine:
potato label migrate-config config.yaml --out config-engine.yamlO comando lê o YAML sem carregar nenhum dado, acrescenta um bloco labeling_engine equivalente e grava o resultado com um cabeçalho de notas que explicam cada tradução. Ele grava o bloco com enabled: false, então a configuração traduzida se comporta como a original até você ligar o motor. Leia as notas, confira as fontes e os contratos, e então defina enabled: true e assignment_strategy: engine. O comando termina com erro quando a configuração já tem um bloco labeling_engine ou quando não há nada a traduzir.
Tabela de tradução
Cada bloco antigo corresponde a fontes, contratos e configurações de pessoas do motor da seguinte forma:
| Bloco antigo | Fontes | Contratos | Pessoas |
|---|---|---|---|
solo_mode com confidence_routing.tiers | uma fonte por nível, na ordem dos níveis | selective_risk por esquema de uma escolha entre N, error: 1 - end_human_annotation_agreement | pools: [solo] |
solo_mode com labeling_models | uma fonte por modelo, e a primeira é a cascata | como acima | pools: [solo] |
solo_mode.jury | uma fonte por jurado, mais uma fonte jury como cascata | como acima | |
icl_labeling | o endpoint de ai_support como fonte llm | threshold_legacy no antigo confidence_threshold, e selective_risk a 10% | calibration_rate = o antigo sample_rate de verificação |
judge_alignment | o endpoint do juiz como fonte judge (com a rubrica quando há um só esquema) | no_worse_than_human, epsilon: 0.15, por esquema julgado | overlap: 0.3 |
judge_calibration | cada modelo como fonte judge com confiança k_sample | sampling.sample_size → budgets.human_labels | |
pre_annotation com field ou predictions_file | uma fonte static, a primeira da cascata | ||
active_learning.llm | uma fonte llm | ||
ai_budget.cap_usd | budgets.model_usd |
Mudanças de comportamento após a migração
O motor trata os rótulos humanos de forma diferente dos recursos antigos, e as notas na configuração traduzida dizem onde. Espere quatro mudanças:
- Limiares fixos viram limiares testados. Os limiares de roteamento do Modo Solo e o limiar de confiança de
icl_labelingaceitavam rótulos de máquina acima de um número fixo.selective_riskescolhe o limiar nos rótulos dev e aceita só o que passa em um teste com rótulos reservados, então espere menos rótulos aceitos no início, com um limite de erro declarado para os que forem aceitos. - As amostras de verificação viram uniformes.
icl_labelingverificava primeiro as predições de menor confiança, o que encontra erros rápido e dá uma estimativa de acurácia enviesada. As solicitações de calibração do motor são uma amostra aleatória com probabilidades de inclusão registradas. - O julgamento inline vira cego.
judge_alignment.inlinemostrava o veredito do juiz enquanto as pessoas rotulavam, então a concordância era medida em rótulos ancorados. As solicitações de calibração do motor nunca mostram uma resposta de máquina. - As pré-anotações são testadas antes de receberem confiança. Os rótulos de uma fonte
staticsó são aceitos onde um contrato os certifica, e nos demais casos as pessoas os veem em solicitações de verificação.
Leitura adicional
Para detalhes de implementação, consulte a documentação de origem.