How to prepare for the Azure DP-100 Exam

Azure DP-100: one thing that makes a huge difference

Oleh Lokshyn
Inside the Tech by SoftServe
6 min readJan 5, 2021

--

this badge is issued after passing the exam

Introduction

On the 23rd of December, 2020, I have passed a Microsoft exam called DP-100: Designing and Implementing a Data Science Solution on Azure. I did it exactly a month later I have passed the Google Professional Machine Learning Engineer exam. You can read about the Google ML Engineer exam experience here.

Naturally, I hoped that the two exams are roughly the same except for the platform-specific services, so I could save some preparation time by taking these exams in a sequence. The truth is, the two exams have different philosophies.

Of course, this is subjective, but I would claim that while Google’s ML Engineer is testing your knowledge on how to do Data Science on GCP, Microsoft’s DP-100 is testing whether you have the experience of doing Data Science on Azure. In other words, I would strongly recommend you gain the practical Azure experience before attempting DP-100, while you could pass Google’s exam just by reading and understanding all the materials (haven’t tried it though).

The DP-100 exam focuses on practice and code. You really should know how to use the Azure ML Python SDK, even remember the names and signatures of the methods. You also should remember the exact workflow of building the model in the Designer and then deploying it. Unless you have a phenomenal memory, it’s impossible to just memorize these things — they should come from experience.

I bet the last paragraphs made you thinking: “how should one prepare for this exam then?” and “will I ever be ready to take it?”. Don’t worry — I’ve got you covered. In this article, I’ve compiled a preparation plan that should make you bullet-proof on the exam.

My gratitude to SoftServe for covering the cost of the exam seat and the practice test.

Study Guide

As always, start from the official materials to make sure you understand the basics. General knowledge of Machine Learning, like the model training and serving workflows and understanding the models’ architectures, is a prerequisite.

Remember that apart from the knowledge of the Azure services you really want to get the practical experience of using them. Thus, for each official learning path listed below, make sure to implement the practice assignments yourself, not just running cells in the notebook.

As for practice, I would recommend solving two types of problems with Azure ML:

  1. Regression with tabular data. For example, follow this excellent Kaggle notebook, I will refer to it as the regression notebook further on.
  2. Classification with image data. For example, follow this excellent Kaggle notebook, I will refer to it as the classification notebook further on.

Finally, the study guide:

  1. Official learning path: AI Solutions on Azure ML. The most important official learning path for this exam. It guides you through the Azure ML SDK and covers most of the topics mentioned in the exam’s skills outline.
  2. Official learning path: No-code predictive models with Azure ML. This one essentially teaches you the UI workflow of the Designer and Automated ML. Remember the modules you use in the Designer, their inputs and outputs, how to write code in the Execute Python Script module, try out hyperparameter tuning. Tinker with the configs in the Automated ML.
  3. Almost useless Official learning path on ML in general. You can glance through it, just don’t waste too much time. I’ve included it here because if you find this learning path useful this may indicate that you are not ready for the exam. You can find more resources on general ML in the article on the Google ML Engineer exam.
  4. Optional: A Cloud Guru’s DP-100 preparation course, part 1, and part 2. While the course is generally useful, you can get a similar experience in less time by just doing the assignments on your own.
  5. Required Practice: re-create the regression notebook using Azure ML Python SDK. Store data in an Azure ML Tabular Dataset. Do this practice in an iterative manner, when you implement only part of the feature engineering code and run an experiment, then add more features and look at how the metrics improve over time. Deploy the resulting model as a batch inference pipeline and call it on a new set of data registered as a separate Dataset.
  6. Required Practice: re-create the classification notebook using Azure ML Python SDK. Store data in an Azure ML File Dataset. Deploy the resulting model as a real-time inference web service protected with JWT, and call it.
  7. Required Practice: re-create the regression notebook using Azure ML Designer. Perform hyperparameters tuning. Deploy the model as a real-time inference web service protected by key authentication.
  8. Required Practice: feed the data from the regression notebook in the Automated ML. Exclude some of the model architectures from the search. Deploy the resulting model using Azure ML Python SDK (make sure you know how to fetch the best model).
  9. Learn by heart (I mean it!) what compute targets are suitable for what workloads as described here.
  10. A Secret Sauce, one thing that makes a huge difference, see below.

The thing that makes a huge difference

If I was forced to name a single most useful preparation resource, this, undoubtedly, would be the Official Practice Test.

Microsoft links to this test on the very page of the DP-100 exam, but if you, like me, prefer the obvious things repeated explicitly, here you go: “you need this practice test, my friend, I doubt you can pass the exam without it.”

So, why am I bringing it up here? Because the practice test is not free, and in my country, it actually costs more than an exam attempt. It may be tempting to buy a second exam attempt instead, but the practice test is a more wise investment.

Pros of the practice test:

  1. Understand the format of the exam. The format is quite different from Google’s exams and was confusing for me at first.
  2. Understand the level of the complexity of the questions. The practice test is absolutely representative in this regard.
  3. The practice test has explanations for almost every answer option, which makes it much more useful than the second test attempt. Besides, you can go through it several times.

Cons of the practice test:

  1. Many questions are incorrectly stated. It’s important to know that on the actual exam almost all the questions I got were correctly stated (I’ve reported what I didn’t like, so your experience may be better). So, don’t worry that you’ll get questions with several correct answers or no correct answers at all on the actual exam (unless stated otherwise). It’s a mystery for me why the questions on the practice test are of such low quality.
  2. Some questions have wrong explanations, so if the explanation contradicts your experience, go and check it with the documentation.
  3. The testing software that delivers the practice test is just garbage.
  4. Questions are outdated when compared to the documentation. This should be expected. Again, on the actual exam, the situation is much better.

The bottom line is, you still need the practice test. I can only wish the quality of the practice test was any match to the high price they ask by the time you buy it.

Practice the practice test until you know and understand the answers to all the questions. This is called overfitting :)

Links to read

  1. Compute targets in Azure ML.
  2. Private Link in Azure ML.
  3. Datastore and Dataset.
  4. Authentication in Azure ML.

Conclusion

Overall, I was pleased by the depth of this exam. It is satisfying to realize that at least you think you know answers to all the questions but one. I’ve scored 945 on this exam, the passing score is 700 and I don’t know what the max score is, just hope it’s 1000 :).

The exam tests your theoretical knowledge, your practical skills with Azure ML, and, surprisingly, your attention, so read the questions carefully. Actually, read them at least 3 times in full each, the time permits.

Wish you luck on your path,

Oleh

--

--