El dilema de AutoML.  Un ingeniero de infraestructura… |  de Haifeng Jin |  septiembre de 2023

Aprendimos dónde estamos ahora y hacia dónde vamos con AutoML. La pregunta es cómo estamos llegando allí. Resumimos los problemas que enfrentamos hoy en tres categorías. Cuando se resuelvan estos problemas, AutoML alcanzará una adopción masiva.

Problema 1: Falta de incentivos comerciales

El modelado es trivial en comparación con el desarrollo de una solución de aprendizaje automático utilizable, que puede incluir, entre otros, la recopilación, limpieza, verificación, implementación de modelos y monitoreo de datos. Para cualquier empresa que pueda permitirse el lujo de contratar personas para realizar todos estos pasos, el costo general de contratar expertos en aprendizaje automático para realizar el modelado es trivial. Cuando pueden formar un equipo de expertos sin muchos costos generales, no se molestan en experimentar con nuevas técnicas como AutoML.

Por lo tanto, la gente sólo empezará a utilizar AutoML cuando los costes de todos los demás pasos se reduzcan al mínimo. Es entonces cuando el coste de contratar gente para modelar se vuelve significativo. Ahora, veamos nuestra hoja de ruta hacia esto.

Se pueden automatizar muchos pasos. Deberíamos ser optimistas en cuanto a que a medida que los servicios en la nube evolucionen, muchos pasos en el desarrollo de una solución de aprendizaje automático podrían automatizarse, como la verificación, el monitoreo y el servicio de datos. Sin embargo, hay un paso crucial que nunca podrá automatizarse: el etiquetado de datos. A menos que las máquinas puedan aprender por sí mismas, los humanos siempre necesitarán preparar los datos para que las máquinas aprendan.

El etiquetado de datos puede convertirse en el principal coste de desarrollar una solución de ML al final del día. Si podemos reducir el costo del etiquetado de datos, tendrían el incentivo comercial de utilizar AutoML para eliminar el costo del modelado, que sería el único costo de desarrollar una solución de aprendizaje automático.

La solución a largo plazo: Lamentablemente, hoy en día no existe la solución definitiva para reducir el coste del etiquetado de datos. Nos basaremos en futuros avances de la investigación sobre el “aprendizaje con datos pequeños”. Un camino posible es invertir en el aprendizaje por transferencia.

Sin embargo, la gente no está interesada en trabajar en el aprendizaje por transferencia porque es difícil publicar sobre este tema. Para más detalles, puedes ver este vídeo, Por qué la mayoría de las investigaciones sobre aprendizaje automático son inútiles.

La solución a corto plazo: En el corto plazo, podemos simplemente ajustar los modelos grandes previamente entrenados con datos pequeños, que es una forma sencilla de transferir el aprendizaje y el aprendizaje con datos pequeños.

En resumendado que la mayoría de los pasos en el desarrollo de una solución de aprendizaje automático están automatizados mediante servicios en la nube y AutoML puede usar modelos previamente entrenados para aprender de conjuntos de datos más pequeños para reducir el costo del etiquetado de datos, habrá incentivos comerciales para aplicar AutoML para reducir su costo en el modelado de aprendizaje automático.

Problema 2: falta de mantenibilidad

No todos los modelos de aprendizaje profundo son confiables. El comportamiento del modelo es a veces impredecible. Es difícil entender por qué el modelo ofrece resultados específicos.

Los ingenieros mantienen los modelos.. Hoy en día, necesitamos un ingeniero para diagnosticar y reparar el modelo cuando ocurren problemas. La empresa se comunica con los ingenieros para cualquier cambio que quieran cambiar en el modelo de aprendizaje profundo.

Es mucho más difícil interactuar con el sistema AutoML que con un ingeniero. Hoy en día, solo se puede utilizar como método de una sola vez para crear el modelo de aprendizaje profundo dándole al sistema AutoML una serie de objetivos claramente definidos en matemáticas de antemano. Si encuentra algún problema al utilizar el modelo en la práctica, no le ayudará a solucionarlo.

La solución a largo plazo: Necesitamos más investigación en HCI (Interacción Humano-Computadora). Necesitamos una forma más intuitiva de definir los objetivos para que los modelos creados por AutoML sean más confiables. También necesitamos mejores formas de interactuar con el sistema AutoML para actualizar el modelo y cumplir con nuevos requisitos o solucionar cualquier problema sin gastar demasiados recursos buscando todos los diferentes modelos nuevamente.

La solución a corto plazo: Admite tipos más objetivos, como FLOPS y la cantidad de parámetros para limitar el tamaño del modelo y el tiempo de inferencia, y una matriz de confusión ponderada para lidiar con datos desequilibrados. Cuando ocurre un problema en el modelo, las personas pueden agregar un objetivo relevante al sistema AutoML para permitirle generar un nuevo modelo.

Problema 3: Falta de soporte de infraestructura

Al desarrollar un sistema AutoML, encontramos algunas características que necesitábamos de los marcos de aprendizaje profundo que simplemente no existen en la actualidad. Sin estas funciones, el poder del sistema AutoML es limitado. Se resumen a continuación.

Primero, modelos de última generación con API unificadas flexibles. Para construir un sistema AutoML eficaz, necesitamos un gran conjunto de modelos de última generación para ensamblar la solución final. El grupo de modelos debe actualizarse periódicamente y mantenerse en buen estado. Además, las API para llamar a los modelos deben ser muy flexibles y unificadas para que podamos llamarlas mediante programación desde el sistema AutoML. Se utilizan como componentes básicos para construir una solución de aprendizaje automático de un extremo a otro.

Para resolver este problema, desarrollamos KerasCV y KerasPNL, bibliotecas de dominio específico para tareas de procesamiento de lenguaje natural y visión por computadora construidas sobre Keras. Envuelven los modelos de última generación en API simples, limpias y flexibles, que cumplen con los requisitos de un sistema AutoML.

En segundo lugar, colocación automática de hardware de los modelos.. Es posible que el sistema AutoML necesite crear y entrenar modelos grandes distribuidos en varias GPU en varias máquinas. Un sistema AutoML debe poder ejecutarse en cualquier cantidad determinada de recursos informáticos, lo que requiere que decida dinámicamente cómo distribuir el modelo (paralelismo de modelo) o los datos de entrenamiento (paralelismo de datos) para el hardware determinado.

Sorprendente y lamentablemente, ninguno de los marcos de aprendizaje profundo actuales puede distribuir automáticamente un modelo en varias GPU. Tendrás que especificar explícitamente la asignación de GPU para cada tensor. Cuando el entorno de hardware cambia, por ejemplo, se reduce la cantidad de GPU, es posible que el código de su modelo ya no funcione.

Todavía no veo una solución clara para este problema. Debemos dejar algo de tiempo para que evolucionen los marcos de aprendizaje profundo. Algún día, el código de definición del modelo será independiente del código para la colocación del hardware tensor.

En tercer lugar, la facilidad de implementación de los modelos. Es posible que cualquier modelo producido por el sistema AutoML deba implementarse en los servicios en la nube, dispositivos finales, etc. Supongamos que aún necesita contratar a un ingeniero para volver a implementar el modelo para un hardware específico antes de la implementación, lo que probablemente sea el caso hoy en día. . ¿Por qué no utilizas al mismo ingeniero para implementar el modelo en primer lugar en lugar de utilizar un sistema AutoML?

La gente está trabajando en este problema de implementación hoy. Por ejemplo, Modular Creó un formato unificado para todos los modelos e integró a todos los principales proveedores de hardware y marcos de aprendizaje profundo en esta representación. Cuando un modelo se implementa con un marco de aprendizaje profundo, se puede exportar a este formato y volverse implementable en el hardware que lo admite.

Con todos los problemas que discutimos, todavía confío en AutoML a largo plazo. Creo que eventualmente se resolverán porque la automatización y la eficiencia son el futuro del desarrollo del aprendizaje profundo. Aunque AutoML no se ha adoptado masivamente hoy, lo será mientras continúe la revolución del ML.