Pick your AI/ML Path on Google Cloud
Staff Developer Advocate
Many users within an organization play important roles in the machine learning (ML) lifecycle. There are product managers, who can simply type natural language queries to pull necessary insights from BigQuery, data scientists, who work on different aspects of building and validating models, and ML engineers, who are responsible for keeping the models working well in production systems. Each of these roles involves different needs; this post covers the Google Cloud ML/AI services that are available to help meet those needs.
Pick your AI/ML Path
The services that will work best for you will depend on your specific use case and your team's level of expertise. Because it takes a lot of effort and ML expertise to build and maintain high quality ML models, a general rule of thumb is to use pretrained models or AI solutions whenever possible -- that is, when they fit your use case. If your data is structured, and it’s in BigQuery, and your users are already comfortable with SQL, then choose BigQuery ML. If you realize that your use case requires writing your own model code, then use custom training options in Vertex AI. Let’s look at your options in some more detail.
Prepackaged AI Solutions
Both pretrained APIs and prepackaged AI solutions can be used without prior ML expertise. Here are three prepackaged solutions that can be used directly:
Contact Center AI - Create rich and natural conversational experiences across devices and platforms using an AI-powered virtual agent, insights derived from customer interactions, and agent assist features.
Document AI - Tap into your unstructured data (such as images and PDFs) and make it accessible using Google computer vision (including OCR) and natural language processing (NLP) capabilities to increase operational efficiency, improve customer experiences, and inform decision-making.
Recommendations AI - Use machine learning to deliver recommendations personalized for each customer’s tendencies and preferences across all touchpoints.
If you don’t have any training data to train a model and you have a generic unstructured data use case such as video, images, text, or natural language, then a pre-trained API would be a great choice for your AI/ML project. Pretrained APIs are trained on a huge corpus of generic unstructured data that is built, tuned, and maintained by Google. This means you don’t have to worry about creating and managing the models behind them.
Vision AI - Derive insights from your images in the cloud or at the edge with AutoML Vision or use pretrained Vision API models to detect emotion, understand text, and more.
Video AI - Enable powerful content discovery and engaging video experiences.
Translation AI - Make your content and apps multilingual with fast, dynamic machine translation.
Language AI - Derive insights from unstructured text using natural language understanding (NLU). Get insightful text analysis that extracts, analyzes, and stores text.
Speech-to-text API - Accurately convert speech into text (and vice versa with Text-to-speech API) to deliver a better user experience.
If your training data is in BigQuery and your users are most comfortable with SQL, then it likely will make sense for your data analysts and data scientists to build ML models in BigQuery using BigQuery ML. You will have to make sure that the set of models available in BigQuery ML matches the problem you’re trying to solve. BigQuery ML offers simple SQL statements to build, train, and make predictions within the BigQuery interface or via the API.
Vertex AI offers a fully managed, end-to-end platform for data science and machine learning. If you need to create your own custom models with your own data, then use Vertex AI. Vertex AI offers two options to train models: AutoML and custom training. Here is how to choose between these two options:
Use case: If your use case fits a supported AutoML offering, then starting with AutoML is a good choice. This includes use cases involving data types such as image, video, text, and tabular. But if your model takes a mixed input type such as images and tabular metadata, then it makes sense to use a custom model.
Requirements: If you need control over your model architecture, framework, or exported model assets (for example, if your model needs to be built with TensorFlow or Pytorch), then use a custom model.
Team expertise: How experienced is your team with ML/AI? If you have a team with limited experience in building custom models, then explore AutoML before you look into custom model development.
Team size: If you have a small data science and ML team, then it may make more sense to work with AutoML because custom model code requires more time to develop and maintain.
Prototyping: Use AutoML if you want to develop a quick initial model to use as a baseline. You can then decide if you want to use this baseline as your production model or look to improve upon it by developing your own custom model.
For a more in-depth look into Service Directory check out this documentation or start with detailed Vertex AI videos. Also, join us at the Applied ML Summit on June 9th at 9am PST to learn more about the process of successfully shipping machine learning models in production.
For more #GCPSketchnote, follow the GitHub repo. For similar cloud content follow me on Twitter @pvergadia and keep an eye out on thecloudgirl.dev