ANU SRIVASTAVA: Interested in machine
learning on Google Cloud but not sure where to start?
Today, I'm going to walk you through the process of how
to pick the right AI/ML solution on Vertex AI.
[MUSIC PLAYING]
Before we dive in, Vertex AI is a fully managed machine
learning platform that makes it easier
to build, train, and deploy models and AI applications.
Vertex AI has tooling for traditional software
development, low-code and no-code machine learning,
and custom model training.
Here are the three categories we'll talk about today.
We'll compare the differences and discuss
how to choose the right path for your use case.
So first, we have pre-trained models
from the API library, which allows developers
to incorporate models that Google owns and maintains
into their applications.
Pre-trained models are trained on a large corpora of data
and can provide predictions for several general machine
learning problems.
Client libraries are available in many popular programming
languages.
Then we have AutoML, which is a service that allows developers
to create models for their own data
without any model training code.
This can be used if your data is of a single type,
whether it be image, text, tabular, or video.
This is accessible for users of all backgrounds.
And finally, custom model training with open source
frameworks.
Develop your own custom model training
when your problem doesn't fit AutoML,
or you want to write and configure your model
code with frameworks such as TensorFlow, PyTorch,
XGBoost, and more.
If these frameworks sound familiar,
custom training on Vertex AI is for you.
Next we'll look at each of these options in more detail.
Let's start with the basics--
no training or data needed, your entryway into incorporating
AI/ML into your apps, pre-trained models.
If you have general unstructured content
you'd like to get structured insights from,
using one of our APIs that encapsulates
a pre-trained model is your first stop.
Pre-trained APIs are trained on a wide breadth
of data that is built, updated, and maintained by Google.
So this means you do not have to worry
about creating or managing the models behind the APIs.
Let me walk you through a fun example.
So the Vision API allows you to classify images,
detect objects, logos, and read handwriting, and much more.
So here's a photo of my best friend's pets.
The Vision API allows me to detect the objects
in the image, such as the dog, the cat, and the collar.
You'll get back color information, cropping hints,
and other useful metadata.
Moving on to other data types, we
have the Video Intelligence API, which
allows you to do object detection,
streaming video annotation, and even
set up object-based event triggers.
Translation-- make your content and apps multilingual
with fast, dynamic machine translation
for over 130 languages.
Natural language-- derive insights from unstructured text
using natural language understanding,
which is the use of AI to perform
reading comprehension tasks.
This API allows you to perform tasks such as entity
extraction; pulling key terms and phrases,
such as proper nouns, public figures, landmarks, and more;
sentiment detection-- get a score of the writer's attitude
or emotional opinion, positive, negative, or neutral.
So this can be used to analyze and boost
your customer's experience.
Content classification-- categorize
bodies of text, which can then be used to guide
recommendations for your users.
Now we have the Speech-to-Text API.
You can perform accurate speech transcription
from audio and video.
So this API allows you to use over
20 years of Google's experience in Automated Speech
Recognition, or ASR, to increase accessibility, bring your apps
to more devices, and deliver a better user
experience with content captioning and analysis.
On the flip side, we have the Text-to-Speech API,
which uses state-of-the-art research to provide human-like
speech synthesis.
While our pre-trained APIs cover a wide range of capabilities,
how do you know whether you should use one
of or out-of-the-box solutions or use your own data to build
a model from scratch?
Well, if any of these apply to you,
you may need to develop your own model.
You need a level of specificity for a pre-trained model cannot
provide.
For example, earlier the Vision API could identify the dog,
but if I needed the specific breed of dog predicted,
I'd have to train a model for this use case.
Another example is that I can get
high-quality AI-powered translation using
our Translation API, but say I have
a lot of domain-specific terminology in my content,
like if I worked in health care or the legal field.
In that case, I might want to train a custom model
to handle the specification.
If you require a high level of accuracy,
and your team has the data, the bandwidth, and the data science
capability to develop and maintain a custom model.
Here is where modeling on Vertex AI comes in.
There's a lot going on here, but just know,
with Vertex AI you have support for open source frameworks;
end-to-end ML ops support to efficiently scale, manage,
monitor, and govern your workloads;
tooling, such as notebooks and pipelines;
as well as optimized infrastructure
for every step of your journey.
Vertex AI offers two options to train models--
AutoML and custom training.
So here is how to choose between these two options.
AutoML allows us to deploy high-quality custom models
with minimal effort and ML expertise.
If your use case fits a supported AutoML data type
and objective, such as labeling and segmentation for images,
or regression and classification for tabular data,
start with AutoML.
Again, the data types are image, video, text, and tabular.
There is no code required for training,
because AutoML builds a model for you when
you use its no-code interface.
The console will walk you through step
by step the whole way, starting with importing
your data into a data set, then training the model, how
to evaluate the model's performance,
and take you all the way through deploying your model,
so you can get an endpoint that you can call
from your application code.
We recommend starting with AutoML to prototype,
even if you are working in a team with data science
and machine learning experts.
But if your data is highly custom,
or your model needs to take a mixed input,
or you want control over the architecture framework
and exported model assets, it is time
to start your custom training code journey.
This is where you can run custom training jobs to scale
and operationalize your ML training using
pre-built or custom containers.
The most common workflow we see is creating and packaging up
your training application code, configuring the specifications
for your custom training job, submitting the job,
then monitoring it as it trains.
Training jobs on Vertex will automatically
provision computing resources, perform the training task,
and ensure deletion of resources once a training
job is finished.
We hope you enjoyed this tour of machine learning on Google
Cloud and that you find the right solution for your data
needs.
Check out the links in the description below to get
started with Vertex AI, and don't
forget to subscribe to our channel for more
Google Cloud developer content.
[MUSIC PLAYING]