Today we're going to go through some tips and tricks for taking the AI-900 and the AI-102.
I recently held a study session for a group of people hoping to take these exams, and I wanted to bring that to you as well.
Note! Microsoft routinely updates their exams. This was accurate to my best recollection as of September 2024.
Microsoft Learn
The MS Learn paths are a great resource for learning. I would make sure that you go through all the modules. Depending on your comfort level with the material, I would suggest you also complete the labs. The labs provide a free, 2 hour, Azure sandboxes for you to follow instructions related to the module. These labs weren't always helpful to me, but give some practical experience with services.
Make heavy use of the free learning modules and practice tests out there. I would aim to score around an 85-90% consistently before scheduling the exam. Be careful of memorizing the way the practice test presents the question, instead of learning the details.
During both exams, I was able to use the Microsoft Learn documentation site. It would be a good idea for you to know how the site works and where to find information. The search is decent, but might not answer all of your questions in an easy to find way. My suggestion is to make use of the "save for later" function that the exam provides, come back to questions you're not completely sure about and use MS Learn to see if it can bring any clarity.
Don't rely on this for completing the whole exam.
Responsible AI Principles
In both exams and in particular the AI-900 there were several questions about Microsoft's responsible AI principles or, as I like to call them, the 3 rules of robotics. Make sure you know the definitions and how they might be applied to difference scenarios. The AI-900 practice test has questions on these, so that is a good place to start.
The principles and definitions are listed below, which you can also find on the MS Learn site .
- Fairness - AI systems should treat all people fairly. The same recommendations should be made to everyone. Fairness is important to ensure that AI systems don't discriminate against people based on their personal characteristics.
- Reliability and safety - Operating reliably, safely, and consistency under various conditions is important for AI systems to help build trust.
- Privacy and security - AI systems should respect privacy and maintain security, protecting private and confidential information, and resist attacks and attempts to corrupt or compromise the system.
- Inclusiveness - AI systems should empower everyone and engage people. Inclusive design practices can help AI system developers understand and address potential exclusion barriers in a product or service. Inclusiveness helps create opportunities to innovate and design experiences that benefit everyone.
- Transparency - AI systems should be transparent and understandable. AI systems might help inform decisions that have great impact on people's lives, so it's important that people understand how these decisions are made.
- Accountability - AI systems, and people designing and deploying then, should be accountable and answerable.
AI-900
Let's talk about the AI-900 for a bit.
Here are a couple of important links for this cert: AI-900 Learning Path and the AI-900 Free practice test .
As I mentioned, there were LOTS of questions about the AI responsibility terms. These questions will be in the form of something like (and I'm paraphrasing a practice question) "Which principle has the objective of ensuring that AI solutions benefit all." The answer is "inclusiveness". You'll also get dropdown questions where you have to match the responsibility to a scenario.
You should know the difference between the different AI services Azure provides and have a general idea of what each of them does or could be used for. For instance, you should know that the speech service is the best choice for text to speech and not OCR or identifying images.
The 900 has a portion of the questions dedicated to general ML. These were harder for me since, I'm less interested in that part of AI. These will be questions about what model you might use for different scenarios, confusion matrix, labels and so on.
You should know the definitions of terms like "classification", "regression", "clustering".
Classification : This is a type of supervised learning where the goal is to predict the category or class of an input based on its features. For example, classifying emails as spam or not spam.
Regression : Another type of supervised learning, regression aims to predict a continuous value based on input features. For example, predicting house prices based on various factors like size, location, and number of bedrooms.
Clustering : This is a type of unsupervised learning where the goal is to group similar data points together based on their features. For example, grouping customers into different segments based on their purchasing behavior.
AI-102
Here are a couple of important links for this cert: AI-102 Learning Path and the AI-102 Free practice test .
The 102 has fewer questions about ML and the AI responsibilities, but they were still present.
As with all the Azure exams, the 900s are introductory and are generally easier. I would recommend that you pass the 900 first if you're thinking of taking the 102. The 102 was definitely easier since I had already developed a solution that involved several Azure cognitive services. Take advantage of the labs or try your hand a creating something that uses at least two of these services.
This exam is the developer exam and asks questions about the CLI, SDKs, Docker, and REST endpoints. If you aren't familiar with these terms, the exam will be harder for you.
Understand Sentiment Thresholds
There will be a couple of questions around the Sentiment Analysis service and what the expected results would be, given a scenario. Take for example this question from the practice test.
Scoring scales
As you study, pay attention to scoring ranges. Some services use 0-100 and other services use 0-1. You will need to know which service uses which range. In some cases, you need to know that a score of 49-60, for instance, is a passing score versus other brackets.
Scoring categories
You should know what F1, Precision and Recall scores mean.
Precision : This metric measures how accurate your model is in identifying positive instances. It is the ratio of correctly identified positive instances (true positives) to the total instances identified as positive (true positives + false positives). Precision reveals how many of the predicted positive instances are actually correct.
Recall : This metric measures the model’s ability to identify all actual positive instances. It is the ratio of correctly identified positive instances (true positives) to the total actual positive instances (true positives + false negatives). Recall reveals how many of the actual positive instances are correctly identified by the model.
F1 Score : The F1 score is a harmonic mean of precision and recall. It is used when you need a balance between precision and recall. The F1 score is calculated as:
F1 Score = 2 * Precision * Recall / (Precision + Recall)
This metric is particularly useful when you want to consider both false positives and false negatives.
Azure Custom Vision vs. Azure Vision
Make sure you know the difference between custom vision and vision and when to use them.
Azure Vision : This service provides pre-built advanced image analysis algorithms. It can perform tasks such as image classification, object detection, optical character recognition (OCR), and more. You don’t have control over how the models are trained, but you can leverage the powerful, pre-existing models for various image analysis tasks.
Azure Custom Vision : This service allows you to build, deploy, and improve your image classifiers. You can train custom models using your own labeled images. Custom Vision is optimized for quickly recognizing major differences between images and is suitable for scenarios where you need to detect specific objects or classify images based on custom criteria.
API Endpoints
There are two different resource endpoints for the REST APIs. You need to know how they are ordered.
https://<your-resource- name >.cognitiveservices.azure.com/vision/v3.0/analyze
https://<your-resource- region >.api.cognitive.microsoft.com/vision/v3.0/analyze
cognitiveservices.azure.com
is the newer endpoint format used for Azure Cognitive Services. It is part of the unified endpoint structure that Azure has been moving towards.
Notice that the cognitiveservices
URI uses your resource NAME and that the api.cognitive
URI uses your resource REGION.
Containers
Several AI services are available as container images. You should know the general URL for the registry and the three required parameters.
The containers are at mrc.microsoft.com/....
.
The three required parameters are:
-
Eula
(which must be "accept") Billing
which should be the endpoint URI of your deployed serviceApiKey
which should be one of the service's API keys.
SDK Clients
There will be questions on using the SDKs. You may get questions that look like this:
You're building an application that will convert text inputs from a user in to audio. How should you complete this code? Options are:
- subscriptionKey
- region
- SpeakSsmlAsync
- SpeakTextAsync
- AnalysisTextAsync
public async Task<string> DoSynth()
{
var options = SpeechConfig.FromSubscription(string [OPTION], string [OPTION])
var result = await synthesizer.[FILL IN THE BLANK](text);
}
The correct answer looks like this:
public async Task<string> DoSynth()
{
var options = SpeechConfig.FromSubscription(string subscriptionKey, string region)
var result = await synthesizer.SpeakTextAsync(text);
}
ARM Templates
You might be asked to understand or fill in questions about ARM templates. I had a hard time answering one of the questions that asked about a "Capacity" property, and the MS Learn site was not very helpful in assisting with the question. In general, I would recommend you at least know what it looks like and how to search the documentation for a resource. You can see the type
in this template is Microsoft.CognitiveServices/accounts
. You can use this name to search the Learn documentation for an explanation of the properties.
{
...removed for brevity
"resources": [
{
"type": "Microsoft.CognitiveServices/accounts",
"apiVersion": "2024-04-01-preview",
"name": "[parameters('account_name')]",
"location": "eastus",
"sku": {
"name": "F0"
},
"kind": "ComputerVision",
"identity": {
"type": "None"
},
"properties": {
"customSubDomainName": "[parameters('account_name')]",
"networkAcls": {
"defaultAction": "Allow",
"virtualNetworkRules": [],
"ipRules": []
},
"publicNetworkAccess": "Enabled"
}
}
]
}
Here's what searching for that type would bring up in an MS Learn search:
I hope that was helpful in your studies. If you have any questions or addition tips, please let me know in the comments!
Comments
You can also comment directly on GitHub.