Azure DP-100: データサイエンティストアソシエイトのための6週間の学習計画
Azure ML SDK v2、MLflow、デザイナー、デプロイメントを網羅する現実的な6週間のDP-100計画 — 準備万端な受験者でもつまずく落とし穴も解説します。
DP-100は、Azure でデータサイエンスソリューションを設計および実装する (Designing and Implementing a Data Science Solution on Azure) 試験です。165米ドル、100分間で40〜60問(ケーススタディにより問題数は変動)、1つまたは2つのケーススタディセクション、合格基準スコアは700/1000です。これは、Azure Machine Learningで働くデータサイエンティスト向けのロールベースのアソシエイト認定です。
Python、scikit-learn、および基本的なMLの概念をすでに知っている場合、週に8〜10時間の6週間で十分です。MLをゼロから学ぶ場合、DP-100はまだ適切な試験ではありません。まずモデルトレーニングコースを受講してください。この試験は、混同行列を理解しているかどうかではなく、Azure MLをテストします。
DP-100が実際にテストするもの
現在の試験ガイド(SDK v1を削除し、v2に完全に移行するため2024年に更新)は、大まかに以下の通りです。
- 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 / スイープジョブの違いを明確に理解している必要があるということです。デプロイメントの部分では、マネージドオンラインエンドポイント(リアルタイム、トラフィック分割とブルーグリーン展開)とバッチエンドポイント(大規模なスコアリング)の違いを知っていることが求められます。
実際に必要な前提条件
1週目に入る前に、以下の状態になっている必要があります。
- Pythonを問題なく使えること。関数、クラス、デコレータ、仮想環境の読み書きができること。
- pandas + numpyを実用レベルで使えること。
Pipeline、train_test_split、基本的なリグレッサーと分類器、ColumnTransformerを含むscikit-learn。- 概念的なML: 訓練/検証/テスト分割、交差検証、過学習、正則化、回帰と分類の指標の違い。
- ある程度のAzureの知識 — 最低限、AZ-900の用語。リソースグループ、RBAC、ストレージアカウント、Key Vaultは試験で再説明されません。
これらの項目が不安定だと感じる場合は、以下の計画を開始する前に2週間かけて強化してください。
第1週: ワークスペースとコンピューティング
まずプラットフォームを実際に使ってみましょう。まだ試験ガイドを最初から最後まで読む必要はありません。
- Azure無料アカウントがない場合は作成してください。ポータルを通じてAzure MLワークスペースを作成します。同時に何が作成されるか注目してください: ストレージアカウント、Key Vault、コンテナレジストリ、Application Insights。試験ではこれらについて問われます。
- コンピューティングインスタンス(小規模なもの — D2s_v3で十分)と、最小ノード数0のコンピューティングクラスターをプロビジョニングします。コンピューティングインスタンスはアイドル状態でも課金されるのに対し、クラスターノードはゼロにスケールダウンすることに注意してください。これは試験に出ます。
- Azure ML StudioのUIを見て回ります。データストア、データセット/データアセット、環境、モデル、エンドポイントをクリックしてみてください。まだ構築はせず、レイアウトを把握するだけです。
- コンピューティングインスタンスにノートブックをアタッチします。
azure-ai-ml(SDK v2パッケージ — v1で非推奨のazureml-coreではない)をインストールします。DefaultAzureCredentialで認証し、MLClientを作成します。ワークスペース名を出力します。これがあなたの「hello world」です。
週末のチェックポイント: 何も調べずに60秒以内にノートブックからワークスペースに接続できますか?
第2週: データ、環境、ジョブ
今度は実際に構築してみましょう。
- CSVを
Dataアセット(URIファイルまたはMLTable)として登録します。ml_client.data.get(...)を使ってノートブックから読み込みます。試験ではuri_file、uri_folder、mltableのデータアセットタイプの違いが頻繁に問われます — それぞれのユースケースを暗記してください。 - カスタム環境を構築します。
conda.yamlを作成するか、キュレートされた環境にpipの追加依存関係を加えるかします。トレーニングスクリプト(登録したデータセットに対する30行のscikit-learn分類器)を実行するcommandジョブを送信します。 - スクリプトでMLflowオートロギングを使用します(
mlflow.sklearn.autolog()の後にfit)。ジョブでメトリクスとアーティファクトが表示されるのを確認します。mlflow.log_metric()を使った手動ロギングと比較してください。 - ジョブをコンピューティングインスタンスではなく、コンピューティングクラスターに送信します。クラスターが0から起動し、その後スケールダウンするのを確認してください。
覚えておくべき落とし穴: SDK v2では、ジョブはazure.ai.mlのcommand関数を介して送信され、ScriptRunConfig(これはv1)を介してではありません。試験では、誤った選択肢としてv1スタイルのコードが出題されます。それを見抜く目を養いましょう。
第3週: AutoML、HyperDrive、パイプライン
より重厚なML週です。
- SDKから同じデータセットに対してAutoML分類ジョブを実行します。クレジットを消費しすぎないように、30分以内および
max_trials=10に制限してください。リーダーボードを確認します。 - カスタムトレーニングスクリプトに対してスイープ/HyperDriveジョブを実行します。まず
randomサンプリングを試し、次にbayesianを試します(これは早期終了をサポートしていません — これも試験問題です)。 - 早期終了ポリシーについて学習します: バンディット、中央値停止、切り捨て選択。それぞれのインターフェース、特にバンディットの
slack_factorとslack_amountの切り替えを知っておきましょう。 - 少なくとも2つのコンポーネント(データ準備コンポーネントとトレーニングコンポーネント)を連結したパイプラインジョブを構築します。パイプラインは試験で非常に重要というわけではありませんが、試験当日にYAMLを推測したくない程度には出題されます。
週末のチェックポイント: Random、Grid、Bayesianサンプリングが何をするか、いつどれを使うか、なぜBayesianがバンディットと組み合わせられないかを声に出して説明できますか?
第4週: デプロイメント
ここがほとんどの受験者が点数を落とすポイントです。
- ジョブの出力からモデルを登録します。SDKの
ml_client.models.create_or_updateを使う方法と、Studio UIから行う方法の両方を練習します。 - モデルをマネージドオンラインエンドポイントにデプロイします。同じエンドポイントの背後に少なくとも2つのデプロイを立ち上げ、それらの間でトラフィックを90/10に分割します。これはMicrosoftが直接テストするブルー/グリーンパターンです。
- 同じモデルをバッチエンドポイントにデプロイします。入力ファイルのフォルダをスコアリングします。バッチエンドポイントはコンピューティングをアイドル状態に保たないことに注意してください。呼び出しごとにクラスターを起動します。
- デプロイメントにデータドリフト監視を設定します。Application Insightsアラートを構成します。試験では、Model Monitor(SDK v1でData Drift Monitorと呼ばれていたものの新しい名前)について少なくとも1問出題されます。
落とし穴: マネージドオンラインエンドポイントは、トラフィックを送信しているかどうかにかかわらず、基盤となるVMによって課金されます。試験では、最も安価な答えがバッチエンドポイントであり、誤った答えがすべてオンラインエンドポイントであるシナリオが設定されます。選択する前に、「予測はリアルタイムである必要はない」という質問文を読んでください。
第5週: 責任あるMLとケーススタディ
コーディングは少なく、読解が多めです。
- トレーニング済みのモデル向けにMicrosoftの責任あるAIダッシュボードを見て回ります。公平性メトリクス、エラー分析、モデル解釈可能性(SHAP)値を生成します。試験では実装の深さではなく、用語が問われます。
- Azure MLにおける差分プライバシーについて読みます —
azureml-opendp-smartnoiseは存在しますが、試験では概念的な部分が問われます。 - 最初の本格的な模擬試験を時間制限付きで受験します。連続する2つのケーススタディで30分以上を費やします。ペースに慣れてください。
- 模擬試験のスコアから弱い領域を特定します。ほとんどの受験者にとって、それはデプロイメントの内部構造かハイパーパラメータチューニングポリシーのいずれかです — 第3週または第4週に戻って復習しましょう。
第6週: 徹底演習と完了
隔日で模擬試験を受けます。それぞれの後で、間違えたサービスや概念を書き出します。パターンが見えてくるでしょう — 通常、環境(キュレートされたもの vs. カスタム vs. 登録済み)、データアセットの種類、そしてどの監視ツールが正しい答えか(Application Insights vs. Azure Monitor vs. Log Analyticsワークスペース)に関するものです。
試験を週末に予約します。時間制限付きで連続して2回の模擬試験で80%以上のスコアを出せるなら、準備万端です。70%未満の場合はもう1週間延期してください — 165ドルの再受験料と24時間のクールダウンは、もう7日間費やすよりも高くつきます。
DP-100がAI-102およびDP-900とどのように関連するか
DP-100はデータサイエンティスト向け、AI-102はAIエンジニア向けのトラックです。重複はわずかです。DP-100はAzure MLでカスタムモデルをトレーニングしデプロイすることを求め、AI-102はAzure AIサービス(Vision、Language、OpenAI)をアプリケーションに組み込むことを求めます。データサイエンティストであれば、DP-100だけで十分です。Copilotスタイルの機能を構築するソフトウェアエンジニアであれば、AI-102の方が適しており、DP-100はやりすぎです。
DP-900は親しみやすいウォームアップです — 一般的なAzureデータサービスに慣れていない場合は役立ちますが、Azure MLですでに何かをリリースした経験がある場合は重複します。
問題演習の準備ができたら、CertLabProのDP-100問題バンクを閲覧するか、時間制限付きシミュレーションを開始してください。ケーススタディ問題は時間的プレッシャーがかかるため、カフェで午後に読むのではなく、時間を見ながら練習しましょう。