MLOps With Azure ML

In the previous article, Intro to MLOps, we learned about the basics of MLOps. Here, we’ll go through the MLOps services offered by Microsoft Azure. MLOps is a huge part of any project enabled with Machine Learning. Recently, there has been news of a new startup by Andrew Ng called Landing AI getting $57 Million in Series A function to build a new data-centric MLOps platform. This is the scope and importance of MLOps.  

MLOps Capabilities offered by Azure ML  

Azure ML provides a range of functionalities. First of all, Azure supports the creation of reproducible ML Pipelines. You can read the previous article, Azure Machine Learning Pipelines to learn about Azure ML pipelines and Azure Machine Learning - Create ML Workspace And Compute Cluster to create ML workspace in Azure. Moreover, reusable software environments can be created with Azure. Furthermore, registering, packaging, and deployment of the model can be done from anywhere. Moreover, the governance data can be captured for the end-to-end ML lifecycle. Also, on all events, alerts, and notification can be provided in the ML lifecycle. Besides, ML applications can be monitored for operational and ML related issues. Finally, the MLOps capabilities offered by Azure allows to automate the end-to-end ML lifecycle with Azure Machine Learning and Azure Pipelines.  


Source: Microsoft

The MLOps Process Flow 


Source: Microsoft

The above diagram explains the process to apply the CI/CD to development and release the workflows in the machine learning lifecycle. Here, a PR pipeline that is triggered by a new pull request is created from the Feature branch. This pipeline validates the code quality through series of unit tests and code quality tests.  Next, after merging the pull request into the main branch, the CI pipelines runs similar code quality and unit tests to validate with increased epochs. Next, the pipeline packages the artifacts ie. the binaries and codes in order to run them in the ML environment.  

When the artifacts are prepared, model training and validation pipeline gets triggered which is responsible for validating data, training, scoring, and publishing the score pipeline to web apps or even deploy them to container. Now, as we create and merge the event into release branch, the same model validation CD and CI pipeline gets triggered but this time they run from the code which is based on release branch. Finally, it can be pushed to git and the Machine Learning program is set up for the production environment.  

Challenges of MLOps
 

Standardization of MLOps 

MLOps is evolving and thus the standard pattern for MLOps has not yet been yet. Currently, Machine Learning is built from very scratch and is tailored as per the need and requirements of clients. To cater to this discrepancy, Microsoft Azure has closed the gap by seeking the solution from DevOps and applying it to MLOps making a viable solution to MLOps standard pattern solution.  

Team and Skillset Collaboration  

A lot of team members play a key role in any software engineering work. From software developers to machine learning engineers and data scientists. In order to collaborate in symphony, all these vital skillsets must be brought into integration with team members sharing and collaborating in a way that MLOps process isn’t broken.  

Management of numerous Models 

Machine Learning is a continuously evolving task. With new datasets incoming every other moment, the models need to be continuously upgraded too. With this comes the versioning and continuous evaluation challenges. Microsoft Azure has solved this with dashboards which showcases the performances of deployed models and which specific ones needs to be intervened.  

Data Conditioning  

The sources of data are numerous and it is impossible for any machine learning model to consume these raw data from multiple sources. Thus, the data must be conditioned before use into specific format for machine learning. In an advanced MLOps system, this conditioning should be automated and the outputs need to be tracked. 

MLOps Best Practises 

Working with MLOps is a balance between working with People, Process, and Technology. No matter how skilled individuals are in the team, if not well collaborated, there will arises chaos in the Process and likewise. Thus, proper collaboration within skilled human resource, appropriate choice of Process and Technology to be used is vital to make the best out of MLOps.  

Azure ML Functionalities 

Notebooks 

One can create their own Jupyter Notebooks can write their own code to build the models. With this, we’ll have to build our own ways to deploy our model to the pipelines.  

Automated ML 

As discussed in detail in Auto ML article, the Automated ML functionality enables to use numerous algorithms and figure out the best algorithm from specific tasks in comparison.  

Designer 

The Designer uses graphical user interface to create and validate machine learning models.  

Datasets 

The datasets required for building and validating models can be added to this section. Moreover, there are also sample datasets which are freely available to use accessible here.  

Experiments 

The version control of all the experiments that are created and run are tracked in the experiment section. From submission timestamps to status, the duration for which the experiment was run, the compute target that was used for the experiments; all these log data are available here.  

Pipelines 

The Machine learning endpoints that our application will be connecting to can be reached out from this section.  

Models 

All the models that are created will be listed under the Models section.  

Endpoints 

The batch endpoints and real-time endpoints of our machine learning models can be found here. This can then be used in any application to enable Machine Learning.  

Compute 

The infrastructures that are required for the Machine Learning tasks are set here. From CPU to GPU instances which are required depending upon the tasks can be allocated from this section.  

Environments 

Different environments setup for Machine Learning is set here. 

Datastores 

Different global datasets as well as our private data sets can be stored in the datastores.  

Data Labeling  

The labeling of data for use is done in this section. 

Linked Services 

Any external services that require to practice MLOps can be linked through this section. 

Conclusion 

Thus, in this article, we learned briefly about MLOps in Azure. We understood the MLOps functionalities offered by Azure ML and went through the MLOps Process FLow. We then discussed the challenges with MLOps and how Azure ML comes to the rescue to save all these drawbacks. We then learned how we can keep the best practice for MLOps in mind and lastly discussed all the functionalities offered by Azure ML and how it supports in the MLOps process.  


Similar Articles