AWS認定資格 WEB問題集&徹底解説

機械学習エンジニア–アソシエイト

正解 D問題
分野1:機械学習 (ML) のためのデータ準備 タスクステートメント1.3:データ整合性の確保とモデリング用データの準備 タスクステートメント1.1:データの取り込みと保存
合格に向けて、もっと深く学習する
豊富な問題と詳細なAWSサービス解説を、24時間無料でお試しいただけます
プレミアム会員機能を無料で試す ❯
問題文と選択肢
製薬会社に所属するデータサイエンティストとして、医療画像診断AIモデルの大規模な機械学習プロジェクトに取り組んでいます。このプロジェクトでは、数千万枚に及ぶ高解像度医療画像(合計50TB超)をAmazon S3バケットに格納しています。モデルのトレーニングプロセスでは、複数のGPUインスタンスを効率的に活用し、データI/Oがボトルネックとならないよう、高いスループットと低レイテンシーで画像データにアクセスできる必要があります。また、トレーニングインスタンス上のローカルストレージ消費は最小限に抑えたいと考えています。Amazon SageMakerでトレーニングジョブを実行する際、これらの要件を満たすために最も適切なデータ入力モードとAWSストレージ構成はどれですか。
  • SageMakerのPipe入力モードを選択し、Amazon S3からデータを直接ストリーミングすることで、トレーニングインスタンスのローカルストレージを節約しつつ、モデルがデータの処理を即座に開始できるようにします。
  • SageMakerのFile入力モードを使用し、Amazon EFSをマウントしてデータセットをトレーニングインスタンス間で共有します。これにより、分散トレーニング時にもすべてのインスタンスからデータにアクセス可能になります。
  • SageMakerのFile入力モードを選択し、Amazon S3から全データセットをトレーニングインスタンスのローカルストレージにダウンロードしてからトレーニングを開始します。これにより、トレーニング中にすべてのデータがローカルで利用可能になります。
  • Amazon S3バケットにリンクしたAmazon FSx for Lustreファイルシステムを作成し、これをSageMakerトレーニングジョブのデータソースとして指定して各トレーニングインスタンスにマウントします。データはローカルストレージにダウンロードされず、低レイテンシーかつ高スループットでアクセスできます。
解説 頻出度★★★★
この問題は、「50TB 超 × 分散 GPU トレーニング × 高スループット/低レイテンシー × ローカルストレージ最小化」の要件で、S3 にリンクした Amazon FSx for Lustre をマウントする構成を選べるかがポイント。File モードの全ダウンロードでも、Pipe のシーケンシャルストリーミングでも、EFS でもない。

A. SageMakerのPipe入力モードを選択し、Amazon S3からデータを直接ストリーミングすることで、トレーニングインスタンスのローカルストレージを節約しつつ、モデルがデータの処理を即座に開始できるようにします。

Pipe モードは S3 から名前付きパイプ経由でデータをシーケンシャルにストリーミングするため、ローカルストレージを節約でき、トレーニング開始も早い。ここまでは要件に合う。
しかし Pipe はランダムアクセスができず、各パイプは 1 プロセスからしか読めない。数千万枚の画像をエポックごとにシャッフルして読み込むような分散 GPU トレーニングでは、FSx for Lustre のような並列ファイルシステムにスループット・レイテンシーの両面で及ばない
「データ I/O をボトルネックにしない」という要件を満たす最善手ではない。

B. SageMakerのFile入力モードを使用し、Amazon EFSをマウントしてデータセットをトレーニングインスタンス間で共有します。これにより、分散トレーニング時にもすべてのインスタンスからデータにアクセス可能になります。

Amazon EFS も File モードでマウントでき、インスタンス間でデータを共有できるため一見要件を満たすように見える。
しかし EFS は汎用の共有 NFS ファイルシステムであり、数十 TB 規模の学習データに対する超高スループット・低レイテンシーの並列 I/Oという用途では FSx for Lustre に劣る。FSx for Lustre は HPC/ML 向けに数百 GB/秒のスループットと数百万 IOPS を提供する設計で、AWS も大規模トレーニングにはこちらを推奨している。
さらにデータはすでに S3 にあるため、S3 とリンクできる FSx for Lustre のほうが構成としても自然(EFS には事前にデータを転送しておく必要がある)。

C. SageMakerのFile入力モードを選択し、Amazon S3から全データセットをトレーニングインスタンスのローカルストレージにダウンロードしてからトレーニングを開始します。これにより、トレーニング中にすべてのデータがローカルで利用可能になります。

File モードで S3 から全データをダウンロードする方式は、トレーニング開始前に50TB をローカルストレージにコピーし終える必要がある
ダウンロードだけで膨大な時間がかかり、そもそも「ローカルストレージ消費を最小限に抑えたい」という要件に真っ向から反する。インスタンスの EBS 容量も巨大化し、コストも跳ね上がる。
データセットが小さい場合の既定モードであって、本問の規模には不適。

正解

D. Amazon S3バケットにリンクしたAmazon FSx for Lustreファイルシステムを作成し、これをSageMakerトレーニングジョブのデータソースとして指定して各トレーニングインスタンスにマウントします。データはローカルストレージにダウンロードされず、低レイテンシーかつ高スループットでアクセスできます。

Amazon S3 バケットをデータリポジトリとしてリンクした FSx for Lustre を作成し、トレーニングジョブのデータソースに指定すると、SageMaker が各トレーニングインスタンスにファイルシステムをマウントする。データはローカルにダウンロードされないため、ローカルストレージをほとんど消費しない
マウント自体はデータセットサイズに依存せず高速で、トレーニング開始までの待ち時間も短い。FSx for Lustre は数百 GB/秒のスループットと数百万 IOPS、ミリ秒未満のレイテンシーを提供する並列ファイルシステムで、複数 GPU インスタンスからの同時ランダムアクセスに耐えられる。
「50TB 超」「複数 GPU での分散トレーニング」「I/O をボトルネックにしない」「ローカルストレージ最小化」というすべての要件を同時に満たす唯一の選択肢。

構成図

Amazon S3(医療画像 50TB 超)
   │ データリポジトリとしてリンク
   ▼
Amazon FSx for Lustre(高スループット・低レイテンシー)
   ├── マウント ──▶ GPU インスタンス 1
   ├── マウント ──▶ GPU インスタンス 2
   └── マウント ──▶ GPU インスタンス N
            (ローカルへのダウンロードなし)
これだけ覚える(記憶フック)
大規模データ × 分散トレーニングの I/O 最適解は FSx for Lustre。File=全ダウンロード、Pipe=逐次ストリーム、FastFile=S3 専用。
正解への思考ルート 問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。
要件 判断ポイント
合計 50TB 超・数千万枚のデータセット 全量をローカルへダウンロードする File モード(S3)は非現実的。ダウンロード時間もストレージ容量も破綻する
→選択肢(C)を消す
トレーニングインスタンスのローカルストレージ消費を最小限にしたい ストリーミング(Pipe)かマウント(FSx / EFS)のいずれかに絞られる
→選択肢(A・B・D)は候補
複数 GPU インスタンスで分散トレーニングし、I/O をボトルネックにしない Pipe はシーケンシャル読み出し専用でランダムアクセス不可。並列ファイルシステムのほうが有利
→選択肢(A)を消す
高いスループットと低レイテンシー EFS は汎用の共有ファイルシステム。数百 GB/秒・数百万 IOPS の FSx for Lustre が大規模 ML トレーニングの定番
→選択肢(B)を消す/選択肢(D)が正解
データはすでに Amazon S3 にある FSx for Lustre は S3 をデータリポジトリとしてリンクでき、S3 のデータをそのまま高速に読み出せる
→選択肢(D)が正解
ひっかけポイント
  • FastFile モードのデータソースは Amazon S3(および S3 Express One Zone)だけ。「FastFile + FSx for Lustre」という組み合わせは存在せず、FSx for Lustre / EFS はFile モードでマウントして使う。入力モードとデータソースを混同させるのが典型的なひっかけ
  • 「File モード=必ずローカルへ全ダウンロード」ではない。S3 が相手のときはダウンロード、FSx/EFS が相手のときはマウントで、ローカルストレージを消費しない点に注意
  • Pipe モードは「ローカルストレージ節約」「開始が早い」という点だけ見ると魅力的だが、ランダムアクセスできないのが決定的な弱点。画像のシャッフル読み込みには向かない
  • EFS も「共有できる」「マウントできる」ため正解に見えるが、ML の大規模トレーニング I/O では FSx for Lustre が推奨。「共有できるか」ではなく「必要なスループット/レイテンシーが出るか」で判断する
  • FSx for Lustre は単一 AZ・VPC 接続が前提。トレーニングジョブを同じ AZ のサブネットに配置する必要があり、この設定の手間を問う出題もある
出題バリエーション 同じ知識が本番では条件を変えて出題されます。
問題文がこう変わったら 正解はこう変わる
「データセットは数 GB 程度で、まずは手軽に試したい」 既定の File 入力モード(S3 からダウンロード)で十分。FSx は過剰。
「大規模データだがFSx の準備(VPC・AZ 設定)はしたくない。S3 のまま扱いたい」 FastFile 入力モード(S3 をファイルシステムのように見せ、オンデマンドで読み出す)が正解軸に。
「データは TFRecord / RecordIO 形式でシーケンシャルに読むだけ」 Pipe 入力モードが有力な選択肢になる。
「同じデータセットで何度もトレーニングジョブを繰り返すので、毎回のロード時間を削りたい」 FSx for Lustre にデータをキャッシュして再利用する構成の優位性が問われる。
「一桁ミリ秒のレイテンシーが必要だが、S3 のまま使いたい」 Amazon S3 Express One Zone(ディレクトリバケット)+ FastFile / File モードが登場する。
関連サービスの解説 Amazon Elastic File System (Amazon EFS)
Amazon FSx
Amazon SageMaker
Amazon Simple Storage Service (Amazon S3)
リファレンス この問題を解くために必要な知識を扱う公式ドキュメントです。
知識項目 公式ドキュメント
SageMaker トレーニングの入力モード(File / Pipe / FastFile)とデータソース トレーニングデータにアクセスする - Amazon SageMaker AI
+ 質問 / コメント
解答・解説に疑問がある場合や、よりよい解説がある場合など、お気軽にコメントください。ただし、短文コメントは表示されません。また、中傷などコメントの内容によっては、会員機能を停止させて頂きます。教え学び合える場になれば嬉しいです。(コメント投稿にはログインが必要です)
正答率 62%
No.17 解説
製薬会社に所属するデータサイエンティストとして、医療画像診断AIモデルの大規模な機械学習プロジェクトに取り組んでいます。このプロジェクトでは、数千万枚に及ぶ高解像度医療画像(合計50TB超)をAmazon S3バケットに格納しています。モデルのトレーニングプロセスでは、複数のGPUインスタンスを効率的に活用し、データI/Oがボトルネックとならないよう、高いスループットと低レイテンシーで画像データにアクセスできる必要があります。また、トレーニングインスタンス上のローカルストレージ消費は最小限に抑えたいと考えています。Amazon SageMakerでトレーニングジョブを実行する際、これらの要件を満たすために最も適切なデータ入力モードとAWSストレージ構成はどれですか。
  • SageMakerのPipe入力モードを選択し、Amazon S3からデータを直接ストリーミングすることで、トレーニングインスタンスのローカルストレージを節約しつつ、モデルがデータの処理を即座に開始できるようにします。
  • SageMakerのFile入力モードを使用し、Amazon EFSをマウントしてデータセットをトレーニングインスタンス間で共有します。これにより、分散トレーニング時にもすべてのインスタンスからデータにアクセス可能になります。
  • SageMakerのFile入力モードを選択し、Amazon S3から全データセットをトレーニングインスタンスのローカルストレージにダウンロードしてからトレーニングを開始します。これにより、トレーニング中にすべてのデータがローカルで利用可能になります。
  • Amazon S3バケットにリンクしたAmazon FSx for Lustreファイルシステムを作成し、これをSageMakerトレーニングジョブのデータソースとして指定して各トレーニングインスタンスにマウントします。データはローカルストレージにダウンロードされず、低レイテンシーかつ高スループットでアクセスできます。

(会員限定)当問題の評価をお願いします。改善に活用します。