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

ML エンジニアリングチームは statsmodels と pmdarima を使用した独自の時系列特徴量エンジニアリングスクリプトを保有しています。 このスクリプトを月次で S3 上の 300GB データに対して実行し、SageMaker トレーニングジョブの入力として使いたいと考えています。 スクリプトの改修を最小限にしつつインフラ管理を抑えてスケーラブルに実行できる最も適切な方法はどれですか。

A
statsmodels と pmdarima を Lambda Layer にパッケージングし、AWS Lambda 関数で月次スケジュール実行して S3 に結果を保存する
AWS Lambda は最大 15 分の実行時間制限とデプロイパッケージ 250MB の制限があり、300GB のデータ処理や statsmodels・pmdarima のような依存ライブラリが大きいケースには対応できない。スケーラビリティにも欠ける。
B
カスタム Docker コンテナに statsmodels・pmdarima をインストールして ECR に登録し、SageMaker Processing Job の BYOC として実行する
✓ 正解
SageMaker Processing Jobs の BYOC はカスタム Docker コンテナを ECR に登録して実行環境として使用できる。スクリプト変更不要で任意ライブラリを利用でき、S3 入出力の自動マウント・分散処理対応・SageMaker Pipelines への統合が可能でインフラ管理負荷が最小。
C
AWS Glue ETL ジョブを作成して Spark 互換 API に全面書き直しを行い、マネージド Spark クラスターで月次バッチ処理する
AWS Glue ETL は Apache Spark 基盤のサービスであり、statsmodels・pmdarima は Spark の分散処理モデルに対応していないため既存スクリプトを Spark API に全面書き直す必要があり、改修最小化の要件に反する。
D
EC2 インスタンスを月次スケジュールで起動してスクリプトをそのまま実行し、結果を S3 に出力してからインスタンスを停止する
EC2 を月次で手動起動・停止する方法はスクリプト変更が不要だが、インスタンス管理・監視・障害対応・停止忘れ防止など運用タスクが発生し、マネージドな SageMaker Processing Job と比較してインフラ管理負荷が高い。

解説

SageMaker Processing Jobs は BYOC(Bring Your Own Container)をサポートしており、ECR に登録したカスタム Docker コンテナをそのまま実行環境として使用できる。statsmodels・pmdarima などの任意ライブラリを含む環境でスクリプトの変更なしに実行でき、分散処理(複数インスタンス設定)も可能。S3 との入出力が自動でマウントされ、SageMaker Pipelines への組み込みも容易でインフラ管理が最小化される。 選択肢Aの AWS Lambda は実行時間が最大 15 分・デプロイパッケージが最大 250MB という制限があり、300GB データの処理や statsmodels/pmdarima のような重厚な依存ライブラリには対応できない。 選択肢Cの AWS Glue ETL は Spark ベースのサービスであり、statsmodels・pmdarima は Spark 分散処理に非対応なため Spark API への大幅な書き直しが必要となり、スクリプト改修最小化の要件に反する。 選択肢Dの EC2 インスタンス運用はスクリプト変更が不要だが、インスタンス管理・起動スクリプト・障害対応など手動運用が必要で、SageMaker Processing Job と比較してインフラ管理負荷が高い。

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

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

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