View a markdown version of this page

Configurar um trabalho de processamento do SageMaker Clarify - SageMaker IA da Amazon

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 trabalho de processamento do SageMaker Clarify

nota

O Amazon SageMaker Clarify não está mais aberto a novos clientes. Os clientes existentes podem continuar usando o serviço normalmente. AWS continua investindo em melhorias de segurança e disponibilidade para o Clarify, mas não planejamos introduzir novos recursos. Para obter mais informações, consulte Esclareça a mudança de disponibilidade.

Para analisar seus dados e modelos em busca de parcialidade 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.

  1. Insira o identificador uniforme de pesquisa (URI) de uma imagem de 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 de contêiner SageMaker Clarify pré-criada. ContainerEntrypointe não ContainerArguments são suportados. Para obter mais informações sobre as imagens do contêiner SageMaker Clarify, consulteContêineres SageMaker Clarify pré-construídos.

  2. Especifique a configuração para sua análise e os parâmetros para seu conjunto de dados de entrada dentro do parâmetro ProcessingInputs.

    1. 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 objeto ProcessingInput deve ser analysis_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.

    2. Especifique o local do conjunto de dados de entrada. O parâmetro InputName do objeto ProcessingInput deve ser dataset. 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ção S3Input.

      1. S3Uri pode ser um objeto do Amazon S3 ou um prefixo do S3.

      2. S3InputMode deve ser do tipo File.

      3. S3CompressionType deve ser do tipo None (o valor padrão).

      4. S3DataDistributionType deve ser do tipo FullyReplicated (o valor padrão).

      5. S3DataType pode ser S3Prefix ou ManifestFile. Para ser usadoManifestFile, o S3Uri parâmetro deve especificar a localização de um arquivo manifesto que segue o esquema da seção de referência da SageMaker API https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_S3DataSource.html#sagemaker-Type-S3DataSource-S3Uri 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" } }
  3. Especifique a configuração para a saída do trabalho de processamento dentro do parâmetro ProcessingOutputConfig. É necessário um único objeto ProcessingOutput na configuração Outputs. Os dados a seguir são obrigatórios na configuração de saída:

    1. OutputName deve ser analysis_result.

    2. S3Uri deve ser um prefixo do S3 para o local de saída.

    3. S3UploadMode deve ser definido como EndOfJob.

    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" } }] }
  4. Especifique a configuração ClusterConfig dos recursos que você usa em seu trabalho de processamento dentro do parâmetro ProcessingResources. Os seguintes parâmetros são obrigatórios dentro do objeto ClusterConfig:

    1. InstanceCount especifica o número de instâncias de computação no cluster que executa o trabalho de processamento. Especifique um valor maior que 1 para ativar o processamento distribuído.

    2. 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. O trabalho 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 } }
  5. 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.

    1. EnableNetworkIsolationdeve ser definido como False (padrão) para que o SageMaker Clarify possa invocar um endpoint, se necessário, para previsões.

    2. Se o modelo ou endpoint que você forneceu para o trabalho SageMaker Clarify estiver dentro de uma Amazon Virtual Private Cloud (Amazon VPC), o trabalho SageMaker Clarify também deverá estar na mesma VPC. Especifique a VPC usando VpcConfig. Além disso, a VPC deve ter endpoints para um bucket do Amazon S3, serviço de IA e SageMaker serviço SageMaker AI Runtime.

      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ê à 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": { ... } }
  6. Defina o tempo máximo em que o trabalho será executado usando o parâmetro StoppingCondition. O tempo máximo que um trabalho do SageMaker Clarify pode ser executado é de 7 dias ou 604800 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 }
  7. 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 SageMaker AIFullAccess gerenciada da Amazon, 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 pelo trabalho de processamento 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

    ListTags

    X

    As tags do trabalho são aplicadas ao endpoint de sombra.

    CreateEndpointConfig

    X

    Criar a configuração do endpoint usando o nome do modelo que você forneceu

    CreateEndpoint

    X

    Criar um endpoint de sombra usando a configuração do endpoint.

    DescribeEndpoint

    X

    X

    Descreva o endpoint quanto ao seu status, o endpoint deve ser InService para atender às solicitações.

    InvokeEndpoint

    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 um trabalho 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 um trabalho de processamento do SageMaker Clarify usando o AWS SDK para Python, consulte Justiça e explicabilidade com o SageMaker Clarify usando o SDK para Python. AWS Qualquer bucket do S3 usado no notebook deve estar na mesma AWS região da instância do notebook que o acessa.

Você também pode configurar um trabalho de processamento do SageMaker Clarify usando a SageMaker ClarifyProcessor API do SDK do SageMaker Python. Para obter mais informações, consulte Execute tarefas de processamento do SageMaker Clarify para análise de viés e explicabilidade.