(upbeat music)
- Hello, welcome to another episode
of the Machine Learning Essential Series.
I'm Nishant Thacker, and in this video,
we'll talk about openness, and interoperability
for machine learning environments.
As we've discussed before,
machine learning as a workload has evolved and matured
on the back of many open-source contributions
from various communities, organizations, and projects.
As a result, there is an inherent bias
to keep machine learning open,
to the latest innovation from these contributions,
and interoperable with various
best-in-class products or services.
This is not only a requirement by practitioners,
but also by organizations as they look to inspire
and reap the benefits of open source,
and avoid any kind of vendor lock-ins.
Let's see how Azure lives up to the promise
of openness and interoperability
for the machine learning workload.
We look at it from the perspective of,
choice of tool and languages,
interoperability with popular libraries and frameworks,
contributing back and driving innovation
within open source, and ecosystem support.
Let's dive in.
First, the choice of tools and languages.
Data scientists and developers are very opinionated
about their choice of tools,
whether it is the interactive notebooks like Jupyter
or the feature HIDs like VS Code.
In addition to that, the everlasting debate
on the best language for machine learning,
some prefer Python and others look at R.
Azure machine learning isn't opinionated
at all about any of these.
It provides SDKs for both Python and R,
that can be integrated into any tool
that supports executing the languages.
Whether it is Jupyter and other rappel environments,
or IDEs like Visual Studio Code,
PyCharm, RStudio, et cetera.
It also has an option for command line interfaces
for those in love with the command line.
Let's take a look at VS Code, Jupyter, and RStudio
as Azure Machine Learning has invested
in deeper integrations, including widgets et cetera.
Visual Studio Code supports working with notebooks
as well as through Python code files natively.
You can either use the Azure Machine Learning extension
within VS Code, which then allows you to securely
utilize the Azure Machine Learning compute instance
as its execution environment.
Or, you can start within the Azure Machine Learning studio
and open your notebooks with the VS Code option.
Alongside its native integration
with GitHub and Azure DevOps,
it offers a very productive environment for data scientists.
Here's a pro tip.
If you work mostly with desktop tools,
try out the newly improved integration with VS Code,
to securely access compute resources like compute instance
without the need to enable SSH.
Your IT team will be thankful.
Next, let's talk about JupyterLab and Jupyter Notebooks.
Jupyter is an open source project that lets you easily
combine markdown text and executable Python source code,
on one canvas called a notebook.
Just like with VS Code, Azure Machine Learning
compute instance also comes pre-installed
with Jupyter and JupyterLab.
Which enables data scientists to author, train,
and deploy models, in a fully integrated notebook experience
in the machine learning workspace.
On similar lines, Azure Machine Learning resources
work with R, to provide a scalable environment
for training and deploying a model.
The RStudio server open source edition
is configured and installed
on the Azure Machine Learning compute instance
for R users to get started quickly
and build models faster.
But tools are just one piece of the puzzle.
For data science teams to be truly productive,
they need the latest data processing
and machine learning frameworks and libraries.
These comprise a wide ranging list that includes,
PyTorch, TensorFlow, Scikit-learn,
alongside pandas, Koalas and many more.
So how does Azure Machine Learning
enable data scientists to be productive
with all these frameworks?
Well, for starters, all of the Azure Machine Learnings
compute options come pre-installed
with many of these frameworks and libraries
and optimize them to run at scale.
Additionally, to make data scientists more productive
while building models, Azure provides two options
for their DevTest environments.
The first, the Azure Machine Learning compute instance,
which provides an integrated workstation
for data scientists to leverage
with all the Azure Machine Learning tools.
It comes with a latest set of PyPi, Conda,
Deep Learning and ONNX packages pre-installed.
So that data scientists don't have to worry
about looking for these or any version conflicts
and can be productive from day one.
And then the second, which is the Data Science
Virtual Machines or DSVM.
This is what a data scientist would gravitate to
if they need even more flexibility
on operating systems, hardware environments
and compute engines installed.
These come in both windows and Linux version
and allow users to log in via RDP or SSH.
Just like compute instance, these also come pre-installed
with the latest frameworks and libraries.
But that's not all, these even come with developer tools,
databases, Docker and computer engines
like Apache Spark or Apache Drill.
This makes the DSVM an optimal Dev workstation
for data scientists to log into.
Depending on the need and flexibility data scientists
can choose the environment that best suits them.
Here's a pro tip.
Using the Azure Machine Learning compute instance
allows you to share your notebooks
with other users within the workspace.
This enables effective collaboration
within a team of data scientists.
Well, we saw how Azure Machine Learning
brings the best of open source to data scientists
and makes them more productive.
Now let's see how Microsoft is also a good citizen
of the open source community,
and how it leads and contributes back to it effectively.
Microsoft leads many open source projects
in the community like ONNX including the ONNX Runtime
for model portability across frameworks
and accelerated inferencing.
PyTorch in collaboration with Facebook,
MLflow alongside Databricks and many more.
Microsoft has also open sourced
all its responsible machine learning toolkits
for the community to utilize and further contribute.
Toolkits like InterpretML for a model interpretability,
FairLearn for model fairness and error analysis
to understand model errors and debugging.
It also open-sourced the differential
privacy toolkit called SmartNoise,
which was built in collaboration with Harvard Labs,
to advance data privacy within machine learning.
These are just a few examples
of how Microsoft is a good Samaritan
in the OSS world specific to machine learning.
Now, we've talked about open-source tools,
frameworks, and contributions, but it is also as important
to understand how Azure Machine Learning interacts
with other services within Azure,
so that users can build end to end solutions
instead of piecemeal projects.
Azure Machine Learning powers
the machine learning capabilities
within Synapse and Power BI,
to offer data engineers and analysts
the ability to build models within their tools of choice.
Additionally, Azure Machine Learning
also integrates the compute resources
of Synapse, Databricks and HDInsight,
alongside the Azure Kubernetes Service
to offer flexible compute options to run your training jobs.
For security, governance, and monitoring.
Azure Machine Learning utilizes all of Azure's offerings
like, Azure Active Directory, KeyVault,
Private Link, App Insights and Azure Monitor.
Here's a pro tip.
Utilize the advanced machine learning quick start template
to deploy a secure machine learning environment,
even for DevTest workloads.
And for core services like databases,
storage and orchestration, Azure Machine Learning surfaces
Azure SQL Database, Postgres, MySQL,
alongside Azure Blob Storage and Data Lake Storage
and Azure Data Factory.
These integrations show the richness of the ecosystem
that Azure Machine Learning supports
for various aspects of the enterprise
machine learning pipeline.
Now that was a very quick tour of how Azure Machine Learning
offers an open and interoperable environment
for everything and enterprise may need
to build scalable, innovative, machine learning solutions.
To summarize, in this video, we looked at,
choice of tools and languages from notebooks to IDs
and Python to R,
interoperability with popular libraries and frameworks
within data scientists, workstations
like compute instance or DSVM.
Contributing back and driving innovation
within open source with projects like ONNX, PyTorch,
Responsible ML Toolkits, et cetera,
and the ecosystem support to cater to the entire lifecycle
and not just a small part of it.
Well, that's it for this video,
as always, to try out these capabilities on Azure,
please spin up a free Azure Machine Learning workspace
at aka.ms/aml-trial
and download the 30 day learning journey
from the data scientist resources page
at, aka.ms/data-scientists.
(upbeat music)
See you in another episode
of the Machine Learning Essential Series.
(upbeat music)