Skip to content

Migrar al motor de etiquetado

Pasa las configuraciones de icl_labeling, judge_calibration, pre_annotation y Solo Mode al motor de etiquetado con potato label migrate-config, y descubre qué cambia al hacerlo.

Las funciones de etiquetado automático más antiguas de Potato siguen funcionando en 2.11, y nada cambia de comportamiento hasta que añades un bloque labeling_engine. Tres claves muestran ahora al arrancar una nota informativa que nombra su equivalente en el motor de etiquetado, y está previsto retirarlas en 3.0. Las notas van a stderr, empiezan por NOTE: y no son avisos, así que potato validate --strict no falla por ellas.

La tabla enumera las tres claves y en qué se convierte cada una:

Clave antiguaEquivalente en el motor
icl_labelinguna fuente llm, con un contrato threshold_legacy para la regla antigua y un contrato selective_risk a su lado
judge_calibrationfuentes judge con confianza k_sample, cuya muestra ciega se convierte en peticiones de calibración
pre_annotationuna fuente static

Solo Mode, la alineación de jueces y el asistente de IA interactivo (ai_support) no quedan obsoletos. Solo Mode es un experto que trabaja con un LLM a través de su propia interfaz, y la alineación de jueces es un informe. Cuando el motor está activado, ambos escriben también sus predicciones de modelo en el almacén del motor, para que el motor pueda calibrarlas y certificarlas.

potato label migrate-config

potato label migrate-config traduce las claves antiguas a un bloque labeling_engine:

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

El comando lee el YAML sin cargar ningún dato, añade un bloque labeling_engine equivalente y escribe el resultado con una cabecera de notas que explican cada traducción. Escribe el bloque con enabled: false, así que la configuración traducida se comporta como la original hasta que activas el motor. Lee las notas, revisa las fuentes y los contratos, y después define enabled: true y assignment_strategy: engine. El comando termina con un error cuando la configuración ya tiene un bloque labeling_engine o cuando no hay nada que traducir.

Tabla de equivalencias

Cada bloque antiguo se corresponde con fuentes, contratos y ajustes de personas del motor de esta forma:

Bloque antiguoFuentesContratosPersonas
solo_mode con confidence_routing.tiersuna fuente por nivel, en el orden de los nivelesselective_risk por cada esquema de una opción entre N, error: 1 - end_human_annotation_agreementpools: [solo]
solo_mode con labeling_modelsuna fuente por modelo, y la primera es la cascadacomo arribapools: [solo]
solo_mode.juryuna fuente por miembro del jurado, más una fuente jury como cascadacomo arriba
icl_labelingel endpoint de ai_support como fuente llmthreshold_legacy con el antiguo confidence_threshold, y selective_risk al 10%calibration_rate = el antiguo sample_rate de verificación
judge_alignmentel endpoint del juez como fuente judge (con la rúbrica cuando hay un solo esquema)no_worse_than_human, epsilon: 0.15, por cada esquema juzgadooverlap: 0.3
judge_calibrationcada modelo como fuente judge con confianza k_samplesampling.sample_size → budgets.human_labels
pre_annotation con field o predictions_fileuna fuente static, la primera de la cascada
active_learning.llmuna fuente llm
ai_budget.cap_usdbudgets.model_usd

Cambios de comportamiento tras la migración

El motor trata las etiquetas humanas de forma distinta a las funciones antiguas, y las notas de la configuración traducida indican dónde. Cabe esperar cuatro cambios:

  • Los umbrales fijos pasan a ser umbrales probados. Los umbrales de enrutamiento de Solo Mode y el umbral de confianza de icl_labeling aceptaban etiquetas de máquina por encima de un número fijo. selective_risk elige el umbral con las etiquetas dev y solo acepta lo que supera una prueba con etiquetas reservadas, así que al principio cabe esperar que se acepten menos etiquetas, con una cota de error declarada para las que sí se aceptan.
  • Las muestras de verificación pasan a ser uniformes. icl_labeling verificaba primero las predicciones con menos confianza, lo que encuentra errores rápido y da una estimación sesgada de la exactitud. Las peticiones de calibración del motor son una muestra aleatoria con probabilidades de inclusión registradas.
  • La evaluación en línea del juez pasa a ser ciega. judge_alignment.inline mostraba el veredicto del juez mientras las personas etiquetaban, así que el acuerdo se medía sobre etiquetas ancladas. Las peticiones de calibración del motor nunca muestran una respuesta de máquina.
  • Las preanotaciones se ponen a prueba antes de darlas por buenas. Las etiquetas de una fuente static solo se aceptan donde un contrato las certifica, y en el resto de casos las personas las ven en las peticiones de verificación.

Lecturas adicionales

Para los detalles de implementación, consulta la documentación del código fuente.