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
AppSpecificationparâ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.
ContainerEntrypointe nãoContainerArgumentssã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
InputNamedo objetoProcessingInputdeve 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
InputNamedo objetoProcessingInputdeve 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.-
S3Uripode ser um objeto do Amazon S3 ou um prefixo do S3. -
S3InputModedeve ser do tipoFile. -
S3CompressionTypedeve ser do tipoNone(o valor padrão). -
S3DataDistributionTypedeve ser do tipoFullyReplicated(o valor padrão). -
S3DataTypepode serS3PrefixouManifestFile. Para ser usadoManifestFile, oS3Uriparâ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 objetoProcessingOutputna configuraçãoOutputs. Os dados a seguir são obrigatórios na configuração de saída:-
OutputNamedeve seranalysis_result. -
S3Urideve ser um prefixo do S3 para o local de saída. -
S3UploadModedeve 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
ClusterConfigdos recursos que você usa em seu trabalho de processamento dentro do parâmetroProcessingResources. Os seguintes parâmetros são obrigatórios dentro do objetoClusterConfig:-
InstanceCountespecifica o número de instâncias de computação no cluster que executa o trabalho de processamento. Especifique um valor maior que1para ativar o processamento distribuído. -
InstanceTyperefere-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.-
EnableNetworkIsolationdeve 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 é de7dias ou604800segundos. 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
Xabaixo 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