Just in time for Microsoft’s Ignite conference, Azure Machine Learning has received a flurry of features including a Python SDK and functions for automatic Machine Learning, as well as distributed training.
Core features of the service are now exposed via a Python SDK, which will need access to an Azure subscription to work properly. It can be used to load data, and transform it for example, but also offers ways to scale training runs with GPU clusters. The SDK is also available in the Python 3.6 kernel of the Azure Notebooks container, which should help those wanting to give the available samples a try.
The new automated Machine Learning capability is supposed to identify which ML pipeline is best suited for a labelled set of data. Automated ML is still in preview and can be used through the Azure Machine Learning Python SDK and Jupyter notebook experience. It can be described as a recommendation system, using a probabilistic model to find out which pipeline to try next.
To preserve users’ privacy, Automated ML only uses pipeline results for its recommendations, not taking the actual data into account. Right now the service is restricted to advice on which classification and regression Machine Learning models to use on numeric and text data. Additions such as ensemble models, model explainability, and better feature engineering should land soon.
Azure Machine Learning should now also help to manage models, by offering ways to register, tag, and version them. Registered models can then be turned into a Docker image through model management APIs from the SDK. Beside the model file, a training script and a package dependency file are necessary for that – the output can then be deployed in an Azure Container Instance service or Azure Kubernetes Cluster service.
To track experiments that run in the cloud, a logging API is available, which also offers ways to query runs. Tracked information is then visualised in the Azure portal. Developers familiar with Jupyter notebooks now have a run history widget available to them, to monitor run objects. More details can be found in the blog post accompanying the release.