翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SageMaker Clarify 処理ジョブを設定する
SageMaker Clarify を使用してデータとモデルをバイアスと説明可能性について分析するには、 SageMaker Clarify 処理ジョブを設定する必要があります。このガイドでは、処理ジョブの入力データセット名、分析設定ファイル名、出力場所を指定する方法を示します。処理コンテナ、ジョブの入力、出力、リソース、その他のパラメータを設定するには、2 つのオプションがあります。を使用する SageMaker CreateProcessingJob
かAPI、Python SDK API を使用します SageMakerSageMaker ClarifyProcessor
。
すべての処理ジョブに共通するパラメータの詳細については、「Amazon SageMaker API リファレンス」を参照してください。
以下の手順は、 CreateProcessingJob
を使用して SageMaker Clarify 固有の設定の各部分を提供する方法を示していますAPI。
-
次のコード例に示すように、
AppSpecification
パラメータ内に SageMaker Clarify コンテナイメージのユニフォームリサーチ識別子 (URI) を入力します。{ "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
パラメータで、リファレンスセクション S3Uri の SageMaker APIスキーマに従うマニフェストファイルの場所を指定する必要があります。このマニフェストファイルには、ジョブの入力データを含む 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 SHAP、コンピューティングに最適化されたインスタンスタイプを使用すると、分析のランタイムが向上します。 SageMaker Clarify 処理ジョブは を使用しませんGPUs。
次のコードは、リソース設定の例を示しています。
{ "ClusterConfig": { "InstanceCount":
1
, "InstanceType": "ml.m5.xlarge
", "VolumeSizeInGB":20
} } -
-
NetworkConfig
オブジェクト内の処理ジョブで使用するネットワークの設定を指定します。設定には以下の値が必要です。-
EnableNetworkIsolation
はFalse
(デフォルト) に設定する必要があります。これにより、 SageMaker Clarify は必要に応じて予測のためにエンドポイントを呼び出すことができます。 -
SageMaker Clarify ジョブに提供したモデルまたはエンドポイントが Amazon Virtual Private Cloud (Amazon VPC) 内にある場合、 SageMaker Clarify ジョブも同じ にある必要がありますVPC。VPC を使用して を指定しますVpcConfig。さらに、 には Amazon S3 バケット、 SageMaker サービス、 SageMaker ランタイムサービスのエンドポイントVPCが必要です。
分散型処理が有効の場合、同じ処理ジョブ内の異なるインスタンス間の通信を許可する必要もあります。同じセキュリティグループのメンバー間のインバウンド接続を許可するセキュリティグループのルールを設定します。詳細については、「Amazon SageMaker Clarify Jobs に Amazon のリソースへのアクセスを許可する VPC」を参照してください。
次のコードは、ネットワーク設定の例を示しています。
{ "EnableNetworkIsolation": False, "VpcConfig": { ... } }
-
-
StoppingCondition
パラメータを使用してジョブの最大実行時間を設定します。 SageMaker Clarify ジョブが実行できる最長期間は、7
日または604800
秒です。この制限時間内にジョブを完了できない場合、ジョブは停止され、分析結果は提供されません。例えば、以下の設定ではジョブを実行できる最大時間を 3600 秒に制限しています。{ "MaxRuntimeInSeconds": 3600 }
-
RoleArn
パラメータのIAMロールを指定します。ロールには Amazon との信頼関係が必要です SageMaker。次の表に示す SageMaker API操作を実行するために使用できます。へのフルアクセスを許可する Amazon SageMakerFullAccess マネージドポリシーを使用することをお勧めします SageMaker。このポリシーの詳細については、AWS マネージドポリシー: AmazonSageMakerFullAccess を参照してください。フルアクセス許可の付与について懸念がある場合、必要な最小限のアクセス許可は、モデル名とエンドポイント名のどちらを指定するかによって異なります。エンドポイント名を使用すると、 に付与するアクセス許可が減ります SageMaker。次の表に、 SageMaker Clarify 処理ジョブで使用されるAPIオペレーションを示します。モデル名とエンドポイント名
X
の下には、各入力に必要なAPIオペレーションが記述されます。API オペレーション モデル名 エンドポイント名 使用目的 X
ジョブのタグがシャドウエンドポイントに適用されます。
X
指定したモデル名を使用してエンドポイント設定を作成します。
X
エンドポイント設定を使用してシャドウエンドポイントを作成します。
X
X
エンドポイントのステータスを記述します。エンドポイントはリクエスト InService を処理する必要があります。
X
X
予測用のエンドポイントを呼び出します。
必要なアクセス許可の詳細については、「Amazon SageMaker API アクセス許可: アクション、アクセス許可、リソースリファレンス」を参照してください。
にロールを渡す方法の詳細については SageMaker、「」を参照してくださいロールを渡す。
処理ジョブの設定を個別に作成したら、それらを組み合わせてジョブを設定します。
次のコード例は、 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
", )
for Python を使用して SageMaker Clarify 処理ジョブを実行する手順が記載されたノートブックの例については、 AWS SDK「for Python を使用して AWS SDK SageMaker Clarify で公平性と説明可能性
SageMaker ClarifyProcessor