AzureML Orchestrator
Orchestrating your pipelines to run on AzureML.
Last updated
Was this helpful?
Orchestrating your pipelines to run on AzureML.
Last updated
Was this helpful?
is a cloud-based orchestration service provided by Microsoft, that enables data scientists, machine learning engineers, and developers to build, train, deploy, and manage machine learning models. It offers a comprehensive and integrated environment that supports the entire machine learning lifecycle, from data preparation and model development to deployment and monitoring.
You should use the AzureML orchestrator if:
you're already using Azure.
you're looking for a proven production-grade orchestrator.
you're looking for a UI in which you can track your pipeline runs.
you're looking for a managed solution for running your pipelines.
The ZenML AzureML orchestrator implementation uses to allow our users to build their Machine Learning pipelines. For each ZenML step, it creates an AzureML and brings them together in a pipeline.
In order to use an AzureML orchestrator, you need to first deploy . It would be recommended to deploy ZenML in the same region as you plan on using for AzureML, but it is not necessary to do so. You must ensure that you are before using this stack component.
In order to use the AzureML orchestrator, you need:
The ZenML azure
integration installed. If you haven't done so, run:
There are two ways of authenticating your orchestrator with AzureML:
Default Authentication simplifies the authentication process while developing your workflows that deploy to Azure by combining credentials used in Azure hosting environments and credentials used in local development.
Each AzureML workspace comes equipped with an Azure Machine Learning studio. Here you can inspect, manage, and debug your pipelines and steps.
Double-clicking any of the steps on this view will open up the overview page for that specific step. Here you can check the configuration of the component and its execution logs.
The ZenML AzureML orchestrator comes with a dedicated class calledAzureMLOrchestratorSettings
for configuring its settings, and it controls the compute resources used for pipeline execution in AzureML.
Currently, it supports three different modes of operation.
Set mode
to serverless
.
Other parameters are ignored.
Example:
Set mode
to compute-instance
.
Requires a compute_name
.
If a compute instance with the same name exists, it uses the existing compute instance and ignores other parameters. (It will throw a warning if the provided configuration does not match the existing instance.)
If a compute instance with the same name doesn't exist, it creates a new compute instance with the compute_name
. For this process, you can specify size
and idle_type_before_shutdown_minutes
.
Example:
Set mode
to compute-cluster
.
Requires a compute_name
.
If a compute cluster with the same name exists, it uses existing cluster, ignores other parameters. (It will throw a warning if the provided
configuration does not match the existing cluster.)
If a compute cluster with the same name doesn't exist, it creates a new compute cluster. Additional parameters can be used for configuring this process.
Example:
Once you run the pipeline with a schedule, you can find the schedule and the corresponding run under the All Schedules
tab Jobs
in the jobs page on AzureML.
Note that ZenML only gets involved to schedule a run, but maintaining the lifecycle of the schedule is the responsibility of the user. That means, if you want to cancel a schedule that you created on AzureML, you will have to do it through the Azure UI.
installed and running or a remote image builder in your stack.
A as part of your stack.
A as part of your stack.
An to run your pipeline on.
Service Principal Authentication (recommended) is using the concept of service principals on Azure to allow you to connect your cloud components with proper authentication. For this method, you will need to , assign it the correct permissions and use it to .
For each pipeline run, ZenML will build a Docker image called<CONTAINER_REGISTRY_URI>/zenml:<PIPELINE_NAME>
which includes your code and use it to run your pipeline steps in AzureML. Check out if you want to learn more about how ZenML builds these images and how you can customize them.
In order to learn more about the supported sizes for compute instances and clusters, you can check .
The AzureML orchestrator supports running pipelines on a schedule using its . Both cron expression and intervals are supported.