Notes from my Google Cloud Professional Machine Learning Engineer Certification Exam
Subscribe to my YouTube channel that teaches you to apply Google Cloud to your projects and also prepare for the certifications: youtube.com/AwesomeGCP. Check out the playlists I currently have for Associate Cloud Engineer, Professional Architect, Professional Data Engineer, Professional Cloud Developer, Professional Cloud DevOps Engineer, Professional Cloud Network Engineer, and Professional Cloud Security Engineer.
I have the Google Cloud Professional Machine Learning Engineer certification now! 🏆
There are 60 questions in the exam, unlike other Google Cloud certification exams which have around 50! This seems to be standard for the machine learning engineer certification. This had previously surprised some people because they were expecting only 50 questions like other exams, and, from what I hear, it wasn’t clear until towards the end. Now they seem to have updated the screen so that it is not a surprise. Earlier they just gave the current question number. Now they show it like: 1 of 60, 2 of 60, etc.
I have been reading about, doing courses, and playing around with ML for a while now. So there weren’t many ML terms that I didn’t recognize. There were a few, for sure, and that is to be expected, but for the most part I wasn’t as baffled by particular terms as much as interpreting the scenarios and applying them. As usual, I was fairly convinced I was going to flunk. When the exam session broke about half way through, I thought it probably would be better to postpone the exam. Luckily, I went through it to the end, and passed!
The exam has a fair mix of core ML topics and Ml engineering topics. Based on articles written by others who had taken the beta ML exam, I got the feeling that the questions are mostly all or at least predominantly about ML engineering. I would say that is not true — there is a good mix of core ML topics. Learn ML algorithms and TensorFlow, but don’t go too deep. And a surface level knowledge of SciPy, NumPy, and other libraries was sufficient.
I have collected posts, articles, courses, books, and learning material that I found over here: https://github.com/sathishvj/awesome-gcp-certifications. As always, please contribute with other links you find for the benefit of the community.
Topics to Study
* Recall, precision — get this picture into your head permanently (https://en.wikipedia.org/wiki/Precision_and_recall#/media/File:Precisionrecall.svg). Understand what are the implications of both. How will you increase either value? If you have the picture in mind, it will help you compute what you need.
— you also need to keep in mind the formula for both.
* Accuracy, F-score — similar to the recall and precision, remember accuracy also, including the formula. Just know what F-score is — you probably don’t need to remember the formula for it.
* Log Loss — (https://www.kaggle.com/dansbecker/what-is-log-loss)
* AUC ROC curve and its use. (https://developers.google.com/machine-learning/crash-course/classification/roc-and-auc)
* Precision-Recall curve (less important but know what it is)
* Based on the formulae, what needs to change to improve recall, precision, accuracy, etc. Think in terms of both the formula and the graph for things like ROC.
* Pub/Sub, Dataflow and pipelines, Dataprep — If you’ve done the Data Engineer, there is no additional study to be done.
* BigQuery — This is the central datawarehouse for both storing and analyzing structured data. Again, if you’ve done the PDE, you’ll be fine on this section.
* Data cleaning and validation. Think about tools like Dataprep, Dataflow, Dataproc, and cleaning data with code.
* How to deal with missing data — do you remove it? do you compute it? In which scenarios would you take different approaches?
* Data Normalization — what is this and why would you use it? (https://developers.google.com/machine-learning/data-prep/transform/normalization)
* Transforming Data — numerical and categorical (https://developers.google.com/machine-learning/data-prep/transform/transform-numeric)
* Feature crossing (https://developers.google.com/machine-learning/crash-course/feature-crosses/video-lecture)
* One-hot encoding, one-hot encoding hashed (https://developers.google.com/machine-learning/crash-course/feature-crosses/crossing-one-hot-vectors)
* Binning (https://developers.google.com/machine-learning/crash-course/representation/cleaning-data)
* Metadata management in Kubeflow (https://www.kubeflow.org/docs/components/metadata/)
* Basic TensorFlow (https://www.tensorflow.org/tutorials)
* TFRecords — when are they preferred over options like dataframes and csv files. (https://www.tensorflow.org/tutorials/load_data/tfrecord)
* How to optimize for data input? If data is not coming in fast enough, what can you do?1
* How to optimize for data processing? If data is coming in fast, but processing is slow, what can you do?
* Use of tf.data.Dataset.prefetch/interleave/cache (https://www.tensorflow.org/guide/data_performance)
* How to work with sensitive data? (https://cloud.google.com/solutions/sensitive-data-and-ml-datasets)
* DLP (https://cloud.google.com/dlp)
* Different types of data encryption
— Format Preserving Encryption (https://en.wikipedia.org/wiki/Format-preserving_encryption)
— encryption with AES-264/
* BigQuery ML — BigQuery by itself is important. All the ML you can do with BQML is also very important. What all can you do with BQML? What are its limitations. (https://cloud.google.com/bigquery-ml/docs/introduction)
* BQML — Can it work with other ML libraries? Can you import models from tf, scipy, etc.?
* BQML available algorithms (https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-create)
* AI Platform — what all can you do here? For what kinds of tasks would you look outside for other tools? (https://cloud.google.com/ai-platform)
* Basic algorithms — regression, classification, k-means. What kind of data does it classify? When would you use them?
* Containerization — learn the basics of docker and kubernetes. How do you create images? Why use containers at all?
* Kubeflow pipelines — why and how do you use containerization w.r.t. machine learning pipelines? (https://cloud.google.com/ai-hub/docs/kubeflow-pipeline)
* Which libraries can work with AI Platform and Kubeflow Pipelines? For other libraries, what should you do?
* Regularization methods — what is L0, L1, L2 regularization? When would you use them? (https://developers.google.com/machine-learning/crash-course/regularization-for-simplicity/l2-regularization)
* Develop the ability to look at a scenario and see what kind of regularization to apply.
* Develop the ability to look at a scenario and see what kind of algorithms to apply.
— don’t have to go too deep into any algorithm
* WhatIf Tool — when do you use it? How do you use it? How do you discover different outcomes? How do you conduct experiments? (https://pair-code.github.io/what-if-tool/)
* Explainable AI — what is this? When would you use this? w(https://cloud.google.com/explainable-ai)
* How can Kubeflow do scheduled trainings? Using external tools (https://cloud.google.com/solutions/machine-learning/architecture-for-mlops-using-tfx-kubeflow-pipelines-and-cloud-build#triggering-and-scheduling-kubeflow-pipelines) and also using an built-in scheduler.
* When do you need to bring cloud composer? (https://cloud.google.com/composer)
* Which of the available options should you choose for different requirements — AutoML, pre-built APIs, AI Platform algorithms, custom algorithms?
* Know a little about Tensorflow Extended — I’m expecting the importance of this could grow in the future.
* Building ML pipelines — how do you construct a continuous, end to end pipelines starting from data ingestion and ending with making predictions?
* There are references to scenarios for CNNs and DNNs, but not too much details. So gather a general understanding of when you would use different algorithms or training methods.
* Various AutoML possibilities — Vision, Natural Language, Translation, Tables, Video Intelligence. When should you use the AutoML version and when no?
* How is the AutoML offering different from the API offering. For example, there is also Cloud Vision, Video AI, Cloud Natural Language. When would you use one or the other?
* Splitting training data into test and validation set. (https://developers.google.com/machine-learning/crash-course/training-and-test-sets/splitting-data)
* Issues encountered when splitting is not done correctly.
* Project management around machine learning — how to separate users into groups and projects. This is similar to what you encounter in ACE, PCA, and DevOps.
* Why and how to ensure that your model is current? Data and the model could be getting stale. You will need to create pipelines to ensure that they are updated continuously.
* Strategies for deploying models in production. This is similar to what you would do in DevOps. Know things like canary testing, A/B testing, going from model experimentation to testing to versioning to deployment.
* Hyperparameter tuning and available tools (https://cloud.google.com/ai-platform/training/docs/hyperparameter-tuning-overview)
* Kinds of automl edge models (https://cloud.google.com/vision/automl/docs/train-edge)
* Formatting input for online prediction (https://cloud.google.com/ai-platform/prediction/docs/online-predict#formatting_your_input_for_online_prediction)
* Collaborative filtering, Feature/family filtering — what are they and where are they used? (https://en.wikipedia.org/wiki/Collaborative_filtering)
* Feature Attributions — Sampled Shapley, integrated gradients, and XRAI — when do you use these? (https://cloud.google.com/blog/products/ai-machine-learning/explaining-model-predictions-structured-data, https://cloud.google.com/ai-platform/prediction/docs/ai-explanations/overview#compare-methods)
Notes from each of my exams
For those appearing for the various certification exams, here is a list of sanitized notes (no direct question, only general topics) about the exam.
A collection of posts, videos, courses, qwiklabs, and other exam details for all exams: https://github.com/sathishvj/awesome-gcp-certifications
I’ve been making videos on applying Google Cloud and preparing for the exams. You can subscribe to the channel here:
Wish you the very best with your GCP certifications. You can reach out to me at LinkedIn and Twitter, especially for training for the certifications, short term consulting on GCP, and anything related to GoLang.