MLOps en Onesait Platform
MLOps (machine learning operations) es una extensión de la metodología DevOps que busca incluir activos de aprendizaje automático y ciencia de datos como ciudadanos de primera clase dentro de DevOps. MLOPs es una práctica que tiene como objetivo hacer que el desarrollo y el mantenimiento de los modelos ML sean fluidos y eficientes y que permite a los equipos de ciencia de datos y TI colaborar y aumentar la automatización en el desarrollo, validación, gobernanza y puesta en producción de los modelos analíticos.
Dentro de MLOps hay 4 principios fundamentales:
El Machine Learning debe ser colaborativo: MLOps anima a los equipos a hacer visible todo lo que conlleva la producción de un modelo de aprendizaje automático, desde la extracción de datos hasta el despliegue y la supervisión del modelo. Convertir el conocimiento tácito en código hace que el aprendizaje automático sea colaborativo.
El Machine Learning debe ser reproducible. Los científicos de datos deben ser capaces de auditar y reproducir cada modelo de producción. En el desarrollo de software, el control de versiones para el código es estándar, pero el Machine Learning aún no. Lo más importante es versionar los datos, así como los parámetros y los metadatos. El almacenamiento de todos los artefactos relacionados con la creación de los modelos garantiza que éstos puedan reproducirse siempre.
El Machine Learning debe ser continuo: un modelo de aprendizaje automático es temporal. El ciclo de vida de un modelo entrenado depende totalmente del caso de uso y de lo dinámicos que sean los datos subyacentes, pero el aprendizaje automático debe considerarse como un proceso continuo y, como tal, debe contemplarse el reentrenamiento de un modelo.
El Machine Learning debe probarse y monitorizarse: Las pruebas y la monitorización forman parte de las prácticas de ingeniería, y el aprendizaje automático no debería ser diferente.
Estos principios se soportan en plataforma de la siguiente forma:
Colaborativo:
La plataforma propone que los modelos analíticos se desarrollen desde un entorno centralizado donde los científicos de datos pueden crear y compartir sus modelos con otros usuarios:
Los modelos pueden versionarse en Git desde el propio UI:
El Machine Learning debe ser reproducible:
Cada ejecución de un modelo queda auditada en plataforma y cada usuario puede acceder a su auditoría
La plataforma integra DVC para versionar los datos de entrada y los modelos
Las ontologías se versionan, de forma manual o automática, lo que nos permite versionar cualquier concepto de plataforma:
El Machine Learning debe ser continuo:
La plataforma cubre todo el ciclo de vida de un modelo, incluyendo el desarrollo, entrenamiento, reentrenamiento, despliegue, permitiendo que un modelo creado en los notebooks se publique como un microservicio:
El Machine Learning debe probarse y monitorizarse:
Los modelos se versionan y pueden compararse
Las ejecuciones de los modelos se monitorizan
Pudiendo ver los logs generados por cada modelo: