Inteligencia artificial

Acerca de MLOps: de las mejores prácticas a los desafíos

Si bien el conocimiento del aprendizaje automático (ML) es esencial para los ingenieros de IA, construir una carrera efectiva en IA también requiere inherentemente capacidades de ingeniería de producción.

Aquí es donde entran las operaciones de aprendizaje automático (MLOps).

¿Qué son los MLOps?

MLOps es una colección de prácticas, herramientas y técnicas que permiten a los ingenieros de ML implementar y mantener modelos de ML en producción de manera confiable y eficiente. El acrónimo «MLOps» es una combinación del término «Machine Learning» y la práctica de «DevOps» en la disciplina de ingeniería de software.

Los modelos ML a menudo se entrenan y prueban en sesiones experimentales aisladas, y cuando el modelo está listo para implementarse, se usan MLOps para convertir el modelo en un sistema de producción.

Al igual que el enfoque DevOps, MLOps tiene como objetivo mejorar la calidad de los modelos de producción al introducir más automatización en el proceso. (Lea también: MLOps: la clave para el éxito de la IA empresarial.)

Mejores prácticas de MLOps

Las mejores prácticas de MLOps incluyen:

Preparación de datos e ingeniería de características

Los datos son la columna vertebral de los modelos de ML, y los datos de alta calidad conducen a modelos de alta calidad. Por lo tanto, es fundamental asegurarse de que los datos sean válidos o estén completos (es decir, que contengan atributos relevantes y no tengan valores perdidos) y limpios (p. ej., elimine los duplicados y las observaciones irrelevantes y filtre el ruido no deseado). (Lea también: Cómo la IA puede garantizar una buena calidad de los datos.)

Después de la preparación de datos, la extracción de características es una tarea crucial que requiere una transformación, agregación y deduplicación iterativas de datos. Es importante asegurarse de que los scripts de validación de datos y extracción de características sean reutilizables en producción.

etiqueta de datos

La calidad de las etiquetas es fundamental en las tareas de aprendizaje supervisado, ya que las etiquetas incorrectas introducen ruido, lo que puede conducir a resultados subóptimos.

Con este fin, el proceso de etiquetado debe estar claramente definido y controlado. Por lo tanto, la revisión por pares de las etiquetas es fundamental.

entrenamiento y ajuste

Es útil comenzar con un modelo simple e interpretable para que pueda obtener la infraestructura correcta y depurar el modelo.

Para elegir un modelo de ML para producción, debe haber una comparación justa de algoritmos basada en una búsqueda eficiente de hiperparámetros y una selección de modelos. Para esta tarea se pueden usar kits de herramientas de aprendizaje automático como Google Cloud AutoML, MLflow, Scikit-Learn y Microsoft Azure ML Studio. (Lea también: IA centrada en datos frente a IA centrada en modelos: claves para algoritmos mejorados.)

Revisión y Gobernanza

Es útil para realizar un seguimiento del linaje del modelo, el control de versiones del modelo y las transformaciones de un modelo durante su ciclo de vida.

Puede utilizar plataformas MLOps de código abierto como mlflow y Amazon SageMaker para descubrir, compartir y colaborar en modelos de ML.

desplegar

Para generar modelos de registro, deben empaquetarse, gestionar sus derechos de acceso e implementarse en la nube o en dispositivos perimetrales según sus requisitos.

El empaquetado del modelo se puede realizar empaquetando el modelo con un servidor de API y exponiendo puntos finales REST o gRPC, o implementando el modelo en la infraestructura de la nube mediante contenedores docker.

Puede implementar modelos en plataformas de nube sin servidor o en aplicaciones móviles basadas en modelos perimetrales. (Lea también: Los expertos comparten las principales tendencias de computación en la nube para 2023.)

monitor

Después de implementar un modelo, es importante implementar una infraestructura de monitoreo para mantenerlo. El monitoreo incluye centrarse en lo siguiente:

  • Infraestructura para el despliegue de modelos. La infraestructura debe cumplir con los puntos de referencia de carga, uso, almacenamiento y estado.
  • El propio modelo de ML. Para mantenerse al día con la deriva del modelo debido a los cambios entre los datos de entrenamiento y de inferencia, debe implementar un sistema de alerta automatizado, así como un proceso de reentrenamiento del modelo.

Desafío MLOps

Si bien entrenar modelos ML en un conjunto de datos dado es relativamente fácil, producir modelos que sean rápidos, precisos, confiables y utilizables por una gran cantidad de usuarios se convierte en un gran desafío. Algunos desafíos importantes son:

  • gestión de datos. Los modelos de ML a menudo se entrenan en grandes cantidades de datos, y hacer un seguimiento de todos los datos puede ser difícil, especialmente para una sola persona. Además, los modelos de aprendizaje automático se basan en datos de entrenamiento para hacer predicciones y, a medida que los datos cambian, el modelo debería cambiar con ellos. Esto significa que los ingenieros de ML deben realizar un seguimiento de los cambios de datos y asegurarse de que el modelo aprenda en consecuencia.
  • Gestión de parámetros. Los modelos de ML son cada vez más grandes en la cantidad de parámetros que contienen, lo que dificulta el seguimiento de todos los parámetros. Pequeños cambios en los parámetros pueden hacer grandes diferencias en los resultados.
  • depuración. A diferencia del software típico, la depuración de modelos ML es un arte muy desafiante.

MLOps y DevOps

Aunque MLOps se basa en los principios de DevOps y comparten similitudes fundamentales, son muy diferentes en su ejecución.

Algunas diferencias clave entre MLOps y DevOps incluyen:

  • MLOps es más experimental que DevOps. En MLOps, Los científicos de datos y los ingenieros de ML necesitan funciones como modelos de ajuste, parámetros e hiperparámetros. También deben gestionar bases de datos y códigos para poder reproducir sus resultados.
  • Los proyectos de MLOps a menudo son desarrollados por personas sin experiencia en ingeniería de software. esto puede incluir Investigadores científicos de datos que se especializan en análisis de datos exploratorios, creación de modelos y/o experimentación.
  • Probar modelos de ML implica validación de modelos, entrenamiento de modelos y pruebas. Esto es muy diferente de las pruebas de software tradicionales, como las pruebas de integración y las pruebas unitarias. (Lea también: Por qué las pruebas de aprendizaje automático podrían ser el futuro de las carreras de ciencia de datos.)
  • Los modelos de ML generalmente se entrenan sin conexión. Sin embargo, la implementación de modelos ML como servicios predictivos requiere una capacitación y una implementación constantes.
  • Los modelos de ML pueden deteriorarse en más formas que los sistemas de software tradicionales. A medida que evoluciona el perfil de datos, el rendimiento de los modelos ML puede degradarse durante la fase de producción. Este fenómeno conocido como «deriva del modelo» ocurre por una variedad de razones, tales como:
    • La diferencia entre datos de entrenamiento y datos de inferencia.
    • Se elige la hipótesis incorrecta (es decir, el objetivo) para servir a la tarea subyacente. Esto a menudo da como resultado la recopilación de datos sesgados para el entrenamiento del modelo, lo que conduce a predicciones incorrectas en producción. Durante la fase de reentrenamiento, cuando corrige errores y alimenta el modelo con los mismos datos pero con diferentes etiquetas, el modelo se vuelve más sesgado: esta bola de nieve sigue creciendo.
  • Incluso en producción, los modelos de ML deben monitorearse continuamente. Lo que es más importante, las estadísticas resumidas de los datos utilizados por el modelo también deben monitorearse continuamente. Las estadísticas de resumen cambian con el tiempo, y es importante que los ingenieros de ML comprendan cuándo sucede esto, especialmente cuando los valores se desvían de las expectativas, para que puedan volver a entrenar los modelos cuando sea necesario.

Aparte de estas diferencias, MLOps y DevOps tienen muchas similitudes, especialmente en términos de control de fuente, pruebas de integración, pruebas unitarias e integración continua para entregar módulos/paquetes de software.

en conclusión

MLOps se aplica principalmente como un conjunto de mejores prácticas. Sin embargo, la disciplina ahora está evolucionando hacia un enfoque separado para la gestión del ciclo de vida de ML. MLOps maneja todo el ciclo de vida de un modelo de aprendizaje automático, incluida la conceptualización, la recopilación de datos, el análisis y la preparación de datos, el desarrollo del modelo, la implementación del modelo y el mantenimiento.

A diferencia del modelado de ML estándar, los sistemas de producción de MLOps necesitan manejar datos en constante cambio mientras brindan el máximo rendimiento y una operación ininterrumpida. Esto presenta algunos desafíos únicos, pero cuando se ejecuta correctamente, MLOps proporciona una forma confiable y eficiente de implementar y mantener modelos ML. (Lea también: Desacreditando cuatro mitos sobre el aprendizaje automático.)

LEER
Brendan Lawlor: G4D Open es una 'gran noticia' para los golfistas discapacitados | Noticias de golf

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba