Fundamentos de MLOps y tracking de modelos
Implementación de MLOps para Modelos de Machine Learning
Tracking de Modelos de Machine Learning con MLflow Local
Seguimiento local de experimentos con MLflow usando folder personalizado
Principios y Etapas del MLOps en Machine Learning
Componentes de Infraestructura en MLOps: Control, Integración y Monitorización
Tracking de Experimentos con MLflow y Bucket en SQLite
Tracking de Experimentos de Machine Learning con AWS y MLflow
Tracking del ciclo de vida de modelos de machine learning
Clasificación de Tickets con Procesamiento de Lenguaje Natural
Tracking de Datos y Modelado con MNLflow y Scikit-learn
Tracking de Métricas e Hiperparámetros con Validación Cruzada
Tracking de Modelos y Métricas con MLflow y CycleLearn
Optimización de Hiperparámetros en Modelos de Machine Learning
Creación y gestión de experimentos con MLflow y Scikit-Learn
Promoción y Gestión de Modelos en Azure con MLflow
Validación de Modelos de Machine Learning con MLflow y SciPy
Tracking y Trazabilidad en MLOps con MLflow
Orquestación de pipelines de machine learning
Creación de tareas en Prefect para flujos de Machine Learning
Creación de Flujos de Trabajo con Prefect para Machine Learning
Pipeline de Machine Learning para Clasificación de Tickets
Pipeline de Procesamiento y Entrenamiento de Modelos de Datos
Ejecución de Flujos de Trabajo con Prefect: Conceptos y Prácticas
Orquestación de Flujos Flexibles con Prefect y Python
Despliegue de modelo de machine learning
Despliegue de Aplicaciones con Docker y FAS API en AWS
Creación de Aplicación con PaaS API, Docker y Grafana
Preprocesamiento y Predicción de Texto en Modelos de Machine Learning
Configuración de Base de Datos en SQLModel y Docker Compose
Despliegue Local y en AWS de Aplicaciones con Docker y Postman
Implementación de Modelos en Entornos Productivos con AWS y Docker
Autoescalado y Entrega Continua de Modelos en Producción
Monitoreo de modelo de machine learning en producción
Monitoreo de Modelos en Producción: Estrategias y Métricas Clave
Monitoreo de Modelos en Producción: Calidad de Datos y Data Drift
Modelo de Clasificación con Support Vector Classifier
Análisis de Drift y Valores Faltantes con Evidently
Creación de Dashboards y Visualizaciones en Grafana para Machine Learning
Mejora de Procesos MLOps e Infraestructura Escalable
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Hoy te llevaré de la mano en el emocionante proceso de hacer tracking con MLflow, pero esta vez utilizando un bucket. Si ya te sientes cómodo con el flujo anterior de MLflow, prepárate, porque nos adentraremos en una metodología que ofrece nuevas posibilidades para gestionar y compartir tus experimentos de Machine Learning.
El flujo comienza con la ejecución de tu código de Machine Learning como de costumbre, haciendo uso del tracking de MLflow. La diferencia clave ahora es que, si bien los artefactos aún se almacenan en la carpeta MLruns
, todo lo demás, es decir, las entidades, serán almacenadas en una base de datos compatible con SQLite. Este método optimiza la gestión de información al utilizar un bucket.
setTrackingUri
: Necesitamos especificar que se hará uso de un bucket asociado con SQLite.setExperiment
: Atribuir un nombre único al experimento. En este caso, puedes nombrarlo "experiment bucket" o cualquier nombre que prefieras.Una vez ejecutado, se creará automáticamente el archivo bucket.db
, que actúa como nuestra base de datos. Esto es esencial para almacenar tus experimentos dependiendo de los parámetros que rastrees, como métricas e hiperparámetros. Ahora, cada vez que ejecutes un run, la información quedará registrada en este bucket.
Para llevar a cabo el proceso con precisión, te proporciono un tutorial paso a paso en el notebook. Este incluye un comando especial que deberás copiar y pegar para notificar al UI de MLflow la utilización de nuestro bucket sort-uri
, especificando su ubicación.
Una vez que ejecutes el comando, al igual que en ocasiones anteriores, MLflow te proporcionará una dirección IP con un puerto. Este lo pegarás en tu navegador favorito para acceder al dashboard de MLflow.
Dentro del UI de MLflow, te permitirá visualizar todas las especificaciones y detalles de tus experimentos:
Parámetros e hiperparámetros: Entiende cómo afectan al modelo y optimiza mejor tus resultados.
Métricas: Registra resultados clave del desempeño de tu modelo.
Requisitos del entorno: Documenta las configuraciones necesarias para replicar el experimento.
Modelos generados: Almacena y accede fácilmente a los modelos creados durante los experimentos.
Esto es fundamental para reflexionar sobre cómo la información se gestiona y optimiza, especialmente cuando se buscan métodos para colaborar con un equipo o almacenar información de manera accesible. Sin embargo, es vital tener en cuenta que gestionar los experimentos localmente puede ser una limitante si deseas compartir el proyecto.
Este enfoque exige apertura y flexibilidad, y desde aquí, se construye el camino hacia el futuro del aprendizaje automático colaborativo y eficiente. Estoy convencido de que estos conocimientos te ofrecerán las herramientas necesarias para avanzar con determinación en tus proyectos de Machine Learning. ¡Adelante!
Aportes 3
Preguntas 0
Cómo realizar el seguimiento de modelos utilizando MLflow y SQLite, pero con un enfoque adicional: el uso de un “bucket”. Este enfoque nos permitirá almacenar las entidades en una base de datos SQLite, ofreciendo ventajas significativas para colaboración y accesibilidad.
Desarrollo de Código de Machine Learning
Comienza desarrollando el código de Machine Learning que deseas seguir y mejorar.
Tracking con MLflow
Utiliza MLflow para realizar el seguimiento de tus experimentos. Los artefactos se seguirán almacenando en la carpeta mlruns
Ejecución del Código
Ejecuta tu código. Automáticamente se creará un archivo bucket.db
, que es la base de datos SQLite que actúa como el “bucket” para tus entidades.
Almacenamiento en un Bucket
En lugar de almacenar todas las entidades localmente, ahora utilizaremos un “bucket”. Este “bucket” es una base de datos SQLite que contendrá información como métricas, hiperparámetros y otros detalles relevantes para cada ejecución.
Este enfoque resuelve limitaciones al permitir compartir experimentos con equipos de trabajo. Al almacenar la información en un bucket, múltiples desarrolladores pueden acceder y colaborar en el mismo conjunto de datos, fomentando un entorno colaborativo y eficiente.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?