翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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