How I prepared for the AWS Certified Machine Learning Specialty

How I prepared for the AWS Certified Machine Learning — Specialty, what resources I used, how I planned my time, and tips to pass the exam

Raghav Dave
Towards Data Science

--

Image by Author

Introduction

I have just recently passed my AWS Certified Machine Learning — Speciality exam with over 95%, with about 4 weeks of explicit preparation.

Through this article, I indent to share:

  • How much of AWS and Machine Learning did I know before I started preparing for this exam?
  • What approach did I take to prepare for this exam?
  • What resources did I use to prepare?
  • What tools did I use to assist me?
  • Tips on preparing for the exam

My Background

To start off with, let me give you my background, both in terms of knowledge on Machine Learning, and Knowledge on AWS. I’m originally a Fluid Mechanics Engineer working at an Oil and Gas team for an Engineering Consultancy in the UK. The reason I chose to take this exam was to validate my understanding in end-to-end machine learning and developing my knowledge on building reliable and effective architecture for machine learning systems on the cloud. I’m a fairly new to the field of Data Science with under 1 year of professional experience as a Data Scientist, even though I have been learning Data Science via online courses (bootcamps), workshops and hackathons for a while (just under 2 years). In terms of AWS, again, I’m pretty new to it too, not to mentioned, I passed the AWS Certified Cloud Practitioner exam just before booking my AWS ML speciality exam. I do not have much professional experience with it, I’ve used it for a few learning projects as part of courses/workshops and tiny freelance projects; but not close to what AWS officially recommends.

Be an AWS Certified Cloud Practitioner First

Since, we’re talking about the Cloud Practitioner exam, I would like to mention that preparing and passing the Cloud Practitioner exam before you book your ML exam is certainly strongly recommended for two reasons:

  • Cloud Practitioner exam, gives a good understanding of the cloud concepts and the various AWS Services, including S3, EC2, IAM users, roles and policies, cloud security, scalability, elasticity, fault tolerance, shared responsibility model, well-architected framework, and the other basics, which really helps when preparing for AWS ML Speciality Certification.
  • The Cloud Practitioner exam costs $100, the ML Speciality exam costs $300, but if you’ve given the Cloud Practitioner exam, you get a 50% discount on your next AWS exam, which in total, costs you only $250 (for both exams combined) saving you $50, and you get a free practice exam. The practice exam is much shorter though, only containing 20 questions, as compared to 65 in the real exam.

Understanding the Exam Content

The exam is split in 4 domains: Data Engineering (20%), Exploratory Data Analysis (24%), Modelling (36%) and ML Implementation & Operations (20%). From my experience during preparation and the exam, the content within EDA and Modelling is a good balance of your understanding on the topic itself, as well as AWS specific services, whereas the Data Engineering and MLOps domains are slightly more AWS heavy. Hence, you should prepare to be both, a good ML Engineer, as well as a good AWS engineer be do your best in the exam.

Tip 1: Prepare to be both, a good ML Engineer, as well as a good AWS engineer be do your best in the exam.

Preparation, Resources and Planning

I started to prepare about a month in advance and booked my exam just about 10 days before the date. At the time I booked my exam, I felt I was half ready for it. In this section of the article, I’ll briefly discuss about how I prepared for the exam and the resources I exploited to maximise my chances of passing. A full list of resources can also be found at the end of the article.

My approach to preparing for the exam was not thoroughly clear when I started preparing. But it turned out to be a good one, to help me pass my exam. Initially I started off my prep with courses from AWS and external vendors, later supported it with plenty of time reading AWS developer documentations of its various services (mostly Sagemaker), and finally backed with lots of practice tests, not to mention the reading I had already done on the basics of machine learning and deep learning from the book ‘Hands-On Machine Learning with Scikit-Learn, Keras, and Tensorflow’. These weren’t particularly in a sequential manner, but certainly the video courses were the first step. In terms of the time I dedicated to preparing for the exam, I would say about 4 to 6 hours a day effectively for about 4 weeks. This includes the courses (run at 1.25x or 1.5x speed) and all the rest mentioned above. You may want to spread this out to a longer period if you’re spending less time daily or going through it in more thorough detail.

Getting Started: The Machine Learning Path

The first place to start is this Machine Learning Path that AWS suggests taking to prepare for the exam. From this path, I mainly focused on two courses, The Elements of Data Science, and the Exam Readiness course. The Elements of Data Science covered the very basics of Data Science, which you would mostly know if you’re even thinking of giving this exam, but it is still a very good refresher. The next step was the Exam Readiness course, which briefly talks through all the content that you’ll be expected to know in each of the domains and sub-domains. It only outlines the subject, which you can use as a reference to check your readiness for. I captured the entire course content as notes & screenshots whilst I was going through it, which I later kept referring to every now and then to keep myself on track. Both combined should take less 3–4 days max. Until this point, I had done zero documentation reading or practice questions, except the quiz within the courses.

Tip 2: Fast forward your learning multiple times, rather than going over it slowly once

Into the SageMaker

Next stop, I started going through the sagemaker documentation from scratch, one after another, the sections including: What is Amazon SageMaker?, Get Started, SageMaker Studio and Notebook Instances. These are the most introductory and beginner friendly sections, which I followed along on the SageMaker console. Complementary to this, I also started to watch Amazon SageMaker Technical Deep Dive Series which I found incredibly useful during my preparation. These are a series of 16 videos, 15 to 20 min each on average, which I watched non-continuously while brewing teas or having breakfast for the remainder of the days. At this point I was about a week and half into my prep.

Diving Deeper: Course 1

After I finished those initial sections of the SageMaker, I stumbled upon the video course, AWS Certified Machine Learning Speciality 2020 — Hands On! by Stephane Maarek and Frank Kane. I didn’t do everything hands-on in there to save time, but I did go through the entire course, watched every single video to get a fuller picture of the exam content. The course certainly goes through most of content including some of the concepts of machine learning you’re expected to know, however that’s not entirely enough to pass the exam. You must have a better, more thorough understanding of the basics of machine learning and deep learning. So, this took me to end of week 2.

Halfway There: Course 2 and SageMaker Docs

I followed this up with WhizLab’s AWS Certified Machine Learning — Speciality video course. This again was similar to the previous course. Whilst I was going through this, I had started to pick a couple of topics to read daily on the AWS’s developer documentation; for instance a specific algorithm in depth, or one of the various AI services. For each algorithm I pick to read, I would read from start to end, everything sagemaker docs had to convey about it, usually 3 to 5 pages each. This would include details like what’s the underlying concept, the expected input/output formats, hypterparameters to tune, etc. For each of the AI service (for e.g. AWS Comprehend), I would read through its features, FAQ’s and take a brief look it’s developer guide just to get a better understanding of what it offers. About 8 days to go for the exam.

Tip 3: Read plenty of SageMaker documentation, so much that you know exactly where to find what information. And, read it more than once if possible.

The Most Important Bit: Practice Tests

By the time, I finished the courses and had a good understanding of what the content was, I had gathered plenty of practice questions and papers from various sources, including Udemy, EXAMTOPICS, testprep and Sample Questions from AWS website. Even though the questions in the exam are not exactly the same, at least the practice tests prompted me to learn the various topics that might be necessary for the exam. I started going through the practice tests, at least one each day, and when I run out of tests, I would start all over again. After completing each paper, I would review the answers along with their description, and read through any references provided.

Capturing the Topics and Mastering Them

When there is so much to learn, it is easy to be overwhelmed by the content and lose track of what you’ve already mastered and what you need to work harder on. For every difficult topic I encounter or question that I answer incorrectly, I captured those questions or topics with an easy to understand title, along with the reference materials and links, tagged by the exam domain and the review status into a Notion database, which allowed me to build a kanban board to stay on top of my learning. Here is a snapshot of it.

Notion Database of Revision Topics, Image by Author

And for each of the topics, I also capture the most vital details I read so I don’t need to revisit the references.

Sub-Page of a Revision Topic, Image by Author

For each topic I capture, I went through it repeatedly until I was confident, progressing the review status every time I visit it. The strategy is almost similar to one of those boosting algorithms, where you recursively train on weak learners to form a strong learner. I found this set of organised notes immensely useful, especially closer to the exam.

Tip 4: Practice lots of tests, Capture the topics and questions to learn, organise them, and Review them repeatedly.

Planning the Time

To keep up with courses, documentation reading, and practice tests, I planned my time daily time to ensure I covered a bit of all three and tracked my time, for instance, 2 hours for papers, an hour for reading and an hour to watch course videos, not to mention, the reading and videos were almost always specific to dedicated topics I decide to master. Even after I finished the course video once, I went through some of modelling and data engineering sections again as I was nearing the exam. For the last two days, I just repeatedly went through the difficult exam topics I had marked in my notion database and practice papers.

Tip 5: Plan your time, keep track of it, to distribute it wisely between reading, videos and practice questions, even more specific, to the topics of the different exam domains

Just Before the Exam and After

Just before the exam, I must admit, I still felt nervous after weeks of training and practicing. I honestly wasn’t sure I would pass. But I had committed myself to not change the exam date, so had no choice. Passing the exam though, was the most enjoyable experience after weeks of intensive studying. Hence, I strongly recommend this exam to whoever is Data Scientist/ML Engineer and interested in using AWS. AWS is one of the leading cloud service providers and certainly dominates the ML space through it’s own set of powerful algorithms and AI services in the cloud.

Tip 6: You may feel a bit nervous, but if you’ve put in the effort, you’ll surely reap the reward.

List of Resources

Courses and Video Lecture

Documentations and Books to Read

--

--