Azure DP-100: 6-недельный план подготовки к сертификации Data Scientist Associate
Реалистичный 6-недельный план подготовки к DP-100, охватывающий Azure ML SDK v2, MLflow, дизайнер и развертывание — а также подводные камни, из-за которых проваливаются даже подготовленные кандидаты.
DP-100 — это экзамен по проектированию и реализации решений для науки о данных в Azure (Designing and Implementing a Data Science Solution on Azure). Стоимость $165 USD, 40–60 вопросов в течение 100 минут (количество варьируется из-за тематических исследований), один или два раздела с тематическими исследованиями, проходной балл 700/1000. Это сертификация уровня Associate для специалистов по данным, работающих с Azure Machine Learning.
Шести недель по 8–10 часов в неделю достаточно, если вы уже знаете Python, scikit-learn и базовые концепции машинного обучения. Если вы изучаете машинное обучение с нуля, 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 (designer плюс ноутбуки) и четко понимать различия между отслеживанием MLflow в Azure ML, AutoML для табличных данных / изображений / NLP, а также HyperDrive / заданиями sweep для настройки гиперпараметров. Часть, касающаяся развертывания, требует, чтобы вы знали различия между управляемыми онлайн-конечными точками (в реальном времени, с разделением трафика и blue-green развертыванием) и пакетными конечными точками (масштабная оценка).
Действительно необходимые предварительные условия
Перед началом первой недели вы должны владеть следующим:
- 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 подойдет) и вычислительный кластер с min nodes = 0. Обратите внимание, что вычислительные экземпляры тарифицируются даже в режиме ожидания, но узлы кластера масштабируются до нуля. Это есть на экзамене.
- Пройдитесь по пользовательскому интерфейсу Azure ML Studio. Зайдите в Datastores, Datasets / Data assets, Environments, Models, Endpoints. Вы пока ничего не создаете — вы знакомитесь с расположением элементов.
- Подключите ноутбук к вычислительному экземпляру. Установите
azure-ai-ml(пакет SDK v2 — неazureml-core, который является v1 и устарел). Аутентифицируйтесь с помощьюDefaultAzureCredentialи создайтеMLClient. Выведите имя рабочей области. Это ваш "hello world".
Контрольная точка конца недели: вы можете подключиться к своей рабочей области из ноутбука менее чем за 60 секунд, не подглядывая никуда.
Неделя 2: данные, среды, задания
Теперь вы создаете реальные вещи.
- Зарегистрируйте CSV-файл как ресурс
Data(URI file или MLTable). Прочитайте его из ноутбука, используяml_client.data.get(...). На экзамене очень любят различие между типами ресурсов данныхuri_file,uri_folderиmltable— запомните сценарии использования для каждого. - Создайте пользовательскую среду. Либо напишите
conda.yaml, либо используйте готовую среду с дополнительной pip-зависимостью. Отправьте заданиеcommand, которое запускает скрипт обучения (30-строчный классификатор scikit-learn на только что зарегистрированном наборе данных). - Используйте автологирование MLflow в своем скрипте (
mlflow.sklearn.autolog(), затем fit). Наблюдайте, как метрики и артефакты появляются в задании. Сравните это с ручным логированием с помощьюmlflow.log_metric(). - Отправьте задание на свой вычислительный кластер вместо вычислительного экземпляра. Наблюдайте, как кластер запускается с 0 и снова отключается.
Важный момент для запоминания: в SDK v2 задания отправляются через функцию command из azure.ai.ml, а не через ScriptRunConfig (это было в v1). На экзамене вам будут предлагаться фрагменты кода в стиле v1 в вариантах неверных ответов. Научитесь их распознавать.
Неделя 3: AutoML, HyperDrive, конвейеры
Более интенсивная неделя машинного обучения.
- Запустите задание классификации AutoML из SDK на том же наборе данных. Ограничьте его 30 минутами и
max_trials=10, чтобы не тратить лишние кредиты. Посмотрите таблицу лидеров. - Запустите задание sweep / HyperDrive для пользовательского скрипта обучения. Сначала попробуйте
randomвыборку, затемbayesian(которая не поддерживает раннюю остановку — это вопрос экзамена). - Изучите политики ранней остановки: bandit, median stopping, truncation selection. Знайте интерфейс для каждой — в частности, переключатели
slack_factorиslack_amountдля bandit. - Создайте задание конвейера как минимум из двух связанных компонентов — компонента подготовки данных и компонента обучения. Конвейеры не являются основной частью экзамена, но появляются достаточно часто, чтобы вы не хотели гадать YAML в день экзамена.
Контрольная точка конца недели: вы можете вслух описать, что делают выборки Random, Grid и Bayesian, когда какую использовать и почему Bayesian не сочетается с bandit.
Неделя 4: развертывание
Именно здесь большинство кандидатов теряют баллы.
- Зарегистрируйте модель из выходных данных задания. Потренируйтесь обоими способами: из SDK с помощью
ml_client.models.create_or_updateи из пользовательского интерфейса студии. - Разверните модель в управляемую онлайн-конечную точку. Разверните как минимум два развертывания за одной и той же конечной точкой и разделите трафик между ними в соотношении 90/10. Это паттерн blue/green, который Microsoft проверяет напрямую.
- Разверните ту же модель в пакетную конечную точку. Оцените папку входных файлов. Обратите внимание, что пакетные конечные точки не поддерживают вычислительные ресурсы в режиме ожидания; они запускают кластеры при каждом вызове.
- Настройте мониторинг дрейфа данных для развертывания. Настройте оповещение Application Insights. Экзамен задаст как минимум один вопрос о Model Monitor (новое название для того, что раньше называлось Data Drift Monitor в SDK v1).
Важный момент: управляемые онлайн-конечные точки тарифицируются по базовой виртуальной машине, независимо от того, отправляете ли вы трафик. На экзамене будет сценарий, где самым дешевым ответом будет пакетная конечная точка, а все неверные ответы по умолчанию будут указывать на онлайн-конечные точки. Прежде чем выбирать, внимательно прочитайте вопрос на предмет фразы "прогнозы не обязательно должны быть в реальном времени".
Неделя 5: ответственное машинное обучение и тематические исследования
Меньше кода, больше чтения.
- Ознакомьтесь с панелью управления ответственного ИИ Microsoft для обученной модели. Сгенерируйте метрики справедливости (fairness metrics), проведите анализ ошибок, оцените интерпретируемость модели (значения SHAP). Экзамен проверяет терминологию, а не глубину реализации.
- Прочитайте о дифференциальной приватности в Azure ML —
azureml-opendp-smartnoiseсуществует, но на экзамене это остается на концептуальном уровне. - Пройдите свой первый полный практический экзамен в условиях ограниченного времени. Два тематических исследования подряд займут 30+ минут. Привыкните к этому ритму.
- Определите слабые области на основе результатов практики. Для большинства кандидатов это либо внутренние механизмы развертывания, либо политики настройки гиперпараметров — вернитесь к неделям 3 или 4.
Неделя 6: отработка и сдача
Практические экзамены через день. После каждого записывайте службы или концепции, в которых вы ошиблись. Выявятся закономерности — обычно это касается сред (curated vs. custom vs. registered), типов ресурсов данных и того, какой инструмент мониторинга является правильным ответом (Application Insights vs. Azure Monitor vs. Log Analytics workspace).
Запланируйте экзамен на конец недели. Если вы набираете более 80% на двух последовательных практических экзаменах в условиях ограниченного времени, вы готовы. Ниже 70% означает, что нужно отложить на еще одну неделю — повторная сдача за $165 плюс 24-часовой период ожидания стоит дороже, чем еще семь дней.
Как DP-100 соотносится с AI-102 и DP-900
DP-100 предназначен для специалистов по данным; AI-102 — для инженеров ИИ. Пересечение невелико. DP-100 требует от вас обучения и развертывания пользовательских моделей в Azure ML; AI-102 — подключения служб Azure AI (Vision, Language, OpenAI) к приложениям. Если вы специалист по данным, одного DP-100 достаточно. Если вы разработчик программного обеспечения, создающий функции в стиле Copilot, AI-102 подходит лучше, а DP-100 будет избыточным.
DP-900 — это своего рода разминка, полезная, если вы новичок в службах данных Azure в целом, и избыточная, если вы уже работали с Azure ML.
Когда вы будете готовы к отработке вопросов, просмотрите банк вопросов DP-100 на CertLabPro или запустите симуляцию с таймером. Вопросы с тематическими исследованиями — это то, где время становится проблемой — практикуйтесь с часами, а не просто читайте их в кафе во второй половине дня.