AI-300 · LESSON 1
设计和实现 MLOps 基础结构15–20% · 3 个主题
学习如何以 Azure Machine Learning 工作区为中心,配置计算、数据、环境等资产,并通过 Bicep 等代码(IaC)以可重现的方式构建。
1.1创建和管理机器学习工作区中的资源
Create and manage resources in a Machine Learning workspace
概念
工作区是 Azure Machine Learning 的工作单位,统一管理训练、部署和资产。创建时会关联存储帐户、Key Vault、Application Insights 和容器注册表。计算资源包括计算实例(个人开发用 VM)、计算群集(为作业自动缩放)以及无服务器计算(无需管理群集即可运行作业)。
原理、步骤
- 创建工作区,确认相关资源(存储、Key Vault、ACR、Application Insights)
- 为每位开发人员准备计算实例,并设置空闲时自动关闭
- 为作业创建计算群集,设置最小节点数 0 和最大节点数以控制成本(或使用无服务器)
- 通过托管虚拟网络(允许互联网出站 / 仅允许已批准的出站)和专用终结点实现封闭网络
- 用 Azure RBAC(如 AzureML 数据科学家)把权限降到最小
工作中的示例
5 人的分析团队共用一个工作区,各自的计算实例空闲 30 分钟后停止,训练作业在最小 0 节点的群集上运行,使夜间费用为零。
易混淆点、考试注意事项
- 计算实例用于个人开发,不适合大规模并行训练(作业使用群集或无服务器)
- 最小节点数设为 1 以上,不使用时也会计费
- 使用托管 VNet 的“仅允许已批准的出站”时,需要明确允许所需的外部目标
小测验
Q1. 在 Azure Machine Learning 中,你希望只在需要时用多个节点运行训练作业,不使用时控制费用。合适的计算是哪一个?
- 按作业数量准备常时运行的带 GPU 计算实例
- 最小节点数与最大节点数相同的计算群集
- 在无服务器 Spark 计算上运行训练作业
- 最小节点数设置为 0 的自动缩放计算群集
查看答案和解析
正确答案:D 最小节点数设置为 0 的自动缩放计算群集
群集根据负载缩放,最小为 0 就能控制待机时的费用。【其他选项】实例是单节点且持续计费。最小节点数与最大相同,待机时也会计费。无服务器 Spark 用于数据处理,不是多节点训练作业的选项。
Q2. 因训练时和推理时的库版本不同而发生了故障。为提高可重现性应使用什么?
- 定义了依赖项和映像的环境(Environment)
- 计算实例的默认 Python 内核
- 在训练脚本开头执行 pip install 的处理
- 每个作业指定的最新特选环境
查看答案和解析
正确答案:A 定义了依赖项和映像的环境(Environment)
定义环境并进行版本管理,训练和推理就能使用相同的依赖项。【其他选项】运行时 pip install 无法固定版本。实例的内核在推理时不会被重现。每次都用最新环境无法防止版本差异。
参考链接
1.2创建和管理机器学习工作区中的资产
Create and manage assets in a Machine Learning workspace
概念
资产是数据资产、环境、组件、模型等可重复使用且带版本的部件。数据存储是到 Blob 或 ADLS Gen2 的连接信息,数据资产按名称和版本引用其中的特定数据(uri_file、uri_folder、mltable)。环境是 Docker 映像与 conda 依赖项的组合。
原理、步骤
- 注册数据存储(推荐基于标识的访问,避免嵌入凭据)
- 按名称和版本注册数据资产,在作业中以 azureml:name:version 引用
- 以带版本的方式注册特选环境或自定义环境(Dockerfile、conda.yml)
- 把预处理、训练等注册为组件,在管道中重复使用
工作中的示例
把每月的数据注册为 sales-data 的 2026.10 版本,以便追踪哪个模型是用哪个数据版本训练的。
易混淆点、考试注意事项
- 数据存储是“连接”,数据资产是“对数据本身的引用”,容易混淆
- 希望为表格数据定义读取架构时使用 mltable
- 不固定环境版本,库更新后就会失去可重现性
小测验
Q1. 关于数据存储与数据资产的关系,正确的说明是哪一项?
- 数据存储是经过版本管理的引用,数据资产是存储帐户的连接设置
- 数据资产保存存储的身份验证信息,数据存储复制并保存数据本身
- 数据存储是到存储的连接信息,数据资产是对数据的可版本管理的引用
- 数据存储和数据资产是同一个东西,只是在作业 YAML 中叫法不同
查看答案和解析
正确答案:C 数据存储是到存储的连接信息,数据资产是对数据的可版本管理的引用
把连接(数据存储)和引用(数据资产)分开,就能在不暴露凭据的情况下处理数据。【其他选项】数据资产不保存身份验证信息,数据存储也不复制数据。第一项角色颠倒。两者是不同的概念。
Q2. 你希望在生产工作区中也使用在开发工作区中创建的模型和环境。合适的方法是哪一个?
- 让生产环境也引用开发工作区的数据存储
- 使用注册表在工作区之间共享资产
- 在生产工作区中用相同数据重新训练模型
- 下载模型,手动注册到生产工作区
查看答案和解析
正确答案:B 使用注册表在工作区之间共享资产
注册表是跨工作区共享资产的机制。【其他选项】重新训练得不到相同的模型。手动注册会中断谱系。共享数据存储无法传递模型和环境。
参考链接
1.3为机器学习实现 IaC
Implement IaC for Machine Learning
概念
基础结构即代码(IaC)用代码定义工作区和计算资源,使相同的配置可以反复创建。在 Azure 中使用 Bicep、ARM 模板或 Terraform,ML 资产则用 Azure CLI ml 扩展(v2)的 YAML 或 Python SDK v2 定义。
原理、步骤
- 用 Bicep 定义工作区、网络和计算资源,并用 Git 管理
- 按开发、测试、生产环境分开参数文件
- 用 YAML 定义作业、环境和终结点,用 az ml 命令创建
- 从 GitHub Actions 或 Azure Pipelines 通过服务主体或工作负载标识联合进行身份验证后应用
工作中的示例
对生产工作区的所有更改都必须经过拉取请求审查,并从管道部署 Bicep,消除手工设置造成的差异。
易混淆点、考试注意事项
- 在门户中手工更改会与 IaC 产生差异(漂移)
- CLI v1(azureml 扩展)和 v2(ml 扩展)不同,考试以 v2 的 YAML 思路为准
- 不要把机密写在代码中,应使用 Key Vault 或 GitHub 机密
小测验
Q1. 你希望每次都以相同配置重现工作区及相关资源的创建。合适的方法是哪一个?
- 用 Bicep 模板和 Azure CLI 定义,并用 GitHub Actions 自动执行
- 在 Python SDK 的笔记本中创建,并保留单元格输出作为记录
- 在门户中创建后导出 ARM 模板,附在操作手册中
- 由负责人每次按照操作手册手动执行 Azure CLI 命令
查看答案和解析
正确答案:A 用 Bicep 模板和 Azure CLI 定义,并用 GitHub Actions 自动执行
用 IaC 定义可以消除配置差异,并留下审查和变更历史。【其他选项】导出的 ARM 模板只是记录,不是持续重现的机制。手工操作或执行笔记本不能保证重现相同配置。
Q2. 配置联合凭据(OIDC)时,最适合在 Entra ID 端作为信任条件指定的是哪一项?
- GitHub 的组织、存储库、分支或环境(subject)
- GitHub 用户的用户名和个人访问令牌
- 运行工作流的运行器的 IP 地址
- 工作流 YAML 文件的名称和要运行的作业名称
查看答案和解析
正确答案:A GitHub 的组织、存储库、分支或环境(subject)
联合凭据指定信任来自哪个存储库、分支或环境的令牌(subject)。【其他选项】联合凭据以 subject(存储库、分支、环境)决定信任。文件名、IP 和个人令牌不作为条件。
参考链接
课程由本站根据公开信息独立编写,不保证与考试内容一致。产品规格可能变化,请在参考链接中确认最新信息。
使用须知(非官方、原创题目、不保证合格)
- 本站题目是根据官方公开的技能大纲和考试指南独立编写的原创练习题,并非真实考试题目。
- Microsoft、Azure、Copilot、Microsoft 365、Dynamics 365、Power Platform 是 Microsoft 集团的商标。本站与 Microsoft 无合作关系,也未获得 Microsoft 的认可或推荐。
- 本内容仅为学习辅助,不保证考试合格。考试内容、形式和前提条件可能随时变更,参加考试前请务必在官方页面确认最新信息。
- 模拟考试的正确率无法换算为官方(换算)分数,也不能预测是否合格。
- 进度仅保存在本浏览器(localStorage)中;使用 Google 登录后才会同步到账号。可在“Cookie 与存储设置”页面(日语)中删除。