Open IGZEnriqueRomera opened 3 years ago
He explorado un poco lo que son MLflow Projects & Models, hago un pequeño resumen aqui.
MLflow Projects
El objetivo de MLflow Projects es de facilitar la ejecucion de runs identicos, de tal manera que el entorno a la hora de reejucion sea identico a la ejecucion original. Eso me suena mucho a lo que dentro de Science Toolkit y KDL conseguimos con Drone, y no veo que mas nos aportarian MLflow Projects. Lo unico es si algun usuario querria "exportar" las ejecuciones de Drone y de Konstellation y repetirlas fuera en alguna otra plataforma. En este caso si que servirian, para portabilidad de ejecuciones. Pero no lo veo util para uso habitual dentro de Konstellation.
MLflow Models
MLflow models son una interfaz para estandarizar la manera de interactuar con modelos de sitios distintos. Por ejemplo, PyTorch, sklearn, TF/Keras, incluso R, cada uno tiene la interfaz un poco distinta (por ejemplo, para hacer inferencia con modelo sklearn se llama model.predict(x)
, mientras que con PyTorch es model(x)
; lo mismo para cargar modelos de disco, etc.). La idea de MLflow models es de poder interactuar con todos los modelos de la misma manera, no importa de que framework venga el modelo. A lo mejor eso si que puede ser una opcion interesante. Otra funcionalidad de MLflow Models tambien es poder "servir" los modelos en entornos/plataformas distintas de mismo modo estandarizado, lo que tampoco ayudaria al usuario aparte de ofrecer la portabilidad de modelos fuera de Konstellation.
(Capturas de pantalla de https://www.youtube.com/watch?v=g5ibwiSH1uA&feature=emb_logo)
Conclusions:
Use
mlflow.set_tag()
: This set a single key-value tag in the currently active run. Useful for organizing experimentsUse
nested=true
: Sometimes experiments have many sections and each of them has its own set of parameters and metrics, we can use nested experiments to group them.Add support to mlflow models.
Update mlflow to 1.13.1
Update drone.io to 1.10.1
Update drone runner to 1.0.0-beta.6