翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SageMaker Clarify 処理ジョブを設定する
SageMaker Clarify を使用してデータとモデルのバイアスと説明可能性を分析するには、SageMaker Clarify 処理ジョブを設定する必要があります。このガイドでは、処理ジョブの入力データセット名、分析設定ファイル名、出力場所を指定する方法を示します。処理コンテナ、ジョブの入力、出力、リソース、その他のパラメータを設定するには、2 つのオプションがあります。SageMaker AI CreateProcessingJob
API を使用するか、SageMaker AI Python SDK API を使用できますSageMaker ClarifyProcessor
。
すべての処理ジョブに共通するパラメータの詳細については、「Amazon SageMaker API リファレンス」を参照してください。
以下の手順は、CreateProcessingJob
API を使用して SageMaker Clarify 固有の設定の各部分を指定する方法を示しています。
-
次のコード例に示すように、SageMaker Clarify コンテナイメージのユニフォームリサーチ識別子 (URI) を
AppSpecification
パラメータに入力します。{ "ImageUri": "
the-clarify-container-image-uri
" }注記
事前構築済みの SageMaker Clarify コンテナイメージは、URI で識別することができる必要があります。
ContainerEntrypoint
とContainerArguments
はサポートされていません。SageMaker Clarify コンテナイメージの詳細については、「構築済みの SageMaker Clarify コンテナ」を参照してください。 -
分析の設定と入力データセットのパラメータの両方を
ProcessingInputs
パラメータ内に指定します。-
バイアス分析と説明可能性分析のパラメータを含む JSON 分析設定ファイルの場所を指定します。
ProcessingInput
オブジェクトのInputName
パラメータは、次のコード例に示すとおりanalysis_config
でなければなりません。{ "InputName": "analysis_config", "S3Input": { "S3Uri": "
s3://your-bucket/analysis_config.json
", "S3DataType": "S3Prefix", "S3InputMode": "File", "LocalPath": "/opt/ml/processing/input/config
" } }分析設定ファイルのスキーマの詳細については、「分析設定ファイル」を参照してください。
-
入力データセットの場所を指定します。
ProcessingInput
オブジェクトのInputName
パラメータはdataset
でなければなりません。分析設定ファイルに "dataset_uri" を指定している場合、このパラメータはオプションです。S3Input
設定には以下の値が必要です。-
S3Uri
は Amazon S3 オブジェクトまたは S3 プレフィックスのいずれかになります。 -
S3InputMode
はFile
タイプでなければなりません。 -
S3CompressionType
はNone
タイプ (デフォルト値) でなければなりません。 -
S3DataDistributionType
はFullyReplicated
タイプ (デフォルト値) でなければなりません。 -
S3DataType
はS3Prefix
またはManifestFile
のいずれかになります。ManifestFile
を使用するには、S3Uri
パラメータに SageMaker API リファレンスセクション S3Uri のスキーマに従うマニフェストファイルの場所を指定する必要があります。このマニフェストファイルには、ジョブの入力データを含む S3 オブジェクトが一覧表示されている必要があります。
次のコードは、入力設定の例を示しています。
{ "InputName": "dataset", "S3Input": { "S3Uri": "
s3://your-bucket/your-dataset.csv
", "S3DataType": "S3Prefix", "S3InputMode": "File", "LocalPath": "/opt/ml/processing/input/data
" } } -
-
-
処理ジョブの出力設定を
ProcessingOutputConfig
パラメータ内に指定します。Outputs
設定にはProcessingOutput
オブジェクトが 1 つ必要です。出力設定には以下が必要です。-
OutputName
はanalysis_result
である必要があります。 -
S3Uri
は出力場所の S3 プレフィックスである必要があります。 -
S3UploadMode
をEndOfJob
に設定する必要があります。
次のコードは、出力設定の例を示しています。
{ "Outputs": [{ "OutputName": "analysis_result", "S3Output": { "S3Uri": "
s3://your-bucket/result/
", "S3UploadMode": "EndOfJob", "LocalPath": "/opt/ml/processing/output
" } }] } -
-
ProcessingResources
処理ジョブで使用するリソースの設定ClusterConfig
を パラメータ内に指定します。ClusterConfig
オブジェクト内では次のパラメータが必要です。-
InstanceCount
は処理ジョブを実行するクラスター内のコンピューティングインスタンスの数を指定します。分散処理を有効にするには、1 より大きい値を指定します。 -
InstanceType
は処理ジョブを実行するリソースを指します。SageMaker AI SHAP 分析は計算集約型であるため、コンピューティング用に最適化されたインスタンスタイプを使用すると、分析のランタイムが向上します。SageMaker Clarify の処理ジョブは GPU を使用しません。
次のコードは、リソース設定の例を示しています。
{ "ClusterConfig": { "InstanceCount":
1
, "InstanceType": "ml.m5.xlarge
", "VolumeSizeInGB":20
} } -
-
NetworkConfig
オブジェクト内の処理ジョブで使用するネットワークの設定を指定します。設定には以下の値が必要です。-
SageMaker Clarify が必要に応じて予測用のエンドポイントを呼び出せるように、
EnableNetworkIsolation
をFalse
(デフォルト) に設定する必要があります。 -
SageMaker Clarify ジョブに指定したモデルまたはエンドポイントが Amazon Virtual Private Cloud (Amazon VPC) 内にある場合、SageMaker Clarify ジョブも同じ VPC 内にある必要があります。VpcConfig を使用して VPC を指定します。さらに、VPC には Amazon S3 バケット、SageMaker AI サービス、SageMaker AI ランタイムサービスへのエンドポイントが必要です。
分散型処理が有効の場合、同じ処理ジョブ内の異なるインスタンス間の通信を許可する必要もあります。同じセキュリティグループのメンバー間のインバウンド接続を許可するセキュリティグループのルールを設定します。詳細については、「Amazon VPC のリソースへのアクセス権を Amazon SageMaker Clarify ジョブに付与する」を参照してください。
次のコードは、ネットワーク設定の例を示しています。
{ "EnableNetworkIsolation": False, "VpcConfig": { ... } }
-
-
StoppingCondition
パラメータを使用してジョブの最大実行時間を設定します。SageMaker Clarify ジョブが実行できる最長時間は7
日または604800
秒です。この制限時間内にジョブを完了できない場合、ジョブは停止され、分析結果は提供されません。例えば、以下の設定ではジョブを実行できる最大時間を 3600 秒に制限しています。{ "MaxRuntimeInSeconds": 3600 }
-
RoleArn
パラメータの IAM ロールを指定します。ロールには Amazon SageMaker AI との信頼関係が必要です。これを使用して、次の表に記載されている SageMaker API 操作を実行できます。Amazon SageMaker SageMaker AIFullAccess 管理ポリシーを使用することをお勧めします。 SageMaker このポリシーの詳細については、AWS マネージドポリシー: AmazonSageMakerFullAccess を参照してください。フルアクセス許可の付与について懸念がある場合、必要な最小限のアクセス許可は、モデル名とエンドポイント名のどちらを指定するかによって異なります。エンドポイント名を使用すると、SageMaker AI に付与するアクセス許可を減らすことができます。以下の表には、SageMaker Clarify 処理ジョブで使用される API 操作が記載されています。モデル名とエンドポイント名の下の
X
は、各入力に必要な API 操作を示しています。API 操作 モデル名 エンドポイント名 使用目的 X
ジョブのタグがシャドウエンドポイントに適用されます。
X
指定したモデル名を使用してエンドポイント設定を作成します。
X
エンドポイント設定を使用してシャドウエンドポイントを作成します。
X
X
エンドポイントのステータスを記述します。リクエストを処理するには、エンドポイントが InService である必要があります。
X
X
予測用のエンドポイントを呼び出します。
必要なアクセス許可の詳細については、「Amazon SageMaker AI API のアクセス許可: アクション、アクセス許可、リソースのリファレンス」を参照してください。
SageMaker AI にロールを渡す方法の詳細については、「」を参照してくださいロールを渡す。
処理ジョブの設定を個別に作成したら、それらを組み合わせてジョブを設定します。
以下のコード例は、AWS SDK for Python
sagemaker_client.create_processing_job( ProcessingJobName="
your-clarify-job-name
", AppSpecification={ "ImageUri": "the-clarify-container-image-uri
", }, ProcessingInputs=[{ "InputName": "analysis_config", "S3Input": { "S3Uri": "s3://your-bucket/analysis_config.json
", "S3DataType": "S3Prefix", "S3InputMode": "File", "LocalPath": "/opt/ml/processing/input/config
", }, }, { "InputName": "dataset", "S3Input": { "S3Uri": "s3://your-bucket/your-dataset.csv
", "S3DataType": "S3Prefix", "S3InputMode": "File", "LocalPath": "/opt/ml/processing/input/data
", }, }, ], ProcessingOutputConfig={ "Outputs": [{ "OutputName": "analysis_result", "S3Output": { "S3Uri": "s3://your-bucket/result/
", "S3UploadMode": "EndOfJob", "LocalPath": "/opt/ml/processing/output
", }, }], }, ProcessingResources={ "ClusterConfig": { "InstanceCount":1
, "InstanceType": "ml.m5.xlarge
", "VolumeSizeInGB":20
, }, }, NetworkConfig={ "EnableNetworkIsolation": False, "VpcConfig": { ... }, }, StoppingCondition={ "MaxRuntimeInSeconds":3600
, }, RoleArn="arn:aws:iam::<your-account-id>:role/service-role/AmazonSageMaker-ExecutionRole
", )
AWS SDK for Python を使用して SageMaker Clarify 処理ジョブを実行する手順を示すサンプルノートブックについては、AWS 「 SDK for Python を使用した SageMaker Clarify での公平性と説明可能性
SageMaker Python SDK API の SageMaker ClarifyProcessor