As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Configurar um SageMaker Clarify Processing Job
Para analisar seus dados e modelos em busca de viés e explicabilidade usando o SageMaker Clarify, você deve configurar um trabalho de processamento do SageMaker Clarify. Este guia mostra como especificar o nome do conjunto de dados de entrada, o nome do arquivo de configuração de análise e o local de saída para um trabalho de processamento. Para configurar o contêiner de processamento, entradas, saídas, recursos e outros parâmetros de trabalhos, você tem duas opções. Você pode usar a CreateProcessingJob
API SageMaker AI ou usar a API SageMaker AI Python SDK, SageMaker ClarifyProcessor
Para obter informações sobre parâmetros que são comuns a todos os trabalhos de processamento, consulte Amazon SageMaker API Reference.
As instruções a seguir mostram como fornecer cada parte da configuração específica do SageMaker Clarify usando a CreateProcessingJob
API.
-
Insira o identificador uniforme de pesquisa (URI) de uma imagem do contêiner SageMaker Clarify dentro do
AppSpecification
parâmetro, conforme mostrado no exemplo de código a seguir.{ "ImageUri": "
the-clarify-container-image-uri
" }nota
O URI deve identificar uma imagem pré-criada do contêiner SageMaker Clarify.
ContainerEntrypoint
e nãoContainerArguments
são compatíveis. Para obter mais informações sobre imagens de contêiner do SageMaker Clarify, consulteContêineres SageMaker Clarify pré-construídos. -
Especifique a configuração para sua análise e os parâmetros para seu conjunto de dados de entrada dentro do parâmetro
ProcessingInputs
.-
Especifique a localização do arquivo de configuração de análise JSON, que inclui os parâmetros para análise de desvio e análise de explicabilidade. O parâmetro
InputName
do objetoProcessingInput
deve seranalysis_config
, conforme mostrado no exemplo de código a seguir.{ "InputName": "analysis_config", "S3Input": { "S3Uri": "
s3://your-bucket/analysis_config.json
", "S3DataType": "S3Prefix", "S3InputMode": "File", "LocalPath": "/opt/ml/processing/input/config
" } }Para obter mais informações sobre o esquema do arquivo de configuração da análise, consulte Arquivos de configuração de análise.
-
Especifique o local do conjunto de dados de entrada. O parâmetro
InputName
do objetoProcessingInput
deve serdataset
. Esse parâmetro é opcional se você tiver fornecido o “dataset_uri” no arquivo de configuração da análise. Os valores a seguir são obrigatórios na configuraçãoS3Input
.-
S3Uri
pode ser um objeto do Amazon S3 ou um prefixo do S3. -
S3InputMode
deve ser do tipoFile
. -
S3CompressionType
deve ser do tipoNone
(o valor padrão). -
S3DataDistributionType
deve ser do tipoFullyReplicated
(o valor padrão). -
S3DataType
pode serS3Prefix
ouManifestFile
. Para ser usadoManifestFile
, oS3Uri
parâmetro deve especificar a localização de um arquivo de manifesto que segue o esquema da seção Referência da SageMaker API S3Uri. Esse arquivo manifesto deve listar os objetos do S3 que contêm os dados de entrada para o trabalho.
O código a seguir mostra um exemplo de configuração da entrada.
{ "InputName": "dataset", "S3Input": { "S3Uri": "
s3://your-bucket/your-dataset.csv
", "S3DataType": "S3Prefix", "S3InputMode": "File", "LocalPath": "/opt/ml/processing/input/data
" } } -
-
-
Especifique a configuração para a saída do trabalho de processamento dentro do parâmetro
ProcessingOutputConfig
. É necessário um único objetoProcessingOutput
na configuraçãoOutputs
. Os dados a seguir são obrigatórios na configuração de saída:-
OutputName
deve seranalysis_result
. -
S3Uri
deve ser um prefixo do S3 para o local de saída. -
S3UploadMode
deve ser definido comoEndOfJob
.
O código a seguir mostra um exemplo de configuração de saída.
{ "Outputs": [{ "OutputName": "analysis_result", "S3Output": { "S3Uri": "
s3://your-bucket/result/
", "S3UploadMode": "EndOfJob", "LocalPath": "/opt/ml/processing/output
" } }] } -
-
Especifique a configuração
ClusterConfig
dos recursos que você usa em seu trabalho de processamento dentro do parâmetroProcessingResources
. Os seguintes parâmetros são obrigatórios dentro do objetoClusterConfig
:-
InstanceCount
especifica o número de instâncias de computação no cluster que executa o trabalho de processamento. Especifique um valor maior que1
para ativar o processamento distribuído. -
InstanceType
refere-se aos recursos que executam seu trabalho de processamento. Como a análise do SageMaker AI SHAP exige muita computação, o uso de um tipo de instância otimizado para computação deve melhorar o tempo de execução da análise. A tarefa de processamento do SageMaker Clarify não usa GPUs.
O código a seguir mostra um exemplo de configuração de recursos.
{ "ClusterConfig": { "InstanceCount":
1
, "InstanceType": "ml.m5.xlarge
", "VolumeSizeInGB":20
} } -
-
Especifique a configuração da rede que você usa em seu trabalho de processamento dentro do objeto
NetworkConfig
. Os valores a seguir são obrigatórios na configuração.-
EnableNetworkIsolation
deve ser definido comoFalse
(padrão) para que o SageMaker Clarify possa invocar um endpoint, se necessário, para previsões. -
Se o modelo ou endpoint que você forneceu para o trabalho do SageMaker Clarify estiver dentro de uma Amazon Virtual Private Cloud (Amazon VPC), o trabalho SageMaker do Clarify também deverá estar na mesma VPC. Especifique a VPC usando. VpcConfig Além disso, a VPC deve ter endpoints para um bucket Amazon S3, serviço de IA e serviço SageMaker AI Runtime. SageMaker
Se o processamento distribuído estiver ativado, você precisará permitir a comunicação entre as diferentes instâncias no mesmo trabalho de processamento. Configure uma regra para seu grupo de segurança que permita conexões de entrada entre membros do mesmo grupo de segurança. Para obter mais informações, consulte Dê ao Amazon SageMaker Clarify Jobs acesso aos recursos em sua Amazon VPC.
O código a seguir mostra um exemplo de uma configuração de rede.
{ "EnableNetworkIsolation": False, "VpcConfig": { ... } }
-
-
Defina o tempo máximo em que o trabalho será executado usando o parâmetro
StoppingCondition
. O tempo máximo que uma tarefa do SageMaker Clarify pode ser executada é de7
dias ou604800
segundos. Se o trabalho não puder ser concluído dentro desse prazo, ele será interrompido e nenhum resultado de análise será fornecido. Como exemplo, a configuração a seguir limita o tempo máximo que o trabalho pode ser executado a 3600 segundos.{ "MaxRuntimeInSeconds": 3600 }
-
Especifique um perfil do IAM para o parâmetro
RoleArn
. A função deve ter uma relação de confiança com a Amazon SageMaker AI. Ele pode ser usado para realizar as operações de SageMaker API listadas na tabela a seguir. Recomendamos usar a política gerenciada do Amazon SageMaker AIFull Access, que concede acesso total à SageMaker IA. Para obter mais informações sobre essa política, consulte AWS política gerenciada: AmazonSageMakerFullAccess. Se você tiver dúvidas sobre a concessão de acesso total, as permissões mínimas necessárias dependerão de você fornecer um modelo ou um nome de endpoint. Usar um nome de endpoint permite conceder menos permissões à SageMaker IA.A tabela a seguir contém as operações de API usadas pela tarefa de processamento do SageMaker Clarify. Um
X
abaixo do nome do modelo e do nome do endpoint indica a operação de API que é necessária para cada entrada.Operação de API Nome do modelo Nome do endpoint Para que é usado X
As tags do trabalho são aplicadas ao endpoint de sombra.
X
Criar a configuração do endpoint usando o nome do modelo que você forneceu
X
Criar um endpoint de sombra usando a configuração do endpoint.
X
X
Descreva o endpoint por seu status, o endpoint deve ser InService para atender às solicitações.
X
X
Invoque o endpoint para fazer predições.
Para obter mais informações sobre as permissões necessárias, consulte Permissões da API Amazon SageMaker AI: referência de ações, permissões e recursos.
Para obter mais informações sobre a transferência de funções para a SageMaker IA, consultePerfis de aprovação.
Depois de configurar as partes individuais do trabalho de processamento, combine-as para configurar o trabalho.
O exemplo de código a seguir mostra como iniciar uma tarefa de processamento do SageMaker Clarify usando o AWS SDK para 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
", )
Para ver um exemplo de notebook com instruções para executar uma tarefa de processamento do SageMaker Clarify usando o AWS SDK para Python, consulte Imparcialidade e explicabilidade com o SageMaker Clarify
Você também pode configurar uma tarefa de processamento do SageMaker Clarify usando a SageMaker ClarifyProcessor