NO IMAGE

MLA-C01 Vol2|モデル開発・評価・ハイパーパラメータチューニング【D2ドメイン104問対策】

NO IMAGE

1. はじめに — D2「モデル開発・評価・チューニング」とは

本記事は「AWS MLA-C01試験対策」シリーズの Vol2 です。
全体像をまだ把握していない方は Vol0 ロードマップ を、データ準備を学びたい方は Vol1 データ準備・特徴量エンジニアリング を先にお読みください。

ここから扱うのは試験の第2ドメイン、D2「機械学習モデルの開発(ML Model Development)」 です。
公式試験ガイドにおける出題比率は 26% で、65問換算なら約17問、D1(28%)に次ぐ2番目の比重を占めます。
Vol1 で整えたデータを使い、いよいよ モデルを「作り・測り・改善する」 工程に入ります。
ここでの主役は引き続き Amazon SageMaker ですが、Training・AMT・Experiments・Clarify といった モデル開発に特化した機能群 を区別して理解することが合格の鍵になります。

この記事(Vol2)で得られること

  • D2で問われる範囲とモデル開発の全体像(§1〜§2)
  • SageMaker Training Job・分散学習・Spot学習の使い分け(§2)
  • 組込アルゴリズムの選択ガイド(XGBoost/LinearLearner等)(§3)
  • AMTとBayesian最適化によるハイパーパラメータ調整(§4)
  • 実験管理(Experiments/MLflow)と評価指標の体系(§5〜§6)
  • 過学習対策・バイアス検出・デバッグの頻出論点(§7〜§9)

1-1. D2の出題範囲を一望する

D2 はモデルのライフサイクルに沿って、大きく次の6テーマで整理できます。
本記事はこの流れに沿って解説します。

#テーマ代表サービス・概念
1学習ジョブの実行SageMaker Training / 分散学習 / Spot
2アルゴリズム選択組込アルゴリズム / カスタムコンテナ
3ハイパーパラメータ調整AMT / Bayesian最適化 / Warm Start
4実験管理SageMaker Experiments / MLflow
5モデル評価混同行列 / F1 / AUC / RMSE
6改善・検証正則化 / Clarify / Debugger
D2学習のコツ

  • SageMaker の各機能(Training / AMT / Experiments / Clarify / Debugger)は独立サービスのように出題されます。名前と役割をセットで区別しましょう
  • 「いつ・なぜそのアルゴリズム/指標/手法を選ぶか」という判断基準が問われます。単純な暗記では得点しにくいドメインです
  • 評価指標は D2 の最頻出テーマです。分類・回帰・クラスタリングで使う指標を混同しないよう整理しましょう

2. SageMaker Training — 学習ジョブの実行

2-1. SageMaker Training Job の仕組み

SageMaker Training Job は、学習用のインスタンスを必要なときだけ起動して学習し、終わったら自動で停止する マネージドな学習実行環境です。
学習データは S3 から読み込み、学習済みモデル(モデルアーティファクト)を S3 に出力します。
利用者はサーバー管理から解放され、アルゴリズムとデータの指定に集中できます。

fig01: SageMaker Training全体アーキテクチャ。S3の学習データとコンテナイメージ(組込/スクリプト/カスタム)を入力にTraining Jobが学習し、モデルアーティファクトをS3へ出力、Model Registryに登録する流れ。Spot/分散学習/チェックポイントも図示
fig01: SageMaker Training 全体アーキテクチャ(S3 → Training Job → モデルアーティファクト → Model Registry)

学習の入力(データとコンテナ)、実行(Training Job)、出力(モデルアーティファクト)という3層の流れを押さえれば、後続の分散学習やSpotもこの図のどこを工夫するかとして理解できます。
完成したモデルは Model Registry にバージョン管理付きで登録し、次のデプロイ工程(Vol3)へ引き渡します。

学習に使うコンテナイメージは、次の3通りから選べます。

  • 組込アルゴリズム — AWS が用意した学習済みコンテナ(XGBoost等)。最も手軽。
  • スクリプトモード — TensorFlow/PyTorch等のフレームワークコンテナに自分の学習スクリプトを持ち込む方式。
  • カスタムコンテナ — 独自の環境を Docker イメージとして持ち込む方式。最も柔軟。

2-2. 分散学習(Distributed Training)

データやモデルが大きく1台で学習しきれない場合、複数インスタンスに分散します。
試験では2つの並列方式の違いが問われます。

方式内容使いどころ
データ並列(Data Parallel)データを分割し各インスタンスで同じモデルを学習、勾配を集約データが大きいとき(最も一般的)
モデル並列(Model Parallel)モデル自体を分割して複数インスタンスに配置モデルが大きく1GPUに載らないとき(大規模LLM等)

学習データが大きく時間を要する場合はデータ並列、モデルを1台のメモリに載せきれない場合はモデル並列、と覚えます。

2-3. Spot インスタンスによるコスト削減(Managed Spot Training)

Managed Spot Training は、割安なスポットインスタンス を学習に使い、コストを最大90%削減できる機能です。
スポットは途中で中断される可能性がありますが、SageMaker が チェックポイント(学習途中の状態をS3保存) を使って中断後に再開するため、安全に活用できます。
「学習コストを下げたい・多少時間がかかってもよい」というシナリオでは Managed Spot Training が正解です。

2-4. 学習インスタンスの選び方(CPU vs GPU)

学習に使うインスタンスの種類も問われます。判断軸はアルゴリズムの性質です。

  • GPU インスタンス(ml.p系・ml.g系) — ディープラーニング(画像・自然言語など、行列演算が大量)に向きます。並列計算で大幅に高速化します。
  • CPU インスタンス(ml.m系・ml.c系) — XGBoost や Linear Learner など、GPUの恩恵が小さい表形式データのアルゴリズムに向きます。コストも抑えられます。

「ディープラーニングの学習が遅い」なら GPU へ、「表形式データに高価なGPUは過剰」なら CPU へ、という判断が定石です。

2-5. データ入力モード(File / Pipe / FastFile)

学習データを S3 からどう読み込むかも、大規模データでは性能とコストに影響します。

モード内容向いている場面
File モード学習開始前に全データをインスタンスにダウンロードデータが小〜中規模で、ローカルディスクに収まるとき
Pipe モードデータをストリーミングで逐次供給(ダウンロード待ち不要)データが巨大でダウンロードに時間がかかるとき
FastFile モードFile の手軽さと Pipe の即時性を両立した新しい方式大規模データを素早く学習開始したいとき

「データが大きすぎてダウンロードに時間がかかり、学習開始が遅い」という課題には Pipe または FastFile モードが有効です。

つまずきやすいポイント — チェックポイントとSpotはセット
スポット学習は中断され得るため、チェックポイントを S3 に保存する設定が前提です。
「コスト削減のためスポットを使いたいが中断が心配」という設問では、チェックポイントを有効にして再開可能にするのが定石の答えになります。

3. 組込アルゴリズム選択ガイド

SageMaker には20種類以上の 組込アルゴリズム が用意されています。
試験では「このタスクにはどのアルゴリズムが適切か」という選択が問われます。代表的なものを目的別に整理します。

アルゴリズム学習タイプ主な用途
XGBoost教師あり分類・回帰の万能選手。表形式データで最頻出
Linear Learner教師あり線形の分類・回帰。シンプルで高速
K-Means教師なしクラスタリング(顧客セグメント分けなど)
PCA教師なし次元削減(特徴量の圧縮)
Random Cut Forest (RCF)教師なし異常検知
NTM / LDA教師なしトピックモデリング(文書分類)
Image Classification / Object Detection教師あり画像分類・物体検出
DeepAR教師あり時系列予測
BlazingText教師あり/なしテキスト分類・単語埋め込み
Seq2Seq教師あり機械翻訳・要約
選択の判断軸

  • 表形式データの分類・回帰 → まず XGBoost を検討(試験での出題頻度No.1)
  • 正解ラベルがない → 教師なし(K-Means / PCA / RCF など)
  • 異常検知 → Random Cut Forest
  • 時系列予測 → DeepAR
  • 画像 → Image Classification / Object Detection

「教師あり / 教師なし」「分類 / 回帰 / クラスタリング」のどれに当てはまるかをまず判断すると、候補が一気に絞れます。

3-1. 組込・スクリプト・カスタムの選び分け

アルゴリズムが決まったら、§2-1 で触れた3つの実装方式のどれを使うかも判断します。

  • 組込アルゴリズム — XGBoost のように AWS が用意した実装で足りる場合。最速で始められ、運用負荷も最小です。まずはこれを検討します。
  • スクリプトモード — TensorFlow/PyTorch の標準コンテナに自作スクリプトを載せる方式。独自のモデル構造を組みたいが環境構築は省きたい場合に向きます。
  • カスタムコンテナ — 特殊なライブラリや独自フレームワークが必要な場合。最も柔軟ですが Docker の管理が必要です。

「標準的なタスクなら組込、独自モデルならスクリプト、特殊環境ならカスタム」と段階的に判断すると迷いません。

4. ハイパーパラメータチューニング — AMTとBayesian最適化

4-1. ハイパーパラメータとは

ハイパーパラメータ とは、学習を始める前に 人間が設定する値 です。
学習率(learning rate)、木の深さ(max_depth)、正則化の強さなどが該当します。
モデルが学習データから自動で獲得する「重み(パラメータ)」とは区別される点が重要です。
このハイパーパラメータの良し悪しがモデル精度を大きく左右するため、最適な組み合わせを探す作業が必要になります。

4-2. SageMaker Automatic Model Tuning(AMT)

SageMaker AMT は、ハイパーパラメータの探索を自動化する機能です。
指定した範囲のなかで複数の学習ジョブを走らせ、最も評価指標が良くなる組み合わせを見つけます。
探索戦略(strategy)として次の4つが選べます。

fig02: SageMaker AMT(Automatic Model Tuning)のフロー。ハイパーパラメータ範囲と目的指標を指定し、Bayesian最適化が過去の試行結果から次の候補を選んで複数の学習ジョブを並列実行、最良の組み合わせを選定する。Warm Startで過去ジョブを引き継ぐ流れも図示
fig02: AMT フロー(範囲指定 → Bayesian最適化で候補選定 → 並列学習 → 最良モデル選定)
戦略内容特徴
Bayesian(ベイズ最適化)過去の試行結果から次に試す値を賢く選ぶ少ない試行で高精度。デフォルト推奨
Random(ランダム探索)範囲内をランダムに試す並列度を上げやすい
Grid(グリッド探索)すべての組み合わせを総当たり組み合わせ爆発で高コスト
Hyperband見込みの低い試行を早期打ち切り反復学習に効率的
なぜBayesian最適化がGrid Searchより効率的か
Grid Search は全組み合わせを機械的に試すため、ハイパーパラメータが増えると試行回数が爆発します。
一方 Bayesian最適化は 「これまでの結果から、次に試すと良さそうな値」を推定して探索するため、
少ない試行回数で良い組み合わせにたどり着けます。「最小の試行で最適化したい」なら Bayesian が答えです。

探索範囲は、たとえば次のように指定します。

hyperparameter_ranges = {
 "max_depth": IntegerParameter(3, 10),
 "eta": ContinuousParameter(0.01, 0.3),  # 学習率
 "subsample": ContinuousParameter(0.5, 1.0),
}

4-3. Warm Start(ウォームスタート)

Warm Start は、過去のチューニングジョブの結果を引き継いで 新しいチューニングを始める機能です。
ゼロから探索し直す無駄を省けるため、「以前のチューニング結果を活かして追加探索したい」場面で有効です。

4-4. 目的指標(Objective Metric)の指定

AMT は「何を最大化(または最小化)するか」を 目的指標 として指定する必要があります。
たとえば分類なら validation:auc を最大化、回帰なら validation:rmse を最小化、といった具合です。
ここで 検証データ(validation)の指標 を使う点が重要です。
学習データの指標を目的にすると過学習した組み合わせが選ばれてしまうため、必ず検証データで評価します。
並列実行数(max_parallel_jobs)を上げると速くなりますが、Bayesian は過去結果を参照するため並列度を上げすぎると学習効率が落ちる、というトレードオフも押さえましょう。

5. 実験管理 — SageMaker Experiments・MLflow

モデル開発では、アルゴリズムやハイパーパラメータを変えながら 何十回も試行 します。
「どの設定でどの精度が出たか」を記録・比較しないと、最良のモデルを見失います。

  • SageMaker Experiments — 学習の試行(run)ごとにパラメータ・指標・成果物を自動記録し、比較できるマネージド機能。どの設定が最良かを一覧で追跡できます。
  • MLflow(SageMaker マネージド) — OSS の実験管理ツール MLflow を SageMaker 上でマネージド提供。既に MLflow を使っているチームが移行しやすい選択肢です。

「実験の再現性を担保し、試行を体系的に比較したい」なら Experiments、「既存の MLflow 資産を活かしたい」なら マネージド MLflow、という使い分けです。

実験管理が重要なのは、モデル開発が 本質的に試行錯誤の繰り返し だからです。
「3週間前に試した設定の精度はいくつだったか」「どのデータ前処理を組み合わせたか」を人手のメモで管理すると、必ず抜け漏れが生じます。
Experiments はパラメータ・指標・成果物(モデル)を試行ごとに自動で紐付けて記録するため、最良モデルの再現関係者への説明 の両方が容易になります。
さらに後述する Vol3 のデプロイや Vol4 の監視とも連携し、「どの実験から生まれたモデルが本番で動いているか」を追跡できる点も実務的な価値です。

6. モデル評価指標 — タスク別に整理する

D2 で最頻出のテーマが 評価指標 です。
タスクの種類(分類 / 回帰 / クラスタリング)によって使う指標が異なるため、混同しないよう整理しましょう。

fig03: モデル評価指標マップ。分類タスクは混同行列を基に適合率・再現率・F1・ROC-AUC・PR-AUC、回帰タスクはRMSE・MAE・R²、クラスタリングはシルエットスコアを用いる体系を整理した図
fig03: モデル評価指標マップ(分類 / 回帰 / クラスタリング別)

6-1. 分類タスクの指標

分類の評価は 混同行列(Confusion Matrix) が基礎です。
予測と正解の組み合わせを TP(真陽性)・FP(偽陽性)・FN(偽陰性)・TN(真陰性)に分け、そこから各指標を計算します。

指標意味重視する場面
適合率(Precision)陽性と予測したうち本当に陽性の割合誤検知(FP)を避けたいとき(例: スパム判定)
再現率(Recall)実際の陽性のうち検出できた割合見逃し(FN)を避けたいとき(例: 病気検知)
F1スコア適合率と再現率の調和平均両者のバランスを取りたいとき
ROC-AUC閾値を変えたときの性能曲線下面積全体的な分類性能の比較
PR-AUC適合率-再現率曲線下面積不均衡データでの評価

Vol1 で触れた通り、不均衡データでは正解率(Accuracy)は当てにならず、F1 や PR-AUC を使う のが定石です。

適合率と再現率はトレードオフ
適合率(誤検知を減らす)と再現率(見逃しを減らす)は、片方を上げるともう片方が下がる関係にあります。
分類の判定閾値を上げれば適合率が上がり再現率が下がり、下げればその逆になります。
どちらを優先するかは業務次第です。がんの見逃しは許されない(再現率重視)のか、
スパム判定で正常メールを誤って弾きたくない(適合率重視)のか――この判断が設問で問われます。

6-2. 回帰タスクの指標

連続値を予測する回帰では、予測と実測の「ズレ」を測ります。

  • RMSE(二乗平均平方根誤差) — 誤差を二乗するため、大きな外れ値に敏感。
  • MAE(平均絶対誤差) — 誤差の絶対値の平均。外れ値に比較的頑健。
  • R²(決定係数) — モデルがデータの変動をどれだけ説明できるか(1に近いほど良い)。

6-3. クラスタリングの指標

正解ラベルのないクラスタリングでは、シルエットスコア などでクラスターのまとまりの良さを測ります。

7. 過学習・汎化対策

過学習(オーバーフィッティング) とは、モデルが学習データに適合しすぎて、未知のデータに対する性能(汎化性能)が落ちる現象です。
「学習データでは高精度なのに、検証データでは精度が低い」状態が典型的なサインです。

主な対策は次の通りです。

手法内容
正則化(L1/L2)重みが大きくなりすぎないようペナルティを加える。L1はスパース化、L2は滑らかな縮小
ドロップアウト学習時にニューロンをランダムに無効化し、特定の経路への依存を防ぐ(ニューラルネット)
Early Stopping検証データの性能が改善しなくなった時点で学習を打ち切る
データ拡張(Augmentation)画像の回転・反転などでデータを水増しし、多様性を確保
交差検証(Cross Validation)データを分割して複数回検証し、汎化性能を安定して評価
過学習と未学習の見分け方

  • 過学習: 学習データの精度は高いが検証データの精度が低い → 正則化・ドロップアウト・データ追加で対処
  • 未学習(アンダーフィッティング): 学習データの精度も低い → モデルを複雑にする・特徴量を増やす・学習を長くする

学習曲線(学習/検証のスコア推移)を見て、どちらの状態かを判断するのが定石です。

8. バイアス検出と説明可能性 — SageMaker Clarify

公平で説明可能なモデルを作ることも D2 の重要テーマです。
ここで使うのが SageMaker Clarify です。

fig04: SageMaker Clarifyによるバイアス検出と説明可能性のフロー。学習前(Pre-training Bias)でデータの偏りを検出、学習後(Post-training Bias)でモデルの予測偏りを検出、SHAPで各特徴量の寄与度を可視化する流れ
fig04: SageMaker Clarify — バイアス検出(Pre/Post-training)とSHAPによる説明可能性

SageMaker Clarify は、主に2つの役割を担います。

  • バイアス検出 — データやモデルに不公平な偏りがないかを定量化します。学習前のデータの偏りを測る Pre-training Bias と、学習後のモデル予測の偏りを測る Post-training Bias の両方を検出できます。
  • 説明可能性(Explainability)SHAP という手法で、各特徴量が予測にどれだけ寄与したかを数値化します。「なぜこの予測になったのか」を人間へ説明できるようにします。

「モデルの予測根拠を説明したい」「特定の属性に対する不公平を検出したい」というシナリオでは Clarify が答えになります。

9. デバッグ・プロファイリング — Debugger・Profiler

学習がうまくいかないとき、原因を突き止める仕組みも問われます。

  • SageMaker Debugger — 学習中の勾配や重みをリアルタイムに監視し、勾配消失・勾配爆発・過学習 などの異常を自動検知してアラートを出します。
  • SageMaker Profiler — 学習中のリソース使用状況(CPU/GPU/メモリ)を分析し、ボトルネックや非効率なリソース利用 を可視化します。GPU が遊んでいる、といった無駄を発見できます。

「学習が収束しない原因を調べたい」なら Debugger、「学習の速度やリソース効率の問題を調べたい」なら Profiler、という使い分けです。

Debugger には「過学習」「勾配消失」「損失が下がらない(loss not decreasing)」といった 組込みルール(built-in rules) が用意されており、条件に合致すると自動でアラートを発します。
さらに CloudWatch Events と連携すれば、異常検知時に学習ジョブを自動停止して無駄なコストを止める、といった運用も可能です。
「学習を回しっぱなしで失敗に気づかず課金が膨らむ」事故を防ぐ仕組みとして覚えておきましょう。

10. まとめ — Vol3「デプロイ・推論」へ

本記事では、MLA-C01 の D2「モデル開発・評価・チューニング」を、モデルのライフサイクルに沿って体系的に整理しました。

D2の要点おさらい

  • 学習は Training Job、コスト削減は Managed Spot + チェックポイント、大規模は 分散学習(データ/モデル並列)
  • 表形式の分類・回帰はまず XGBoost、教師なしは K-Means/PCA/RCF
  • ハイパーパラメータ調整は AMT、戦略は Bayesian が効率的、再利用は Warm Start
  • 試行の記録・比較は Experiments / MLflow
  • 評価は 分類=F1/AUC・回帰=RMSE/R²・不均衡=PR-AUC
  • 過学習対策は 正則化/ドロップアウト/Early Stopping、公平性は Clarify、異常検知は Debugger/Profiler

良いモデルが完成したら、次はそれを 本番環境で提供する 工程です。
Vol3「デプロイ・推論・オーケストレーション」(D3/22%・公開中) では、リアルタイム/サーバーレス/非同期/バッチの推論4オプション、エンドポイントのオートスケーリング、SageMaker Pipelines による自動化を解説します。

Vol対象ドメイン状態
Vol0 ロードマップ全体(ハブ)公開済
Vol1 データ準備・特徴量エンジニアリングD1 (28%)公開済
Vol2(本記事) モデル開発・評価・チューニングD2 (26%)公開済
Vol3 デプロイ・推論・オーケストレーションD3 (22%)公開済
Vol4 監視・保守・セキュリティ・コストD4 (24%)公開済

知識をインプットしたら、必ず問題演習でアウトプットしましょう。
CertTrend LMS には MLA-C01 の出題範囲を網羅した 400問のオリジナル問題 を収録し、D2 の各論点を本番形式で診断できます。
正答理由だけでなく すべての誤答がなぜ誤りか を AWS 公式ドキュメントに基づいて解説しているため、「わかったつもり」を確実に解消できます。

👉 CertTrend LMS(MLA-C01 400問演習)は近日公開予定です