DagsHub provides a free remote MLflow Tracking server for experiment tracking and model registry with every repository.
DagsHub provides a free remote MLflow Tracking server for experiment tracking and model registry with every repository.
DagsHub integration with MLflow
MLflow, an open-source tool for managing the machine learning lifecycle, enables real-time tracking of various experiment aspects like parameters, metrics, metadata, and artifacts (e.g., data or trained ML models). It also offers a model registry and deployment capabilities for efficient post-training management.
Sounds amazing! And open source… – where is the catch?
Well, it’s not really a catch, but more of a DevOps pre-request.
When we want to log the experiments outside of our local machine, for example, to have our work accessible to our team, or when the training process is done in the cloud – In this case, we will need to set up a remote server to log our experiment with MLflow to.
One of the main challenges when setting up a remote MLflow server, which can be challenging on its own, is setting up team-based access control to provide writing and viewing access only to authorized personnel.
DagsHub provides a free hosted MLflow server with team-based access control for every repository. You can log experiments with MLflow to it, view its information under the experiment tab, and manage your trained models from the full-fledged MLflow UI built into your DagsHub project.
The scenario DagsHub supports
How does the integration of DagsHub with MLflow work?
DagsHub MLflow Free Remote Server
When you create a repository on DagsHub, a remote MLflow server is automatically created and configured with the project. The repository’s MLflow tracking server will be located at:
https://dagshub.com/<DagsHub-user-name>/<repository-name>.mlflow
The server endpoint can also be found under the ‘Remote’ button:
DagaHub MLflow Remote Tracking Server URI
How to configure DagsHub MLflow remote server?
The easiest way to configure your DagsHub MLflow remote server is with DagsHub client. All you need to do is run the following command and you’re all set!
import dagshub
dagshub.init(repo_owner=”<repo_owner>”, repo_name=”<repo_name>”)Configure DagsHub MLflow remote server
Log and Compare Machine Learning Experiments
Once you log the experiments to DagsHub, you can find them under the experiment tab. You can filter them based on various values or sort them by a parameter or metric.
DagsHub Experiment Table
But is it enough to simply choose the first experiment in a sorted table, right? Real-life projects are not a Kaggle competition. We often try to optimize experiments based on multiple metrics and parameters. For that, we can choose several experiments, compare them based on various parameters, and choose the best one.
DagsHub: Comparison of ML Experiments
Register and Deploy Machine Learning Models with DagsHub and MLflow
DagsHub’s MLflow integration includes support for logged artifacts and the MLflow model registry. With this, you can use MLflow to deploy your trained models as batteries-included inference servers to the cloud with ease. Learn how to register and deploy a model from DagsHub with MLflow
How to Control Team-based Access to MLflow Tracking Server
With DagsHub, this is quite intuitive. Only a repository contributor can log experiments and access the DagsHub MLflow UI. This means the team-based access control is done in the “repository contribution level” managed from the repository setting.