Last week I sat down in my guest room for a remote proctored exam covering artificial intelligence on Microsoft Azure. I’d been studying Azure Cognitive Services, conversational AI, and Azure Cognitive Search and even writing and speaking about the things I explored. I assumed I was ready to take and pass the AI-102 exam and achieve Microsoft Certified: Azure AI Engineer Associate.
While I did pass the exam and get the certification, I now feel that I was in no way properly prepared for that exam given the amount of anxiety it caused. Let’s talk about the exam, who should take it, how I studied, and how you might want to study differently if you want to take the exam yourself.
What is the AI-102 Exam?
The AI-102 exam is an associate-level role-based certification aimed at AI Engineers who use Azure to add artificial intelligence capabilities to their applications. It focuses on language, vision, speech, search, and conversational AI solutions and how they are implemented with Azure’s APIs in a supported language.
Like other Azure exams, it is timed with a generous time limit and limited to multiple choice mixed with fill in the blank and other semi-interactive answer formats. The exam is scored between 0 and 1000 with 700 and above being a passing grade. There is no penalty for guessing incorrectly.
The exam let you specify which programming language you’d like questions to be in and Python and C# were the options available to me when I took it. Since I’ve been programming longer in C#, I went with that option.
My exam also included a case study, which was the first time I’d encountered one on an exam. This consisted of a series of questions all related to a sample scenario with requirements and constraints listed out on multiple tabs. This sounds maybe a bit more intimidating, but it was my favorite aspect of the exam.
Should you take the AI-102 Exam?
The AI-102 exam is for a very small group of people who focus their development efforts around Azure Cognitive Services, Azure Cognitive Search, and conversational AI on Azure. As a result, this exam is one most people will not seriously consider unless these areas are a key focus for their current job or their growth efforts. When you take and pass the exam you will get the Azure AI Engineer Associate certification for a year after the test date, though Microsoft offers free and convenient ways of extending your certifications as they reach expiration.
I think the AI-102 exam and AI Engineer certification are worth it if:
- You work frequently with Azure Cognitive Services or related technologies
- You want to specialize in Azure Cognitive Services but need to make sure you have the required skills to make good decisions
- You want to teach others about Azure Cognitive Services and want to make sure you are accurately representing the technologies
For me, all of these reasons applied. I am investigating the use of AI capabilities on Azure to help innovate new capabilities for my employer as well as for AccessibleAI.dev. I’ve been working with Azure Cognitive Services for quite some time now and have given some talks on its capabilities and written a number of articles on the topics.
For you, your story may be different, but if you think that this adds value to your learning journey or your confidence, you should investigate it more.
My Test Experience
In the past year and a half I’ve taken and passed a number of Azure certifications:
- AZ-900 Azure Fundamentals
- DP-900 Azure Data Fundamentals
- AI-900 Azure AI Fundamentals
- DP-100 Azure Data Scientist
- AI-102 Azure AI Engineer
I will say unequivocally that AI Engineer was the roughest test of the 5 I’ve taken. Out of respect for the test integrity, I will not cover what is on the test, but my confidence on each answer was often very low. I felt, 5 or 10 questions in, that I was not going to get to the 700 minimum score to pass. This was dismaying because I really enjoyed the AI-900 Azure AI Fundamentals, enjoyed and overcame the challenge of DP-100 Azure Data Scientist, and felt confident in the materials related to AI Engineering on Azure.
I wound up with an 829 out of 1000, making my result a passing grade by a full letter grade and change, but I had more of a sense of exhaustion afterwards than a sense of accomplishment. I had studied the concepts, applications, and a lot of the implementation details of working with Azure, but the test frequently got into details of URLs and request and response bodies. This was aggravating because the wonderful Azure SDK abstracts all of that for you, so even if I’d been working with Azure Cognitive Services for twice as long, I’d not be closer to answering those questions.
However, I loved some of the questions. There were questions on optimizing and improving things and high-level concepts. There was a case study on my exam getting into decision-making processes and high-level design. I also happened to get 100% of the questions on chatbots correct, according to the end of test report.
In the end, a passing score is a passing score, but this felt like I scraped by at trivia night by making intelligent multi-choice guesses based on my experience than true mastery.
How I Studied
I’ve said for some time now that the true value of a certification comes from being forced to study for it and the extra connections and pieces of knowledge you discover as you’re studying.
My strategy for studying was to immerse myself in learning material on cognitive services. I went through Microsoft Learn’s materials, read every book and watched every course I could find. I even built working projects around these technologies and wrote a series of articles on the topics to help solidify my knowledge.
This studying process was actually really helpful at exploring the breadth of Azure Cognitive Services as well as what does and does not come back from each API call. However, it was severely lacking in learning URLs and JSON properties for these services I relied upon (though I had looked over many of them out of curiosity)..
If I had to pick the top resources that were helpful to my learning process, it would be these:
Scott Duffy’s AI-102 Udemy course was fantastic and up-to-date given a swiftly changing topic. This course can be done in a day or a few evenings as well. However, like most Udemy courses, it does not force you to build something of your own.
While I hate to advocate for Udacity given some support policies that have seemed hostile to new learners, their Azure AI Engineer Nanodegree was helpful for my learning experience, though it was out of date and forced me to use Python instead of C#.
Cloud Academy’s AI-102 Learning Path offered a combination of videos and labs, which were fairly detailed. At the time I took it, however, the content was in preview as they were trying to revitalize and expand it.
Pluralsight’s AI-102 Learning Path offers a variety of non-project-based courses to help expand your knowledge, though none truly felt amazingly impactful for my test experience.
In addition to these courses, I put together a user group talk on Azure Cognitive Services based around a humorous attempt to replicate my dog’s behavior around the house using Cognitive Services speech, vision, and language APIs. This gave me a lot of practice working with the capabilities in Azure and from the Azure SDK in dotnet.
Additionally, I took the capabilities of the app from that talk and began writing articles about each major slice of Azure Cognitive Services to help me internalize it more.
Finally, I began a chatbot project to help people interact with the resources on AccessibleAI.dev and I plan on sharing more about that experience later on this month.
Before all of this I also had experience working with various iterations of Azure Cognitive Services over the years which serves as background information and had studied it in more depth during my AI-900 exam prep last year as well.
How I wish I studied
So, I was not a happy man during the test, and clearly I spent a lot of time studying and was not new to AI on Azure. So, how could I have gotten a better experience?
Well, first of all, doing the project-based learning was a great move on my part, but given the nature of the test, I might have wanted to spend some time not using the Azure SDK and instead making REST requests directly from code and handling the responses manually.
Secondly, I could have done a lot more “fill in the blank” style practice with URLs and JSON from request and response bodies. I think creating flashcards or building a program to change the JSON to have random blank attribute names would have really helped with this.
Finally, while I thought I studied all areas of the test fairly well, I do feel that I neglected some aspects of vision as my vision score was the lowest area of the test.
If you’re working with Azure Cognitive Services or are serious about investigating it, my first recommendation to you is to take the AI-900 exam. AI-900 is a really fun exam that helps you understand the high-level capabilities of the platform and I highly recommend it.
Once you’ve passed AI-900 (which does not expire, by the way), go through the Microsoft Learn materials and then start building things with all aspects of Azure Cognitive Services. As you do this, take a look at the requests and responses using a tool like Fiddler to inspect network traffic. Record these JSON bodies and URLs on flashcards and quiz yourself regularly until you can recognize them.
I don’t love the AI-102 exam the way I loved the AI-900 or DP-100 exams, but the journey to certification can greatly increase your skill and confidence if you want it to. The bottom line is that the AI-102 exam is a very logical step for anyone specializing in artificial intelligence on Azure and taking it will force you to grow in your knowledge and capabilities.