In this first article of the series, we present an overview of Google's AI Platform, exploring the services available to modern data science
For those of you not familiar with Google Cloud, the Google Cloud Platform (GCP), is a suite of cloud-based computing services designed to support a range of common use cases; from hosting containerized applications, such as a social media app, to massive-scale data analytics platforms, and the application of advanced machine learning and AI.
Google Cloud consists of a set of physical assets, such as computers and hard disk drives, and virtual resources, such as virtual machines (VMs), that are contained in Google’s data centers around the globe.
Google Cloud (from Get Started with Google Cloud)
First launched in April 2008, Google Cloud runs on the same infrastructure that Google uses internally for its end-user products, including Google Search, Gmail, file storage, and YouTube. This global network is a feat of engineering in itself, and Google has a fascinating, interactive showcase you can explore.
Google Cloud is one of three major cloud providers currently in the marketplace, the other two being Microsofts Azure and Amazon Web Services (AWS).
Google and Artificial Intelligence
Google is often cited as a world leader in the field of artificial intelligence. To understand why, we can start by looking at Google’s mission statement:
Google’s mission is to organize the world’s information and make it universally accessible and useful. AI is helping us do that in exciting new ways, solving problems for our users, our customers, and the world.
In this article, Google further elaborates on its specific use of AI:
AI is making it easier for people to do things every day, whether it’s searching for photos of loved ones, breaking down language barriers in Google Translate, typing emails on the go, or getting things done with the Google Assistant. AI also provides new ways of looking at existing problems, from rethinking healthcare to advancing scientific discovery.
Google AI acquisitions
The last decade or so has seen a flurry of Google AI acquisitions:
2010: Metaweb (semantic search), Phonetic Arts (speech synthesis)
2011: SayNow (speech recognition), PittPatt (facial recognition)
2012: Viewdle (facial recognition)
2013: DNNresearch (deep learning), Behavio (semantic analysis), Wavii (NLP), 6 robotics companies including Schaft, and Industrial Perception
2013: Bot & Dolly (robotic vision)
2014: Nest Labs / Revolv (home automation), DeepMind / Dark Blue Labs (deep learning), Jetpac (image recognition)
2016: Moodstocks / Anvanto (image recognition), API.ai (NLP), Eyefluence (vision)
2017: Kaggle (data science), Halli Labs (deep learning), AlMatter (vision)
2020: Onward (NLP), Smart Glasses (vision)
Google has pledged to make this AI domain knowledge accessible to others and forms the basis upon which their AI Platform is built.
At Google AI, we’re conducting research that advances the state-of-the-art in the field, applying AI to products and to new domains, and developing tools to ensure that everyone can access AI.
Google Cloud AI Platform
AI Platform is a suite of services on Google Cloud specifically targeted at building, deploying, and managing machine learning models in the cloud.
Hyper-accessible machine learning
AI Platform is designed to make it easy for data scientists and data engineers to streamline ML workflows, and access groundbreaking AI developed by Google. We use it a lot with AutoML (Google’s point-and-click ML engine), but in addition, it supports training, prediction, and version management of advanced models built using Tensorflow, and SKLearn.
Cloud AI Platform Services
AI Platform offers a suite of services, designed to support the activities seen in a typical ML workflow.
Google Cloud AI Platform services
Typically, data is first prepared (ingest, clean, feature engineer) in BigQuery Datasets, collections of tables in Google Clouds hyper-scale data warehouse.
Whilst Google features BigQuery as forming part of the AI Platform, we tend to view BigQuery as a data warehouse, and therefore not technically an AI service. Having said that, it is used in 99% of ML workflows we build.
Google offers a Data Labelling Service for labeling training data. This service lets you work with human labelers to generate highly accurate labels for a collection of data that you can use in machine learning models. Typically we use this for the classification of images, video, audio, and text.
Some example image labeling options include (but are not limited to):
- Classification of images (cat, not cat)
- Image box bounding (draw a box around all cars in each image)
- Image segmentation (outline all people in each image)
You may want to learn more about Data Labeling pricing.
We briefly touched upon AutoML, the zero code platform for training models.
Machines training machines. Cloud AutoML enables teams with limited machine learning expertise to train high-quality models with an easy-to-use graphical interface. It relies on Google’s state-of-the-art transfer learning and neural architecture search technology; leveraging more than 10 years of proprietary Google Research technology to help your machine learning models achieve faster performance and more accurate predictions.
Today, designing neural nets is extremely time-intensive, and requires expertise that limits its use to a smaller community of scientists and engineers. That’s why we’ve created an approach called AutoML, showing that it’s possible for neural nets to design neural nets.
Sundar Pichai, Google CEO
We use AI Platform Notebooks (hosted Jupyter Notebooks) for building custom ML models, typically using Tensorflow or SkLearn.
Released in September 2020, AI Platform Notebooks replaces Cloud Datalab. We like that you can now work with the notebook directly in your browser without having to set up an ssh tunnel first (which datalab forces you to do).
Finally, AI Platform Training offers services to run your training job on computing resources in the cloud.
Explainable AI is a great suite of tools that helps you understand your model’s outputs, verify the model behavior, recognize bias in your models, and get ideas for ways to improve your model and your training data. This really helps to take the guesswork out of activities, such as model tuning.
When AI goes wrong
Explainable AI should be ignored at your peril. For example, an image classification model was trained to detect wolves. The creators were perplexed when the algorithm incorrectly classified an Alsation as a wolf. It turned out, the trained model was actually just looking for snow and trees in the image (which featured heavily in the training set).
This is a great TED Talk that cites this, and other examples.
AI Platform Vizier takes this a step further, and offers a black-box optimization service, to tune hyperparameters and optimize your model’s output.
Whether you have a model trained using no-code AutoML, or an advanced Tensorflow model built using AI Platform Notebooks, AI Platform offers a number of services to help deploy models and generate predictions.
AI Platform Prediction manages the infrastructure needed to run your model and makes it available for online and batch prediction requests.
AutoML Vision Edge helps deploy edge models (run on local devices e.g. smartphone, IoT device) and can trigger real-time actions based on local data.
We discussed The Importance of Edge AI in our recent article.
TensorFlow Enterprise offers enterprise-grade support for your TensorFlow instance.
5. ML Pipelines (ML Ops)
ML Ops is the practice of deploying robust, repeatable, and scalable ML pipelines to manage your models. AI Platform offers a number of services to assist with these pipelines.
AI Platform Pipelines provide support for creating ML pipelines, using either Kubeflow Pipelines or TensorFlow Extended (TFX).
Continuous evaluation helps you monitor the performance of your models and provides continual feedback on how your models are performing over time.
Deep Learning VM Image supports easy provisioning of Cloud VMs for deep learning ML applications.
Finally, Deep Learning Containers provides preconfigured and optimized containers for deep learning environments.
We cover Deep Learning Containers in depth in our recent article: A Cloud ML first: Google’s AI Platform Deep Learning Container with NVIDIA Tensor Core A100 GPU.
1. In Part 2, we will explore the Data Labelling service for image labelling
2. Read the Google Cloud AI Platform
3. Learn more about Ancoris Data, Analytics & AI