Skip to content

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 antigaEquivalente no motor
icl_labelinguma fonte llm, com um contrato threshold_legacy para a regra antiga e um contrato selective_risk ao lado
judge_calibrationfontes judge com confiança k_sample, cuja amostra cega vira solicitações de calibração
pre_annotationuma 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:

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

O 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 antigoFontesContratosPessoas
solo_mode com confidence_routing.tiersuma fonte por nível, na ordem dos níveisselective_risk por esquema de uma escolha entre N, error: 1 - end_human_annotation_agreementpools: [solo]
solo_mode com labeling_modelsuma fonte por modelo, e a primeira é a cascatacomo acimapools: [solo]
solo_mode.juryuma fonte por jurado, mais uma fonte jury como cascatacomo acima
icl_labelingo endpoint de ai_support como fonte llmthreshold_legacy no antigo confidence_threshold, e selective_risk a 10%calibration_rate = o antigo sample_rate de verificação
judge_alignmento endpoint do juiz como fonte judge (com a rubrica quando há um só esquema)no_worse_than_human, epsilon: 0.15, por esquema julgadooverlap: 0.3
judge_calibrationcada modelo como fonte judge com confiança k_samplesampling.sample_size → budgets.human_labels
pre_annotation com field ou predictions_fileuma fonte static, a primeira da cascata
active_learning.llmuma fonte llm
ai_budget.cap_usdbudgets.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_labeling aceitavam rótulos de máquina acima de um número fixo. selective_risk escolhe 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_labeling verificava 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.inline mostrava 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 static só 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.