Cada corrección es una etiqueta
8 min de lectura
Una adjudicación no es solo una disposición. Es un ejemplo etiquetado de nuestra propia línea — y necesita gobernanza.
Las fuentes citadas están en inglés; las citas textuales se reproducen en su idioma original.
Cuando un inspector resuelve un caso sobre el que el sistema no tenía certeza, el resultado evidente es una disposición: este módulo pasa, aquel no. La disposición es lo menos valioso que se produce en ese momento. Lo valioso es un ejemplo etiquetado tomado de nuestra línea, nuestros materiales y nuestra distribución de defectos — y llegó adherido precisamente al caso que al modelo le resultó más difícil.
Por qué una etiqueta de la línea propia vale más
La intuición de que más datos son mejores datos se desmorona en cuanto los datos provienen de otra parte. La demostración clásica de esto comparó detectores de objetos entrenados y evaluados en conjuntos de datos distintos y encontró “a dramatic drop of performance in all tasks and classes when testing on a different test set” — en una de las tareas, un desempeño promedio de 53.4% dentro de un mismo conjunto de datos cayó a 27.5% entre conjuntos distintos[1]. Ese trabajo es de 2011 y es anterior a los detectores convolucionales modernos, así que las magnitudes no deben leerse como vigentes; lo que ha resultado duradero es el fenómeno.
El mismo artículo le puso precio. Al medir cuánto vale una muestra de entrenamiento de una fuente cuando se usa en otra, los autores observaron que “the sample values are always smaller than 1 — each training sample gets devalued if it is used on a different dataset”, y en un caso encontraron una muestra que valía 0.26 de una nativa, y resumieron el valor de los conjuntos de datos genéricos para un despliegue real como “better than nothing, but not by much”[1].
Un conjunto de datos público de defectos describe las celdas de otra persona, la ventana de proceso de otra persona y la idea de otra persona sobre qué cuenta como defecto. Es un punto de partida, no un destino.
Y por qué una etiqueta adjudicada vale todavía más
Las adjudicaciones no son una muestra aleatoria de la producción. Se concentran justamente en los casos en los que el modelo estaba incierto, que es la estrategia de muestreo que el aprendizaje activo existe para explotar: un aprendiz “can achieve greater accuracy with fewer training labels if it is allowed to choose the data from which it learns”[2]. En una tarea de clasificación de texto de esa revisión, el muestreo por incertidumbre alcanzó 81% de exactitud tras treinta etiquetas, mientras que el muestreo aleatorio alcanzó 73%[2]. El autor de la revisión es cuidadoso, y nosotros también: el aprendizaje activo reduce los requisitos de etiquetado “in the majority of reported results (though, admittedly, this may be due to the publication bias)”[2].
Existe al menos un resultado en un entorno industrial de defectos. En un conjunto de datos de defectos superficiales en acero, una estrategia de selección basada en incertidumbre alcanzó el recall exigido por los autores usando 21.7% de las anotaciones disponibles, frente a 50.0% de la selección aleatoria[3]. El conjunto de datos es pequeño y de un solo dominio, y el umbral es el de los propios autores, así que lo leemos como direccional y no como una cifra sobre la cual planificar. Lo que importa es la dirección: las etiquetas que la adjudicación entrega gratis son las caras.
Al juntar ambas cosas, la afirmación sobre el efecto acumulativo no tiene nada de místico. Un modelo alimentado por las adjudicaciones de sus propios operadores acumula ejemplos del propio dominio, concentrados en su propia frontera de decisión. Un modelo entrenado con un conjunto de datos genérico no lo hace, ni puede hacerlo. La brecha debería ampliarse con el tiempo en operación, y esa es una afirmación que pretendemos medir en lugar de dar por sentada.
La mitad que se suele omitir
Un ciclo que devuelve etiquetas de producción a un modelo que califica la producción es un ciclo que puede degradar en silencio aquello que se supone que debe mejorar. La mayoría de los artículos se detiene en el diagrama del volante de inercia. La gobernanza es la ingeniería más difícil y más interesante.
Conviene partir del supuesto de que el reentrenamiento nunca es una incorporación rutinaria de datos. En un sistema de ML, “Changing Anything Changes Everything” — lo cual aplica “not only to input signals, but also to hyper-parameters, learning settings, sampling methods, convergence thresholds, data selection, and essentially every other possible tweak”[4]. Agregar un mes de adjudicaciones es un cambio de ese tipo. Merece una compuerta.
Conjuntos congelados que un candidato deberá superar
Un modelo recién entrenado es un candidato, no un reemplazo del modelo vigente. Antes de que pueda afectar nada, “an automated system needs to inspect it and verify that its quality is sufficient; that system must either bless the model or veto it, terminating its entry to the production environment”[5]. Los conjuntos contra los que se mide tendrán que estar congelados, y tendrán que ser capaces de detectar “both slow degradations in quality over many versions as well as sudden drops in a new version”[5] — un criterio que un conjunto de validación extraído del mismo flujo que los datos de entrenamiento no logrará cumplir.
Despliegue por etapas, y una reversión que se haya ensayado
Un candidato aprobado tampoco debe llegar a todas partes de una vez. El patrón establecido es “turn up new models gradually, running old and new models concurrently, with new models only seeing a small fraction of traffic, gradually increased as the new model is observed to behave sanely”[5]. En una línea de inspección eso se traduce en modo sombra primero, luego una estación en vivo y después el resto — estructuralmente el mismo arreglo que ceder autoridad a un modelo en primer lugar, salvo que quien ostenta la autoridad es el modelo anterior y no una persona.
Y tiene que ser reversible a demanda. Poder revertir con rapidez “is as crucial with ML models as with any other aspect of a serving system”, y como la reversión es un procedimiento de emergencia, “operators should practice doing it”[5]. Una vía de reversión que nadie ha ejercitado es una vía de reversión que no se tiene.
Criterios versionados aparte de los pesos
La separación más útil que hemos adoptado es la que hay entre lo que el modelo mide y lo que cuenta como aceptable. Los umbrales de calidad residirán en su propio artefacto versionado, no dentro de los pesos. Un cambio de criterios nunca debería exigir reentrenamiento, y un reentrenamiento nunca debería mover un criterio en silencio. Sin esa división, cada ajuste de umbral se convierte en un proyecto de ML y cada actualización del modelo se convierte en un cambio de calidad sin revisar — que es precisamente el enredo del que advierte el principio CACE[4].
Dar por sentado el deterioro
Nada de esto es un ejercicio de una sola vez, porque la línea no se quedará quieta. Los sistemas de aprendizaje automático “interact directly with the external world”, y “the external world is rarely stable”[4]; probar antes del despliegue no es evidencia suficiente de que un sistema siga funcionando, y por eso el control que sostiene la carga es “comprehensive live monitoring of system behavior in real time”[4]. Un estudio sistemático observó degradación temporal en 91% de los 128 pares de modelo y conjunto de datos que evaluó[6], aunque hacemos notar que ese estudio cubre datos tabulares de operaciones de salud, transporte, finanzas y meteorología — no visión, y no manufactura. Lo tomamos como razón para instrumentar la detección del deterioro, no como una tasa que prediga la nuestra.
Vale la pena construir el ciclo porque la alternativa es un sistema que el último día será tan bueno como el primero. Pero un ciclo que toca la calidad de la producción se gana su lugar solo si lleva una compuerta encima, y la compuerta solo significa algo si alguien está dispuesto a reprobar un candidato.
Referencias
- 1.Torralba, A., & Efros, A. A.. Unbiased Look at Dataset Bias. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 1521–1528, 2011.
- 2.Settles, B.. Active Learning Literature Survey. Computer Sciences Technical Report 1648, University of Wisconsin–Madison, 2009.
- 3.Lv, X., Duan, F., Jiang, J.-J., Fu, X., & Gan, L.. Deep Active Learning for Surface Defect Detection. Sensors, 20(6), 1650, 2020.
- 4.Sculley, D., et al.. Hidden Technical Debt in Machine Learning Systems. Advances in Neural Information Processing Systems 28, 2503–2511, 2015.
- 5.Breck, E., Cai, S., Nielsen, E., Salib, M., & Sculley, D.. The ML Test Score: A Rubric for ML Production Readiness and Technical Debt Reduction. IEEE International Conference on Big Data, 1123–1132, 2017.
- 6.Vela, D., Sharp, A., Zhang, R., Nguyen, T., Hoang, A., & Pianykh, O. S.. Temporal quality degradation in AI models. Scientific Reports, 12, 11654, 2022.
