MLAMLワークフローのデプロイとオーケストレーション
小売業のデータサイエンスチームが、S3に保存された数百万件の顧客レコードに対してバッチ推論を実行しています。モデルは顧客の人口統計情報(顧客ID・年齢・地域など)を入力として受け取り、解約確率スコアのみを出力します。後続の分析チームは、元の入力特徴量と予測された解約スコアの両方を含む結合済み出力ファイルが必要です。チームはカスタムコードや追加の後処理ジョブを最小限に抑えながら、この要件を達成したいと考えています。最も適切な SageMaker Batch Transform の設定はどれですか?
ADataProcessing 設定で JoinSource=Input を指定し、InputFilter と OutputFilter を使用して入力と推論結果を結合して出力する
✓ 正解
SageMaker Batch Transform の DataProcessing パラメータには、JoinSource・InputFilter・OutputFilter の3つのオプションが含まれています。JoinSource=Input を設定すると、モデルへの入力レコードと推論結果が自動的に結合されて出力されます。InputFilter には推論コンテナに渡すフィールドの JSONPath(例:"$[1:]")を、OutputFilter には最終出力に含めるフィールドを指定できます。これにより、元の顧客属性と解約スコアを1つの出力レコードにまとめることができ、Glue ジョブや Lambda による後処理、追加の Processing ジョブを実装するコストや運用負荷を削減できます。
BBatch Transform 実行後に AWS Glue ETL ジョブを追加し、S3 上の入力ファイルと出力ファイルを結合する
Batch Transform 実行後に AWS Glue ETL ジョブを追加するのは追加の後処理ジョブが必要になるため、要件に合いません。
CS3 イベントをトリガーとする AWS Lambda 関数をデプロイし、入力 CSV と出力 CSV をレコード単位でマージする後処理を実装する
Lambda 関数をデプロイするのは実装コストが高く、DataProcessing 設定を使う方が簡潔です。
DSageMaker Processing ジョブを Batch Transform の後段に配置し、Pandas を使って入力特徴量と予測スコアを結合する
SageMaker Processing ジョブを使うのは過剰に複雑であり、DataProcessing 設定だけで十分です。
解説
正解:
DataProcessing 設定で JoinSource=Input を指定し、InputFilter と OutputFilter を使用して入力と推論結果を結合して出力する。
SageMaker Batch Transform の DataProcessing パラメータには、JoinSource・InputFilter・OutputFilter の3つのオプションが含まれています。JoinSource=Input を設定すると、モデルへの入力レコードと推論結果が自動的に結合されて出力されます。InputFilter には推論コンテナに渡すフィールドの JSONPath(例:"$[1:]")を、OutputFilter には最終出力に含めるフィールドを指定できます。これにより、元の顧客属性と解約スコアを1つの出力レコードにまとめることができ、Glue ジョブや Lambda による後処理、追加の Processing ジョブを実装するコストや運用負荷を削減できます。
選択肢Bは、Batch Transform 実行後に AWS Glue ETL ジョブを追加するのは追加の後処理ジョブが必要になるため、要件に合いません。
選択肢Cは、Lambda 関数をデプロイするのは実装コストが高く、DataProcessing 設定を使う方が簡潔です。
選択肢Dは、SageMaker Processing ジョブを使うのは過剰に複雑であり、DataProcessing 設定だけで十分です。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでMLAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →