>> Today on this special Build edition of the AI Show,
join us to hear from Abe Omorogbe,
Program Manager on the Azure Machine Learning Team.
Abe will explain how Notebooks in
Azure Machine Learning Studio is a new
first in class notebook authoring experience
packed with features that make it easier to create,
edit, and collaborate. Make sure you tune in.
[MUSIC]
>> Hi, my name is Abe Omorogbe.
I'm a Program Manager in
the Azure Machine Learning Team here at Microsoft.
Thank you for joining us today at Build,
and taking the time to watch this video.
In this session, I'm going to walk you through
all the new and exciting features
coming to Azure Machine Learning Studio.
So let's get started.
You're probably wondering, what exactly are
these Studio Notebooks and what are your benefits.
Studio Notebooks are Notebook editor and
File Explorer that lives inside the Azure Machine Learning Studio.
Studio Notebooks are fully compatible with Jupyter,
which means you can bring in
any Jupyter Notebooks and it just works.
With Studio Notebooks, we strived for first in class
Notebook editing experience with some of
the best code editing features.
Every single code cell is packed with the Monaco Editor,
the same editor that powers the popular Visual Studio code.
Each cell also has IntelliSense
for code suggestions and an error highlighting,
as well as the nice new gather feature,
which cleans up your Notebook in seconds.
While development Studio Notebooks,
we made sure we made the collaboration experience seamless.
We will be introducing a live co-editing experience,
which makes working remotely with colleagues
easier and collaboration on Notebooks effortless.
Lastly, this experience is all
integrated inside the Azure Machine Learning Studio,
giving you quick access to all your Machine Learning assets.
Enough talking, let me show you.
In this demo, I will show you how
a data scientist or developer can
easily edit and run a Jupyter Notebook
without leaving the Azure Machine Learning Studio.
I will pause at various points throughout the demo to
explain to you the new features and why they're important.
I'll be working with a Notebook that uses
a diabetes dataset to predict
the diabetes disease progression using
key indicators like age, gender, and BMI.
This is a common data science example,
and can be found in the
Azure Machine Learning tutorial documentation.
For this example, I will show you
a typical data science workflow and
how Azure Machine Learning Notebooks can
make you and your team more productive.
I'm here in my Azure Machine Learning workspace,
a one-stop shop for all my machine learning needs.
In this workspace, I can easily share
all my Machine Learning assets with my teammates.
To start this experiment,
let me click on "Notebooks".
Here, I can browse
all my files and the files of others in my team,
making it an extremely simple to collaborate.
With Studio Notebooks, I can start working with
the Jupyter Notebook directly in my workspace,
and have easy access to any of my experiment details,
datasets, models,
and more stored in the Azure Machine Learning Studio.
I'm going to start building
a diabetes experiment by opening a Notebook I've been working on.
I'll minimize the File Explorer and the other menu,
so I have more space to work with.
First, I'll start by connecting to my workspace.
Before I run the first cell,
I realized that I'm currently connected to
a machine that's a bit overpowered for this experiment.
With Studio Notebooks, I can easily stop
this compute to save some money and switch to a cheaper compute.
As you can see, I can hit the "Stop" button here,
use the compute drop-down,
and switch to a smaller compute and then run the first cell.
As you just saw, I started typing in the Monaco Editor,
the same popular editor that powers Visual Studio Code.
This is now embedded inside every single code cell.
Before in a cell,
I used the Notebook toolbar to
control my Azure Machine Learning compute.
These computes are called compute
instances in the Azure Machine Learning contexts.
This is what is used to execute my Notebook cells.
Compute instances can be easily created,
and switched to run your Notebooks,
because the Notebooks are stored in a shared file storage,
that all the computes have access to.
In the scenario I just showed you,
the convenient compute drop-down in
the toolbar showed me the status of my computes,
as well as details about that compute.
Backed by the power of the Azure Cloud,
I can easily spin up a new GPU or CPU compute
instance that meets all my computing
needs right inside the Studio Notebook.
Lastly, we added a cell toolbar to every cell,
making it faster to do some cell operations,
such as moving a cell,
clearing the cells outputs,
or converting the cell to mark down.
As I work through this experiment,
I noticed I forgot to define the experiment properly.
Let me hover over this experiment module.
With IntelliSense, I can see
the code snippets right there. Let me try that out.
By hidden control and space,
I can activate the IntelliSense suggestions.
Now, I know all I have to type in now's my workspace,
name, as well as the name of this experiment.
I'm going to go ahead and name this diabetes
Experiment 1, and then run the cell.
The IntelliSense experience you just saw is using
the same language server that powers VS Code.
As most know, IntelliSense is
a real productivity booster for anyone typing code,
and even more impactful within a Notebook Canvas,
feeding well the user's fast pace and iterative workflow.
Features like auto-completions, inline and error highlighting,
and code suggestions can make
iterating through a Notebook much quicker.
In this cell, I've already written some code to load the dataset,
to do some data transformation,
and split the data into training and test
set using the train test split function.
To make sure I did everything properly,
I'll preview the DataFrame and
confirm I imported all the data correctly.
I could also hover over
the diabetes package to see if I imported everything properly.
As you can see, it looks about right.
Thank you, IntelliSense.
When looking at an unfamiliar dataset,
I like to look at the types of
columns and statistics of the variables.
Nice. This looks good to me.
Overall, the data looks good and you know obvious outliers.
Now, I know my data is good,
I want to build a script that trains rich models
in a loop through different hyperparameter Alpha values.
The IntelliSense is telling me that there's an error in my code.
I see, it looks like I forgot the EL at the end of model.
Let me put that right back in.
Looks like everything should be good now.
Nice. When training multiple models like these,
it is easy to lose track of
what models I trained and how I trained them.
I know in Azure Machine Learning Studio,
there's way to track all my errands
and share my experiments with my teammates.
However, I don't quite remember. You know what?
Let me ask Leah to help unblock me.
She's really good at this stuff.
Leah is one of my teammates and she has access to my workspace.
Let me quickly send her my problem and
a link to my notebook via Teams,
so we can collaborate on the notebook together.
Let me just open up Teams.
Now, that I have sent a link to Leah,
she should be able to click this link and get access
to my notebook and we can collaborate on it together.
>> In this next part of the demo,
I'm going to give you a short preview into
a very exciting feature we're releasing later this year.
In a future release of Studio Notebooks,
we're going to introduce the concept of life co-editing
inside a notebook by simply
sharing a link to your notebook with a colleague.
They can have access to your notebook and help you
debug as well as unblock you from different issues.
Features like this make it easier for teams to work together,
especially when everybody is working from home.
This collaboration feature is using
Microsoft Fluid Framework to
enable a seamless collaboration experience.
From our customer research,
we know that collaborating on a notebook is something many want,
especially in the space with a lot of newcomers.
>> So I see Abe has sent me a message
asking for help tracking an experiment.
Following the link he shared,
I land in co-editing mode on a notebook.
I can see that Abe is also working on
this notebook by his status icon here in the top right.
As I scroll through the notebook,
I can also see which cells Abe
has already run by this output indicator.
I want to find where Abe is currently working in this notebook,
and I find his cursor indicator here in this cell,
which tells me this will be a good place
to start in order to help him.
I'll take a quick look at the code he's written so far.
It looks good and I can see what he is trying to do.
But in order to track his custom metrics for this experiment,
we will need to define and log a few variables.
I've done something similar before,
so I will bring over those lines of code.
First, we need to define the run variable,
which will let us log the custom metrics.
We'll also log each Alpha value,
and we'll load the RMSE value.
Logging these values will let us
capture the accuracy of the experiment.
Finally, we want to upload the model files so that the model
associated with this run can be viewed in the Experiments page,
and lastly, we'll make sure to complete the run.
So that should do it for the code changes.
I'll leave Abe a note in the last cell of
the notebook letting him know where to go next.
Because this will just be a comment,
I don't want this to be a code cell.
I'll use the cell toolbar to convert this cell to Markdown,
which is more appropriate.
Great. So hopefully this will help
Abe move forward with tracking his experiment.
>> As I was watching, I saw everything Leah
added and it looks like I'm ready to track my experiment.
Let me run this cell so I can track my experiment.
Well, Leah, even left me a note telling me to go
to the Experiments tab to see this experiment.
Let's go there right now.
So I'll just open this up,
go to the "Experiments" tab
and open up my experiment, diabetes-expr-1.
Nice. I can see all 10 training runs and the metrics from
the experiment that Leah helped me track show up all right here,
just a few clicks away.
>> As you just saw I was with the Experiments page,
and I was able to see the runs executed by the notebooks.
I saw all the individual runs in
the experiment and all the custom log values.
When training models at scale
with hundreds and even thousands of separate runs,
this page makes it very easy to see every model you've trained,
specifically how they were trained,
and now each unique metric changes over time.
The best part is that with Studio Notebooks,
everything is integrated and you could
easily switch back to the notebooks in
all the same workspace without
switching your tabs or even opening a new window.
It really streamlines the workflow and makes you more productive.
>> I did some exploration earlier that didn't lead to anything.
Let's clean up this notebook so that I can keep
only the cells that were necessary to produce the final output.
With the gather feature,
I can do just that.
I'll click here and then click "Gather".
This feature will clean up my notebook.
After clicking that button,
a notebook would with only the necessary code is created.
Let me show you that notebook.
Wow, as you can see,
this notebook only has
the necessary code needed to produce the final output.
Now, this experiment is complete and my notebook is much cleaner.
With gather my life just got a whole lot easier.
>> In a data scientist interactive notebook workflow,
you try things out in various cells,
looking at various outputs before you
settle on the code that you actually want to keep.
With the gather technology,
a single-click on the chosen cell creates
a cleaned up notebook with only the code that matters.
Gather does this by doing
an automated dependency analysis on your notebook,
ensuring that essential code is kept,
but removing any irrelevant pieces.
Thanks for staying through this session and watching the demo.
As you just saw,
Azure Machine Learning is a great place to work with notebooks.
I was able to start work with my diabetes Jupyter Notebook,
then I was able to start coding quicker with
the improved code cell editor using features like IntelliSense.
When I got stuck,
my teammate Leah was able to
unblock me with the life co-editing feature.
Then after running my experiment,
I could easily track the experiment in
the integrated Azure Machine Learning Experiments page,
and lastly, after all of that,
I was able to clean up my notebook
quite quickly with the gather function.
If you want to try these new features out
and read more about Studio Notebooks,
please follow the links on the screen.
The Studio Notebooks team and I
want to thank you for watching this and
we hope you become more
productive with Azure Machine Learning Studio,
and the Studio Notebooks.
[MUSIC]