AI-900备考指南:Azure AI服务边界、题库拆解与实战复盘
2026/9/18 15:53:53 网站建设 项目流程

简介:本资源为微软 AI-900 Microsoft Azure AI Fundamentals 认证的 91 道考题整理包,面向准备参加该认证考试的技术人员、云与人工智能入门学习者。内容覆盖人工智能工作负载与考量、Azure 机器学习基础、计算机视觉、自然语言处理等考核方向,题型包含单选、热点题与拖拽题,并附有正确答案与解析说明。资源包共 1 个 PDF 文件,大小约 2.86MB,便于在电脑或移动设备上直接翻阅、打印标注,适合考前集中刷题与知识点速查。已有 448 人学习下载。读者可借由逐题解析理解 Webchat Bot 减轻客服工作量的商业价值判断、训练集与评估集的随机划分方法,以及混淆矩阵中真阳性、假阴性等指标的计算与应用,同时熟悉微软负责任的 AI 原则在自动机器学习中的落地方式,从而系统查漏补缺、提升应试信心。

1. AI-900 考的不是算法,是 Azure 上 AI 服务的边界

很多人备考 AI-900 的第一反应是去补数学:梯度下降、反向传播、正则化,一本《机器学习》啃到第三章,回头做 91 题题库,还是栽在「给一张发票照片自动提取字段该用哪个服务」上。微软考试认证体系里的 AI-900(Azure AI Fundamentals)是基础级云 AI 认证,提问方式高度固定:给业务场景,让你在几个 Azure AI 服务之间做选择;或者给一份训练结果,让你判断该看哪个指标。它不要求写模型代码,也不考公式推导,考的是服务边界和概念口径。适合谁:做过后端、运维、数据分析、产品,想用一张权威证书把「我懂云上 AI 怎么落地」这句话说圆的人;也适合需要跟算法团队对齐术语的技术管理者。下面按考纲拆解、题库处理、命令复现、指标计算、考前复盘的顺序展开,每一步都能直接抄。

2. AI-900 考纲拆解与 91 题题库的刷题路线

2.1 五个考纲域的权重与题型特征

AI-900 的考纲域数量不多,但每个域下面挂的服务名很密,靠背服务名背不完,得按「场景 → 能力 → 服务」三层去记。微软官方的 skills outline 会随版本调整,你手上的 91 题 PDF 如果不是同一版,权重会有出入,所以下面给的是常见区间,不是精确分值,最终以你下载到的官方 skills outline 为准。

考纲域常见权重区间题型特征优先级
AI 工作负载与 Azure AI 服务考量15%~20%场景选服务、服务选能力
Azure 上的机器学习基础20%~25%概念判断 + 指标计算最高
计算机视觉工作负载15%~20%服务与视觉功能匹配
自然语言处理工作负载15%~20%服务与语言功能匹配
生成式 AI 工作负载10%~15%Azure OpenAI、Copilot 概念中高

题型分布上,选择题占大头,还夹着拖拽匹配题(把服务拖到对应场景)和少量填空。真正让人翻车的是「两个选项都能实现、但只有一个是最合适服务」的那种题,判断依据通常是:任务是否需要自定义模型、输入是不是结构化数据、延迟和成本有没有隐含约束。

2.2 91 题三轮刷题法:从归类到限时模拟

第一轮不掐时间,把 91 题按上表五个域分成五摞,每错一题,在旁边手写一句「正确选项为什么对、我选的为什么错」。这一步的目的不是记住答案,而是暴露你脑子里的错误映射,最常见的三类是:把 OCR 和文档智能混为一谈、把异常检测当成分类问题、把回归指标用到分类题上。

第二轮只做错题和被标记的题,单题控制在 60 秒内。同一道题第二次还错,说明不是记性问题而是概念没建立,回到 Microsoft Learn 对应学习路径读原文,别在题库内部找证据。

第三轮连续做两套限时模拟,单题 45 秒左右,正确率稳定在 85% 以上再约考。AI-900 的通过线常见说法是 700/1000,考试时长通常在 45 分钟上下,题量 40 到 50 题。

轮次目标单题时间通过标准
第一轮建立场景到服务的映射不限每道错题能一句话说清错因
第二轮消灭错题60 秒错题集正确率 100%
第三轮模拟考场节奏45 秒连续两套 ≥ 85%

提示:题库 PDF 的参考答案本身可能有错。遇到两个选项都像对的题,去官方学习路径上找原文,不要用「另一道题的答案」来反推。

2.3 用 Python 把题库 PDF 拆成可检索的 CSV

91 题的 PDF 直接翻效率很低,无法按关键词检索,也没法统计自己哪块薄弱。用 pdfplumber 抽文本再按题号切块,是最省事的做法。

import re import csv import pdfplumber PDF_PATH = "AI-900-91Q.pdf" # 题库 PDF,放脚本同目录 OUT_CSV = "ai900_questions.csv" # 题号格式可能是 "1." "12、" "Q3." "Question 4",按你手上的 PDF 实际格式调整 Q_PATTERN = re.compile(r"(?m)^\s*(?:Q(?:uestion)?\s*)?(\d{1,3})[\.\、\)]\s+") # 选项格式 "A." "B)" "C、",多选、拖拽题的选项可能不带字母,需要单独处理 OPT_PATTERN = re.compile(r"(?m)^\s*([A-F])[\.\、\)]\s+(.*)$") def main(): rows = [] with pdfplumber.open(PDF_PATH) as pdf: for page_no, page in enumerate(pdf.pages, start=1): # x_tolerance 调小可避免双栏 PDF 把左右两栏串成一行 text = page.extract_text(x_tolerance=2, y_tolerance=2) or "" marks = list(Q_PATTERN.finditer(text)) for i, m in enumerate(marks): start = m.start() end = marks[i + 1].start() if i + 1 < len(marks) else len(text) block = text[start:end].strip() options = OPT_PATTERN.findall(block) stem = OPT_PATTERN.sub("", block).strip() # 去掉选项行,剩下题干 rows.append({ "qid": m.group(1), "page": page_no, "stem": " ".join(stem.split()), "options": " | ".join(f"{k}.{v.strip()}" for k, v in options), }) with open(OUT_CSV, "w", newline="", encoding="utf-8-sig") as f: writer = csv.DictWriter(f, fieldnames=["qid", "page", "stem", "options"]) writer.writeheader() writer.writerows(rows) print(f"extracted {len(rows)} questions -> {OUT_CSV}") if __name__ == "__main__": main()

逻辑上分三步:逐页抽文本、按题号正则切成块、用选项正则把题干和选项分离。参数上有几个坑值得说明:x_tolerancey_tolerance是控制字符合并距离的,双栏排版时调小到 1 能减少左右栏混行,单栏排版调大反而更干净;encoding="utf-8-sig"是为了 Excel 双击打开不乱码;Q_PATTERN必须按你手上 PDF 的真实编号格式改,照抄大概率切不出 91 条,跑完先看打印的条数对不对。

2.4 用词频统计定位薄弱考纲域

把 CSV 生成后,用一条 grep 就能看出哪类关键词在你的错题里高频出现,再对应到考纲域。

# 统计题库中各类能力关键词出现次数,按频次倒序 grep -o -i -E "computer vision|ocr|read api|sentiment|key phrase|entity|speech|translator|anomaly|regression|classification|clustering|azure openai|responsible ai|confusion matrix" \ ai900_questions.csv | sort | uniq -c | sort -rn

这条命令做的是「关键词 → 出现次数」的聚合,-o让 grep 只输出匹配片段而不是整行,-i忽略大小写,最后的sort -rn按次数倒序。如果你发现自己丢分集中在confusion matrixregression这类词上,优先补第 4 章那套指标算法;如果集中在speechtranslator,就补语言服务的功能边界。

3. 把 AI-900 考点落成 Azure 资源:CLI 与 SDK 最小复现

3.1 用 Azure CLI 建多服务认知服务资源

考试里出现频率最高的一个映射是「一个 key 打通多个 AI 能力」,对应的是多服务资源。用 CLI 建一遍,比看十遍文档记得牢。

# 登录,会拉起浏览器走微软账户授权;CI 环境用 --use-device-code az login # 建资源组,region 选离你近的,也影响后面服务是否可用 az group create --name rg-ai900-lab --location eastasia # 查看当前订阅支持哪些 kind,别照抄老教程里的名字 az cognitiveservices account list-kinds -o table # 建多服务资源:kind 选 CognitiveServices(新版可能叫 AIServices) az cognitiveservices account create \ --name ai900-cog-demo-001 \ --resource-group rg-ai900-lab \ --kind CognitiveServices \ --sku F0 \ --location eastasia \ --custom-domain ai900-cog-demo-001 \ --yes # 取 key 和 endpoint,两个值后面写进环境变量 az cognitiveservices account keys list \ --name ai900-cog-demo-001 --resource-group rg-ai900-lab -o table az cognitiveservices account show \ --name ai900-cog-demo-001 --resource-group rg-ai900-lab \ --query properties.endpoint -o tsv

参数含义逐个说清:--kind决定这个资源能调哪些 API,CognitiveServices是多服务,ComputerVisionTextAnalyticsFormRecognizer是单服务,考试里「一个资源支持多种 AI 能力」问的就是多服务资源;--sku F0是免费层,每个订阅每类服务通常只能建一个,练手优先用它,S0 是标准层按量计费;--custom-domain会生成带子域名的 endpoint,部分服务必须要有;--yes跳过确认提示,脚本里不加会卡住。

3.2 用 Python SDK 跑通文本情感分析与图像识别

文本侧先装包:pip install azure-ai-textanalytics azure-ai-vision-imageanalysis,然后把上面取到的 endpoint 和 key 写进环境变量。

import os from azure.core.credentials import AzureKeyCredential from azure.ai.textanalytics import TextAnalyticsClient ENDPOINT = os.environ["AI900_ENDPOINT"] # https://xxx.cognitiveservices.azure.com/ KEY = os.environ["AI900_KEY"] client = TextAnalyticsClient(endpoint=ENDPOINT, credential=AzureKeyCredential(KEY)) docs = [ "The new GPU instance cut our training time in half.", "The invoice upload failed three times this morning.", ] # show_opinion_mining 开启观点挖掘,能定位到评价对应的具体对象 result = client.analyze_sentiment(documents=docs, language="en", show_opinion_mining=True) for doc in result: if doc.is_error: # 单条失败不影响整批,务必判断 print(doc.id, doc.error.code, doc.error.message) continue print(doc.id, doc.sentiment, doc.confidence_scores) for s in doc.sentences: print(" ", s.text, s.sentiment)

视觉侧用同一个 endpoint 和 key 即可,这就是多服务资源的价值:

from azure.core.credentials import AzureKeyCredential from azure.ai.vision.imageanalysis import ImageAnalysisClient from azure.ai.vision.imageanalysis.models import VisualFeatures vision = ImageAnalysisClient(endpoint=ENDPOINT, credential=AzureKeyCredential(KEY)) res = vision.analyze( image_url="https://example.com/invoice-sample.jpg", # 换成可公网访问的图片 visual_features=[VisualFeatures.CAPTION, VisualFeatures.READ, VisualFeatures.TAGS], ) print(res.caption.text, round(res.caption.confidence, 3)) for block in res.read.blocks: # READ 对应 OCR,按块返回文本行 for line in block.lines: print(line.text)

关键点在于visual_features这个参数:CAPTION生成整图描述、READ做 OCR、TAGS打标签、OBJECTS做目标检测。考试里问「哪项功能能从图片里读出文字」,答案就是 READ / OCR 这条线;问「生成图片的一句话描述」,是 caption。image_url必须是服务端可访问的公网地址,本地文件要先上传到 Blob 存储再传 URL,这是新手最常踩的落地坑。

3.3 key、endpoint、region 三类错配的排错表

打印doc.error.code是定位问题的关键动作,常见的错误码和真实原因对应如下。

报错 / 现象真实原因修法
401 Access denied due to invalid subscription keykey 用成了另一个资源的重新执行az cognitiveservices account keys list并核对资源名
404 Resource not foundendpoint 粘贴时带了多余路径或少了协议头--query properties.endpoint原样输出再复制
403 该区域不支持此功能region 选到了服务未覆盖的区域换成 eastasia、eastus 等常见区域重建资源
429 Too many requestsF0 免费层有 QPS 上限加指数退避重试,或换成 S0 标准层
400 InvalidRequest: language not supported文档语言不在支持列表里显式传language,或改用自动检测

重试策略可以直接交给 SDK 的传输层参数,不用自己写循环:

from azure.ai.textanalytics import TextAnalyticsClient from azure.core.pipeline.policies import RetryPolicy client = TextAnalyticsClient( endpoint=ENDPOINT, credential=AzureKeyCredential(KEY), retry_policy=RetryPolicy(total_retries=5, backoff_factor=0.5), # 5 次重试,间隔指数增长 )

total_retries是重试总次数,backoff_factor是退避基数,SDK 默认只对 408、429、500 这类可重试状态码生效。写业务代码时把它调大一点比在业务层包一层 for 循环更省心,考试不考这段,但真实项目里必踩。

4. Azure 机器学习与负责任 AI:丢分最多的两块

4.1 workspace、compute instance 与 compute cluster 的分工

Azure 机器学习这块的高频考法是「哪个组件负责什么」,用命令行建一遍比背概念有效。先装扩展:az extension add -n ml

# 建 workspace,它是 AML 的顶层组织单元 az ml workspace create --name aml-ai900 --resource-group rg-ai900-lab --location eastasia # compute instance:单机开发环境,给数据科学家写 notebook 用 az ml compute create --name dev-instance --type ComputeInstance \ --size STANDARD_DS3_V2 --workspace-name aml-ai900 --resource-group rg-ai900-lab # compute cluster:训练用集群,可自动伸缩,用完缩到 0 省钱 az ml compute create --name cpu-cluster --type AmlCompute \ --size STANDARD_DS3_V2 --min-instances 0 --max-instances 2 \ --workspace-name aml-ai900 --resource-group rg-ai900-lab

--type是这道题的答案本体:ComputeInstance是单节点的开发机,AmlCompute是可自动伸缩的训练集群,推理集群通常建在 AKS 上用于部署。--min-instances 0表示集群闲置时缩容到零节点,只在有任务时计费,是控制成本最直接的手段。workspace 下面还挂着数据存储(datastore)、数据集(dataset)、模型注册表(model registry)、管道(pipeline)和环境(environment),考题会问「保存训练好的模型该放哪」,答案是 model registry。

4.2 负责任 AI 六原则的识别技巧

六个原则的题目几乎每套必出,难点是场景描述一绕就分不清。记住每个原则的「一句话识别点」比背定义管用。

原则识别点典型场景
公平性不同群体结果不能有系统性偏差招聘筛选模型对某群体的通过率明显偏低
可靠性与安全性异常输入下不能产生危险结果识别失败时要能安全降级而不是乱输出
隐私与安全数据合规、加密、脱敏训练数据里含身份证号或病历
包容性覆盖残障、语言、口音差异语音识别要支持多种口音
透明性决策过程可解释拒贷必须给出可理解的理由
问责制有人对系统结果负责设立 AI 治理委员会与责任人

判断时的抓手是:如果题干提到「某类人群受到不公平对待」,选公平性;提到「数据泄露、加密、授权」,选隐私与安全;提到「解释、可理解、为什么拒绝」,选透明性;提到「谁负责、治理机制」,选问责制。可靠性与安全性常和公平性混,区别在于前者看的是系统在异常情况下是否安全,与人群无关。

4.3 混淆矩阵与 F1、AUC 的手算与代码校验

计算类题目数量不多但基本必出,给一个 2×2 表让你算 precision、recall、F1。定义上,precision 的分母是「预测为正的样本数」,recall 的分母是「实际为正的样本数」,这两个分母记反就是最常见的失分点。

tp, fp, fn, tn = 80, 20, 10, 90 # 行=实际,列=预测,按题干表格对应填写 accuracy = (tp + tn) / (tp + tn + fp + fn) precision = tp / (tp + fp) # 关注「预测为正」里有多少是真的 recall = tp / (tp + fn) # 关注「实际为正」里有多少被抓到 f1 = 2 * precision * recall / (precision + recall) print(f"accuracy={accuracy:.3f} precision={precision:.3f} recall={recall:.3f} f1={f1:.3f}")

这段代码的意义在于:考试时你可以先把四个数按题干填进去,心算一遍再对。accuracy在类别极不平衡时会骗人,比如 95% 样本是负类,全预测为负也有 95% 准确率,所以考题常问「该用哪个指标衡量」,答案是 precision、recall 或 F1 而不是 accuracy。回归任务对应的指标是 MAE、MSE、RMSE 和 R²,MAE 与目标同量纲、可解释性最好,RMSE 对大误差更敏感。AUC 衡量的是模型把正样本排在负样本前面的能力,取值 0.5 相当于随机猜测,1.0 是完美排序;聚类任务没有标签,因此不适用这些指标,考核点是「无监督」。

5. 考前 72 小时的复盘清单与考场排除法

5.1 错题归因表怎么填

考前三天不适合再刷整套新题,应该把 91 题里的错题压缩成一张归因表,按「错因类型」而不是「题目编号」聚合。我在实际操作里常用四列:题干关键词、正确服务 / 概念、我选错的选项、错因归类。错因归类只允许填四类之一——服务边界混淆、指标定义记反、概念术语不熟、题目本身有争议。前三类回官方学习路径对应模块补,第四类直接划掉不再看,避免在无效题上反复消耗时间。

5.2 题干关键词到 Azure 服务的速查映射

把高频关键词整理成一张速查表,考前过两遍,比重新读一遍考纲快得多。

题干关键词对应方向
从照片中读取文字、发票字段提取计算机视觉 OCR / 文档智能
判断评论是正面还是负面文本分析情感分析
从文本中提取人名、地名、公司名命名实体识别
识别语音、语音转文字、实时字幕语音服务
跨语言翻译文本或语音翻译服务
预测房价、销量等连续值回归
判断邮件是垃圾还是正常二分类
把客户按行为自动分组聚类
从历史数据预测未来趋势时序预测
生成摘要、对话、代码Azure OpenAI / 生成式 AI

5.3 时间分配与标记策略

考试界面上有标记(review)功能,用法值得提前想清楚:读题超过 30 秒仍无把握的,先按第一直觉选一个再标记,不要空着,因为多数平台不扣错题分。45 分钟的考试,建议前 25 分钟做完单选,留 12 分钟给拖拽匹配题和计算题,最后 8 分钟只回看被标记的题。回看时如果第二遍仍然犹豫,就维持原答案——第一遍的判断往往建立在对服务边界的整体印象上,反复改反而容易把对的改错。拖拽题注意选项数量与空位数是否相等,有的题会多给一个干扰项,多出来的那个通常就是最像正确答案的那个服务。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询