ilapaj Library
Articles 日本語
7 min read (1,386 words)

Study Notes for the GCP Professional Machine Learning Engineer Certification

This is an English translation of the original Japanese article, translated with the help of AI.
Table of Contents

I’m studying for the Google Cloud Platform Professional Machine Learning Engineer certification (hereafter MLE), so here are my study notes.

These are study notes, so there is a chance they contain incorrect information.

List of Services#

Choosing Services by Implementation Complexity#

Exam questions often state whether the team possesses specific expertise or what the business requirements are.

  • With minimal effort
  • Nobody on the team can write code or SQL queries
  • Nobody has machine learning experience
  • A no-code solution

And so forth.

Here is a rough mapping between exam keywords and the appropriate services:

Someone Can Write SQL / Data Is in BQ#

Use BigQuery ML.

Because you can build models simply by writing SQL in BQ.

However, keep the following limitations in mind:

  • The available models are limited, and it only handles tabular data
  • BQML does not support automatic model deployment and similar workflows

If you need to handle images or audio, or want end-to-end continuous integration for the model, use AutoML instead of BQML.

Nobody on the Team Is Familiar with Machine Learning#

Use pre-trained APIs (pre-built APIs).

No model training is required—you just throw data at the API and get all sorts of outputs back.

They include the following:

Vision API#

Image labeling, landmark detection, OCR, detecting inappropriate content, etc.

Video Intelligence API#

Annotating video content, etc.

Natural Language API#

Sentiment analysis, entity analysis, syntax analysis, etc.

Translation API#

Translation.

Cloud Speech-to-Text API#

Converts speech to text.

Cloud Text-to-Speech#

Converts text to speech.

Dialogflow#

Easily build chatbots.

Cloud Inference API#

Analyzing time-series data.

Recommendations AI#

Recommendations.

Media Translation#

Translating audio files and streams.

Want to Build Custom Models Without Code / With Minimal Effort#

Use AutoML.

Just provide the problem type and the data, and it easily builds a model. With AutoML, it can even handle deploying to an endpoint.

Want to Fine-Tune the ML Workflow in Detail#

Use Vertex AI custom training.

The most flexible option, but requires writing code and demands machine learning expertise.

Putting all of this together into a table:

BigQuery MLPre-built APIsAutoMLCustom training
Data typeTabular data onlyVariousVariousVarious
Training data sizeMedium to largeNone neededSmall to mediumMedium to large
Understanding of ML & codeModerateMinimalMinimalSubstantial required
Hyperparameter tuning flexibilityModerateNoneNoneHigh
Training timeDependsNoneDependsLong

Data Is Outside GCP and Cannot Be Moved / Multi-Cloud / Want to Run on Edge (Smartphones, etc.)#

Use Kubeflow. Kubeflow is a machine learning toolkit for Kubernetes. By using it, you can run the exact same workloads whether on-premises or on smartphones.

Kubeflow offers the following advantages:

  • Composability
  • Portability
  • Scalability

Supporting Services#

Services useful in the steps before and after actual machine learning, such as preprocessing and ingesting data streams.

Pub/Sub#

A managed service based on the publisher-subscriber model. Acts as an ingestion entry point for data streams and the like.

Cloud Data Fusion#

Allows building pipelines that pull data from various data sources and drop it somewhere. Built via a GUI, so it’s a no-code solution.

Cloud Dataflow#

A platform for running pipeline processing written in Apache Beam. Its selling point is that both batch and stream processing can be done with the same code, but you do have to write code.

When using Flex templates, you create the template using a Docker image provided by Google. Because this image is identical to actual Dataflow, you can test locally and then deploy directly to Dataflow.

Cloud Dataprep#

You can create data preprocessing recipes—such as removing outliers or adding new statistical features—and export them as Cloud Dataflow jobs. A no-code solution.

Vertex AI Pipelines#

Manages the end-to-end workflow from data ingestion, preprocessing, model building, and model evaluation to deployment. Requires writing code.

Cloud Dataproc#

A managed Hadoop service. It can certainly be used for big data analysis, but it’s rarely the right answer on the exam.

The Vertex AI Family#

Vertex Feature Store#

Centrally organizes and stores features. Very handy when multiple machine learning models are being built independently across different departments.

Vertex AI Datasets#

Centrally manages datasets.

Vertex AI Labeling#

Allows requesting labeling tasks for training data.

Vertex Model Monitoring#

Continuously monitors the quality of models after deployment. Used for drift detection.

Other Useful Tools#

What-If Tool (WIT)#

Google’s own data visualization and model analysis tool.

TensorFlow Extended (TFX)#

An open-source library for building and operating ML pipelines.

Language Interpretability Tool (LIT)#

An open-source tool for explaining and visualizing Natural Language Processing (NLP) models.

TensorFlow Probability (TFP)#

A Python library for statistical analysis and probability, notable for its ability to run on TPUs and GPUs. Convenient when you also want to use traditional statistical methods.

Other Common Exam Scenarios#

Loss Keeps Decreasing on Training Set, but Started Increasing on Test Set#

Overfitting is occurring. The cause is that the model is too complex, so you should simplify it. Representative strategies for this include:

  • Reduce the number of deep learning layers.
  • Penalize excessive weights using L2 regularization, etc.

Want to Run Regression with Many Correlated Features#

How to handle data with multicollinearity. In this case, standard linear regression often doesn’t work well.

  • Use Partial Least Squares Regression (PLS)
    • Feature compression is performed inside this via Principal Component Analysis (PCA)
  • Use Multivariate Multiple Regression

What Is Not Included in BigQuery ML?#

BigQuery ML is easy to use as long as you know SQL, but it does not include CI/CD mechanisms.

Therefore, if a question mentions “wanting automatic deployment,” it gets ruled out.

Massive Number of Features: Want to Compress to Reduce Training Cost, but Don’t Want to Lose Information#

Use PCA. Strictly speaking, using PCA inevitably loses some information, but for the purpose of the exam, you can ignore that.

What Are the Right Ways to Extract and Use Data Stored in BigQuery?#

  • BigQuery Python client library
    • Just by importing the library, you can run queries against BQ from Python and store the results in a Pandas DataFrame. Fits the purpose perfectly.
  • BigQuery I/O Connector
    • Used to extract data from BQ into Dataflow (Apache Beam) for preprocessing. Fits the purpose perfectly.
  • tf.data.dataset reader
    • The first thing you need when reading BQ data directly from TensorFlow.

Use tools like these.

What Are Wide vs. Deep Neural Networks?#

A neural network being “Wide” means having a large number of nodes per layer. This helps with the “memorization” of training data.

A neural network being “Deep” means having many layers. This helps with the “generalization” of learning.

See below: Wide & Deep Learning: Better Together with TensorFlow

What Should I Use to Read Data in TensorFlow?#

Basically, using tf.data.Dataset is all you need. Issues like data not fitting into RAM can almost always be solved with this.

What Is Anscombe’s Quartet?#

When performing regression analysis, you can get the exact same regression line even though the scatter plots look completely different. The four datasets presented by statistician Francis Anscombe to demonstrate this are Anscombe’s quartet.

It teaches us the lesson that you really need to check scatter plots to verify non-linear relationships and the presence of outliers.

Want to Use TPUs but Keep Costs Down#

Use Preemptible Cloud TPUs.

They are super cheap at about a 70% discount compared to regular ones, but they terminate automatically after 24 hours, and Google might shut them down at any time. In short, it’s a service where you temporarily borrow leftover surplus resources.

What Hyperparameters Can Be Specified for Tuning in Vertex AI?#

Various parameters like num_hidden_layers or learning_rate. scaleTier and parameterServerType are infrastructure configurations, so they are not hyperparameters.

What Is Lazy Learning?#

A type of machine learning where the model does not modify its internal state when data arrives, but merely accumulates samples. It only utilizes the samples when actually making predictions.

Examples include k-nearest neighbors and Naive Bayes.

How to Run a TensorFlow Training Job in the Same Environment as AI Platform?#

gcloud ml-engine local train

Want Explainability for a DNN Model!#

Use methods like Integrated Gradients. In TensorFlow, you can calculate it using tf.GradientTape.

How to Save Progress During Model Training?#

For PyTorch, use save; for TensorFlow, use train.CheckpointTF.

What Are Non-Parametric Methods?#

Statistical analysis methods that do not assume any specific distribution for the population.

Examples include k-nearest neighbors and decision trees. Conversely, standard neural networks and logistic regression assume a distribution, so they are called parametric methods.

Using TensorFlow but Want Google Support#

Use TensorFlow Enterprise. It’s included at no additional charge, but note that it’s only available to enterprise customers who are big GCP clients.

Want to Exclude Specific Columns in BigQuery#

Writing SELECT * EXCEPT (label_column) returns all columns except the label_column.

How to Choose Data Integration Services#

How to Choose Data Integration Services
How to Choose Data Integration Services

Dataflow#

  • Want to do both stream and batch processing
  • Want detailed customization
  • Can write decent code

Data Fusion#

  • Want to pull data from multiple sources
  • Want to operate via GUI

Dataproc#

  • Want to migrate on-premises Hadoop workloads to the cloud
  • Have knowledge of big data and Hadoop

Dataprep#

  • Want to do ad-hoc (exploratory) analysis
  • Good to go with no-code

More articles

All articles →
ilapaj
ilapaj

Notes on games, radio and technology, translated from the Japanese blog.

封面
Sample Song
Sample Artist
封面
Sample Song
Sample Artist
0:00 / 0:00