Azure DP-100:数据科学家助理的6周学习计划
一个切合实际的6周DP-100学习计划,涵盖Azure ML SDK v2、MLflow、设计器和部署——以及可能让准备充分的考生失败的陷阱。
DP-100 是 Azure 上设计和实施数据科学解决方案的考试。费用为 165 美元,100 分钟内有 40-60 道题(题数因案例研究而异),包含一到两个案例研究部分,通过分数为 700/1000(按比例)。它是针对在 Azure Machine Learning 上工作的数据科学家的基于角色的助理认证。
如果您已经了解 Python、scikit-learn 和基本的 ML 概念,那么每周 8-10 小时、持续六周的学习时间就足够了。如果您是从零开始学习 ML,DP-100 还不是适合您的考试——请先去学习一门模型训练课程。该考试测试的是 Azure ML,而不是您是否理解混淆矩阵。
DP-100 实际考什么
当前的考试指南(2024 年更新,移除了 SDK v1 并完全侧重于 v2)大致分为:
- 管理 Azure ML 资源(工作区、计算、数据存储、环境)— 约 25%
- 运行实验和训练模型(作业、MLflow 跟踪、AutoML、HyperDrive)— 约 25%
- 部署和操作化 ML 解决方案(托管在线端点、批处理端点、监控)— 约 25%
- 实施负责任的 ML(公平性、可解释性、差分隐私)— 约 25%
实际操作中,这意味着:您需要熟练使用 Azure ML Python SDK v2,熟悉 Azure ML Studio(设计器和笔记本),并清楚 Azure ML 中 MLflow 跟踪、用于表格/图像/NLP 的 AutoML 以及用于超参数调整的 HyperDrive / sweep 作业 之间的区别。部署部分要求您了解托管在线端点(实时、带流量拆分和蓝绿部署)与批处理端点(大规模评分)之间的区别。
实际所需的先决条件
在第 1 周之前,您应该具备以下能力:
- Python,熟练掌握。能够读写函数、类、装饰器、虚拟环境。
- pandas + numpy,达到工作水平。
- scikit-learn,包括
Pipeline、train_test_split、基本的回归器和分类器,以及ColumnTransformer。 - ML 概念:训练/验证/测试集划分、交叉验证、过拟合、正则化、回归和分类指标之间的区别。
- 一些 Azure 经验 — 至少要了解 AZ-900 的词汇。资源组、RBAC、存储账户和 Key Vault 不会在考试中重新解释。
如果上述几点感觉不扎实,请在开始以下计划之前花两周时间巩固它们。
第 1 周:工作区和计算
首先亲自动手操作平台。暂不要从头到尾阅读考试指南。
- 如果您没有 Azure 免费账户,请创建一个。通过门户创建 Azure ML 工作区。注意同时创建的资源:存储账户、Key Vault、容器注册表、Application Insights。考试会涉及这些。
- 预置一个计算实例(一个小型实例 — D2s_v3 即可)和一个最小节点数为 0 的计算集群。请注意,即使计算实例处于空闲状态也会计费,但集群节点可以缩放到零。这是考试内容。
- 浏览 Azure ML Studio UI。点击进入数据存储、数据集/数据资产、环境、模型、端点。您现在不是在构建,而是在熟悉布局。
- 在计算实例上附加一个笔记本。安装
azure-ai-ml(SDK v2 包 — 而非azureml-core,后者是 v1 且已弃用)。使用DefaultAzureCredential进行身份验证并创建MLClient。打印工作区名称。这就是您的“hello world”。
周末检查点:您可以在 60 秒内,无需查阅任何资料,从笔记本连接到您的工作区。
第 2 周:数据、环境、作业
现在开始构建实际的东西。
- 将 CSV 注册为
Data资产(URI 文件或 MLTable)。使用ml_client.data.get(...)从笔记本中读取它。考试非常喜欢区分uri_file、uri_folder和mltable数据资产类型——请记住每种类型的使用场景。 - 构建一个自定义环境。可以编写
conda.yaml文件,或者使用一个精选环境并添加额外的 pip 依赖。提交一个运行训练脚本的command作业(在一个您刚注册的数据集上运行一个 30 行的 scikit-learn 分类器)。 - 在您的脚本中使用 MLflow 自动日志记录(
mlflow.sklearn.autolog()然后 fit)。观察作业中显示的指标和 Artifact。将其与使用mlflow.log_metric()手动日志记录进行比较。 - 将作业提交到您的计算集群而不是计算实例。观察集群从 0 启动再关闭。
需要牢记的陷阱:在 SDK v2 中,作业是通过 azure.ai.ml 中的 command 函数提交的,而不是通过 ScriptRunConfig(那是 v1 的方式)。考试中会在错误选项中给出 v1 风格的代码。训练您的眼睛来识别它。
第 3 周:AutoML、HyperDrive、管道
更注重 ML 的一周。
- 从 SDK 对同一数据集运行 AutoML 分类作业。将其限制在 30 分钟和
max_trials=10,以免消耗过多积分。查看排行榜。 - 对自定义训练脚本运行一个 sweep / HyperDrive 作业。首先尝试
random采样,然后是bayesian(它不支持提前终止——这是一个考题)。 - 阅读有关提前终止策略的资料:bandit、median stopping、truncation selection。了解每种策略的接口——特别是 bandit 的
slack_factor和slack_amount开关。 - 构建一个至少包含两个组件(一个数据准备组件和一个训练组件)并连接在一起的管道作业。管道在考试中不是重点,但出现的频率足以让您不想在考试当天猜测 YAML。
周末检查点:您可以清晰地口头描述 Random、Grid 和 Bayesian 采样的工作原理,何时使用哪种,以及为什么 Bayesian 不能与 bandit 结合使用。
第 4 周:部署
这是大多数考生失分的地方。
- 从作业输出中注册模型。两种方式都练习:使用 SDK 的
ml_client.models.create_or_update,以及通过 Studio UI。 - 将模型部署到托管在线端点。在同一个端点后面建立至少两个部署,并以 90/10 的比例拆分流量。这是 Microsoft 直接测试的蓝绿部署模式。
- 将同一模型部署到批处理端点。对一个输入文件文件夹进行评分。请注意,批处理端点不会使计算资源闲置;它们在每次调用时都会启动集群。
- 在部署上设置数据漂移监控。配置 Application Insights 警报。考试中至少会有一个问题涉及到 Model Monitor(SDK v1 中曾被称为 Data Drift Monitor 的新名称)。
陷阱:托管在线端点是根据底层 VM 收费的,无论您是否发送流量。考试会设置一个场景,其中最便宜的答案是批处理端点,而错误的答案都默认为在线端点。在选择之前,请阅读问题中是否有“预测不需要实时”的字样。
第 5 周:负责任的 ML 和案例研究
代码更少,阅读更多。
- 浏览 Microsoft 针对已训练模型的 Responsible AI 仪表板。生成公平性指标、错误分析、模型可解释性 (SHAP) 值。考试测试的是词汇,而非实现深度。
- 阅读有关 Azure ML 中差分隐私的资料 —
azureml-opendp-smartnoise存在,但考试将其保持在概念层面。 - 在计时条件下进行您的第一次全长模拟考试。连续两个案例研究会消耗 30 多分钟。适应这种节奏。
- 根据练习分数找出薄弱领域。对于大多数考生来说,这要么是部署内部机制,要么是超参数调整策略——请回到第 3 或第 4 周的内容。
第 6 周:练习并交付
每隔一天进行模拟考试。每次考试后,记下您做错的服务或概念。模式会浮现出来——通常围绕环境(精选与自定义与注册)、数据资产类型,以及哪种监控工具是正确答案(Application Insights 与 Azure Monitor 与 Log Analytics 工作区)。
将考试安排在本周末。如果您在计时条件下连续两次模拟考试得分超过 80%,就说明您准备好了。低于 70% 则意味着再推迟一周——165 美元的补考费用加上 24 小时冷静期,这比再花七天时间更昂贵。
DP-100 如何与 AI-102 和 DP-900 结合
DP-100 是数据科学家路线;AI-102 是 AI 工程师路线。两者的重叠很小。DP-100 要求您在 Azure ML 中训练和部署自定义模型;AI-102 要求您将 Azure AI 服务(视觉、语言、OpenAI)集成到应用程序中。如果您是数据科学家,单独考 DP-100 就足够了。如果您是构建 Copilot 风格功能的软件工程师,AI-102 更适合,而 DP-100 则大材小用。
DP-900 是一个友好的热身——如果您是 Azure 数据服务的新手,它会很有用;如果您已经在使用 Azure ML 进行交付,那么它就是多余的。
当您准备好刷题时,请在 CertLabPro 上浏览 DP-100 题库或开始计时模拟。案例研究问题是时间压力最大的地方——请在计时下练习,而不是在咖啡馆的下午阅读。