無限ノック › MLA 練習問題一覧 › 問題
MLA機械学習のためのデータ準備

MLエンジニアが、Amazon S3上の50GBのテキストデータに対してNLTK(自然言語処理ライブラリ)によるトークナイズとscikit-learnによる特徴量スケーリングを行うカスタムPythonスクリプトを実行し、前処理済みデータをS3に保存した後にSageMaker Training Jobに渡す必要があります。SageMaker Pipelinesへの組み込みやすさと依存ライブラリの確実な管理を最優先にした場合、最適な方法はどれですか?

A
SageMaker Processing JobにNLTKとscikit-learnを含むカスタムDockerコンテナを指定し、S3の入出力パスを設定して実行する
✓ 正解
SageMaker Processing Jobはカスタムコンテナ指定でNLTKやscikit-learnの依存ライブラリを確実に管理でき、S3の入出力を自動マウントします。SageMaker PipelinesのProcessingStepとして容易に組み込め、50GB規模の大規模データに対して再現性の高い前処理パイプラインを構築できます。
B
SageMaker Studio Notebookのターミナルでスクリプトを手動実行し、完了後にAWS CLIで結果をS3にアップロードする
SageMaker Studio Notebookのターミナルでの手動実行は探索的な分析には有効ですが、自動化や再現性に欠けSageMaker Pipelinesのステップとして組み込めないため、パイプラインへの組み込みやすさと依存ライブラリの管理を最優先する要件を満たしません。
C
AWS LambdaにNLTKとscikit-learnを含むカスタムLayerを追加し、50GBのデータ前処理をLambda関数として実行する
AWS Lambdaは最大実行時間15分・メモリ10GBの制限があり、50GBのテキストデータに対してNLTKによるトークナイズとscikit-learnによるスケーリングを実行するには容量・時間ともに不足します。大規模データ処理にはProcessing Jobが適切です。
D
SageMaker Data WranglerのカスタムTransformブロックにNLTKとscikit-learnのロジックを記述して前処理フローを構築する
SageMaker Data WranglerはGUIベースのデータ変換ツールでカスタムTransformブロックはPandasを前提としています。NLTKやscikit-learnのカスタムスクリプトを50GB規模のデータに適用するには処理効率とメモリの面で不向きで、依存ライブラリの確実な管理も困難です。

解説

SageMaker Processing Jobはカスタムコンテナで任意の依存ライブラリ(NLTK・scikit-learn)を確実に管理でき、S3の入出力を自動的にコンテナにマウントします。SageMaker Pipelinesの ProcessingStep として容易に組み込め、再現性の高いMLパイプラインを実現できます。 選択肢Bは、SageMaker Studio Notebookでの手動実行は自動化・再現性に欠け、SageMaker Pipelinesへのステップ組み込みができないため本番前処理パイプラインには不適切です。 選択肢Cは、AWS Lambdaは最大実行時間15分・メモリ10GBの制限があり、50GBのデータ処理には容量・時間ともに不足します。 選択肢Dは、Data WranglerのカスタムTransformはPandasベースで、NLTKやscikit-learnのカスタムスクリプトを50GB規模のデータに適用するには処理効率の面で不向きです。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでMLAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← MLA の問題一覧に戻る