MLflow: una plataforma de ciclo de vida de aprendizaje automático - KolMitE

MLflow: una plataforma de ciclo de vida de aprendizaje automático

MLflow: una plataforma de ciclo de vida de aprendizaje automático

diciembre 12, 2022 Software en General 0

MLflow: una plataforma de ciclo de vida de aprendizaje automático

MLflow es una plataforma para agilizar el desarrollo del aprendizaje automático, incluido el seguimiento de experimentos, el empaquetado de código en ejecuciones reproducibles y el uso compartido e implementación de modelos. MLflow ofrece un conjunto de API livianas que se pueden usar con cualquier aplicación o biblioteca de aprendizaje automático existente (TensorFlow, PyTorch, XGBoost, etc.), donde sea que ejecute código ML actualmente (por ejemplo, en cuadernos, aplicaciones independientes o la nube). Los componentes actuales de MLflow son:

  • Seguimiento de MLflow: una API para registrar parámetros, código y resultados en experimentos de aprendizaje automático y compararlos mediante una interfaz de usuario interactiva.
  • Proyectos MLflow: un formato de empaquetado de código para ejecuciones reproducibles usando Conda y Docker, para que pueda compartir su código ML con otros.
  • Modelos de MLflow: un formato de empaquetado de modelos y herramientas que le permiten implementar fácilmente el mismo modelo (desde cualquier biblioteca de ML) para la puntuación por lotes y en tiempo real en plataformas como Docker, Apache Spark, Azure ML y AWS SageMaker.
  • Registro de modelos de MLflow: una tienda de modelos centralizada, un conjunto de API y una interfaz de usuario para administrar de forma colaborativa el ciclo de vida completo de los modelos de MLflow.

Últimos documentos Última versión de Python Último lanzamiento de Conda Última versión de CRAN Centro de expertos Licencia Apache 2 Descargas totales Flojo cuenta Twitter

Estados de trabajos nocturnos

Ejemplos Acción Estado pruebas de versiones cruzadas r-desarrollo requisitos de prueba duro

Instalando

Instale MLflow desde PyPI a través de pip install mlflow

MLflow requiere conda estar en el PATH para la función de proyectos.

Las instantáneas nocturnas de MLflow master también están disponibles aquí.

Instale un subconjunto de dependencia inferior de MLflow desde PyPI a través de pip install mlflow-skinny
Se pueden agregar dependencias adicionales según el escenario deseado. Por ejemplo, pip install mlflow-skinny pandas numpy permite la compatibilidad con mlflow.pyfunc.log_model.

Documentación

La documentación oficial de MLflow se puede encontrar en https://mlflow.org/docs/latest/index.html.

Mapa vial

La hoja de ruta actual de MLflow está disponible en https://github.com/mlflow/mlflow/milestone/3. Estamos buscando contribuciones a todos los elementos de nuestra hoja de ruta con el help wanted etiqueta. Consulte la sección Contribuir para obtener más información.

Comunidad

Para obtener ayuda o preguntas sobre el uso de MLflow (p. ej., “¿cómo hago X?”), consulte los documentos o Stack Overflow.

Para informar un error, presentar un problema de documentación o enviar una solicitud de función, abra un problema de GitHub.

Para anuncios de lanzamiento y otras discusiones, suscríbase a nuestra lista de correo ([email protected]) o únase a nosotros en Slack.

Ejecución de una aplicación de muestra con la API de seguimiento

Los programas en examples utilice la API de seguimiento de MLflow. Por ejemplo, ejecute:

python examples/quickstart/mlflow_tracking.py

Este programa utilizará la API de seguimiento de MLflow, que registra datos de seguimiento en ./mlruns. Esto luego se puede ver con la interfaz de usuario de seguimiento.

Inicio de la interfaz de usuario de seguimiento

La interfaz de usuario de seguimiento de MLflow mostrará las ejecuciones iniciadas ./mlruns en http://localhost:5000. Comience con:

mlflow ui

Nota: Correr mlflow ui No se recomienda desde dentro de un clon de MLflow; al hacerlo, se ejecutará la interfaz de usuario del desarrollador desde la fuente. Recomendamos ejecutar la interfaz de usuario desde un directorio de trabajo diferente, especificando una tienda de back-end a través del --backend-store-uri opción. Como alternativa, consulte las instrucciones para ejecutar la IU de desarrollo en la guía del colaborador.

Ejecutar un proyecto desde una URI

los mlflow run El comando le permite ejecutar un proyecto empaquetado con un archivo MLproject desde una ruta local o un URI de Git:

mlflow run examples/sklearn_elasticnet_wine -P alpha=0.4

mlflow run https://github.com/mlflow/mlflow-example.git -P alpha=0.4

Ver examples/sklearn_elasticnet_wine para un proyecto de muestra con un archivo MLproject.

Modelos de ahorro y servicio

Para ilustrar los modelos de gestión, el mlflow.sklearn El paquete puede registrar modelos de scikit-learn como artefactos de MLflow y luego volver a cargarlos para servir. Hay una aplicación de entrenamiento de ejemplo en
examples/sklearn_logistic_regression/train.py que puedes ejecutar de la siguiente manera:

$ python examples/sklearn_logistic_regression/train.py
Score: 0.666
Model saved in run <run-id>

$ mlflow models serve --model-uri runs:/<run-id>/model

$ curl -d '{"dataframe_split": {"columns":[0],"index":[0,1],"data":[[1],[-1]]}}' -H 'Content-Type: application/json'  localhost:5000/invocations

Nota: Si usa MLflow skinny (pip install mlflow-skinny) para el servicio de modelos, dependencias requeridas adicionales (a saber, flask) deberá instalarse para que el servidor MLflow funcione.

Imagen oficial de Docker de MLflow

La imagen oficial de MLflow Docker está disponible en GitHub Container Registry en https://ghcr.io/mlflow/mlflow.

export CR_PAT=YOUR_TOKEN
echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin
# Pull the latest version
docker pull ghcr.io/mlflow/mlflow
# Pull 2.0.1
docker pull ghcr.io/mlflow/mlflow:v2.0.1

contribuyendo

Damos la bienvenida con gusto a las contribuciones a MLflow. También buscamos contribuciones a los elementos de la hoja de ruta de MLflow. Consulte nuestra guía de contribuciones para obtener más información sobre cómo contribuir a MLflow.



Por favor Comparte y Síguenos:
RSS
Follow by Email
Facebook
Twitter

Deja una respuesta