(upbeat music)
- Welcome to the Machine Learning Essential series.
My name is Seth Juarez.
In this episode, we're gonna talk about
low-code options available
for machine learning in the cloud.
Let's first start with data science.
Data science is an interdisciplinary field
that uses scientific methods
processes and algorithms and systems to extract knowledge
and insights from many structural and unstructured data.
Now that sounded boring
because again it came from Wikipedia.
So why bring this up in a machine learning essential video?
Well, it turns out that the basic steps
for making machine learning models,
follow the scientific method, seriously.
First, you gotta start with a question.
You look around for some data,
you form a hypothesis about what data
or machine learning models might answer the question,
then you try it out.
The funny thing about this process
is that if we get it exactly right the first time,
we feel like something went horribly wrong.
We literally expect to be going through this process
a couple of times for a while.
It gets even more interesting
when you consider that each machine learning model
we think might work also has its own set of parameters
that need looking after.
Essentially, if you are new to the machine learning process,
it's extremely daunting.
How do I even know where to start?
And if you're a seasoned data scientist,
this process is time consuming
and often quite tedious.
For both sets of folks, it can also be costly.
It turns out that data scientists at Microsoft
were also frustrated with the same problem
a couple of years ago,
an Automated Machine Learning Or AutoML
was invented to solve this very problem.
It is essentially the process of automating
the time-consuming iterative tasks
of machine learning model development.
It allows data scientists, analysts and developers
to build ML models with high scale efficiency
and productivity, all while sustaining model quality.
Automated ML is based on the breakthrough
from our Microsoft research division
who literally got bored doing the same thing
over and over again.
You can apply automated ML
when you want Azure machine learning
to train and tune a model for you
using the target metric you specify.
Automated ML democratizes
the machine learning model development process
and empowers its user no matter their data science expertise
to identify an end to end machine learning pipeline
for any problem.
Data scientists, analysts and developers
across industries can use automated ML
to do a couple of things.
Those include, implement a machine learning solution
without extensive programming knowledge,
save time and resources,
leverage data science best practices,
provide agile problem solving, et cetera.
Once you have uploaded your dataset,
automated machine learning can provide
solutions for standard machine learning scenarios
like classification, regression
and even time series forecasting.
How does it work?
Well, during training Azure machine learning
creates number of pipelines (indistinct) parallel
that try different algorithms and parameters for you.
The service iterates through machine learning algorithms,
paired with features selections,
which each iteration produces a model
with the treating score.
The higher the score,
the better the model is considered to fit your data.
It will stop once it hits the exit criteria
defined in the experiment.
The best part is that this doesn't just loop
through all possible machine learning algorithms.
It looks at how a model performs
and actually recommends what model to try next.
Essentially, if you like this model,
you're really gonna like the next one.
Does that sound familiar?
Automated machine learning uses machine learning
to, well, do machine learning.
Automated machine learning
doesn't just run commend the best models to try.
If models aren't performing as well as others,
remember this one's in parallel,
then it stops execution.
This process of choosing the best model,
again using machine learning
and early stopping
saves both compute time as well as your time.
This whole thing in power is professional
and non-professional data scientists
to build machine learning models rapidly.
It also automates time-consuming and iterative tasks
of model development using breakthrough research
and it helps you accelerate time to market.
In other words,
once the best model rises the top
with respect to the metrics that you choose,
deploying that model into production environment
can be done with a single click.
Automated machine learning is an excellent no-code way
to get started with machine learning.
If anything, it helps shorten the research period down
quite a bit.
Essentially, you have an automated way
to figure out which type of models work
with the question you are trying to answer
and the available data.
What if you want to further tune or experiment
with what you've learned, but also in a low code way.
Turns out there's an Azure Machine Learning Designer
that lets you visually connect data sets and modules
on an interactive canvas to create machine learning models.
The designer gives you a visual canvas to build, test
and deploy machine learning models.
Almost everything you need
to build sophisticated machine learning models is included.
You can drag and drop data sets and modules
directly onto a canvas.
You can connect those modules
to create what's called a pipeline draft.
You can submit a pipeline run using the compute resources
in your Azure machine learning workspace
and you can convert your training pipelines
to inference pipelines.
You can also publish your pipelines
to arrest pipeline endpoint,
to submit a new pipeline that runs with different parameters
and data sets.
You can also publish a training pipeline
to reuse a single pipeline, to train multiple models
while changing parameters and data set.
What if you want to do batch inference?
You can publish a batch inference pipeline
to make predictions on new data
by using a previously trained model.
you can also deploy a real-time inference pipeline
to real time endpoint
to make predictions on new data and real time.
Now I know that's a lot.
So let's go through each concept one by one.
Let's talk about a pipeline.
A pipeline consists of datasets and analytical modules
which you can connect.
Pipelines have many uses.
You can make a pipeline that trains a single model
or one that trains multiple models.
You can create a pipeline that makes predictions
in real time or in batch,
or you can make a pipeline that only cleans your data.
Pipelines let you reuse your work
and organize your projects.
As you edit a pipeline and the designer
your progress is saved as a pipeline draft.
You can edit a pipeline draft at any point
by adding or removing modules,
configuring compute targets,
creating parameters and so on.
When you're ready to run your pipeline draft,
you submit a run.
Each time you run a pipeline,
the configuration of the pipeline and its results
are stored in your workspace as a pipeline run.
You can go back to any pipeline run
to inspect it for troubleshooting or auditing purposes.
And you can even clone a pipeline run
to create a new pipeline draft for you to edit.
Pipeline runs are grouped into experiments
to organize run history.
You can set experiments for every pipeline run
again, without any code.
So let's talk about data.
The same data sets that were used
when doing automated machine learning
are also available as drag and drop item
directly onto a pipeline draft.
Several sample data sets are included to boot
in the designer for you to experiment with.
You can also register more data sets as you need them.
Now let's talk about modules.
A module is basically an algorithm
that you can perform on your data.
The designer has several modules
ranging from data ingress functions
to training, scoring and validation processes.
A module may also have a set of parameters that you can use
to configure the modules internal algorithms.
When you select a module on the canvas,
the modules parameters are displayed in the properties pane
to the right of the canvas.
You can modify the parameters in that pane
to tune your model.
You can also set the compute resources
for individual modules in the designer.
What kind of modules are available?
I'm glad you asked.
There are modules for data prep,
standard machine learning algorithms
including regression, clustering and classification
as well as modules for building and evaluating models.
For those that already have amazing machine learning code,
you can even add your own custom modules
with either or both Python and R embedded into the pipeline.
Where does all of this run?
Great question.
You can use compute resources from your workspace
to run your pipeline and host your deployed models
as real-time end points or pipeline end points
for batch inference.
Not only that, but you can also specify where each module
in the pipeline should run.
You could also create
an Azure machine learning compute cluster
and spread the compute across multiple machines
by simply specifying where each module runs.
This can significantly shorten the time needed
to get machine learning solutions.
Once you've got something that works,
you can deploy a pipeline as a real time end endpoint.
The real-time endpoint creates an interface
between an external application and your scoring model.
A call to a real-time end point returns prediction results
to the application in real time.
To make a call to a real-time endpoint,
you basically pass the API key that was created for you
when you deploy the end point.
The end point is based on REST,
a popular architecture choice for web programming projects.
What about ML Ops?
What if the data set changes,
And I want a fresh model say once a week.
Well, with the Azure machine learning designer,
you can also publish a pipeline to a pipeline end point.
Like a real-time end point, a pipeline end point
lets you submit new pipeline runs
from external applications using REST calls.
This means that you can automate the training
or even retraining of a model
by a simple call to a rest API.
You can also use these published pipeline end points
to perform batch inferencing, process new data
and much more.
Finally, you can publish multiple pipelines
to a single pipeline end point
and specify which pipeline version to run.
In summary with automated machine learning,
you can provide real business value with machine learning
without spending a lot of time bogged down
in the complex minutia of the data science process.
This has all been well automated.
If you are a seasoned data scientist,
this should be music to your ears.
If you're just getting started with machine learning,
it is a great place to start.
Once the Auto ML process has worked for you,
why not investigate fine tuning what it has learned
with the Azure machine learning designer?
The easy to use drag and drop interface
can keep you focused on business value
while providing avenues for creating predictive end points
as well as operational pipeline end points
for easily getting started with ML Ops.
I guess the last thing to say is go forth and do.
With all the power now available at your fingertips
with machine learning,
why not &grab a handy dataset
and solve a machine learning problem today.
(soft music)