Configurar un trabajo de SageMaker procesamiento de Clarify - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configurar un trabajo de SageMaker procesamiento de Clarify

Para analizar sus datos y modelos en busca de sesgos y explicabilidad con SageMaker Clarify, debe configurar un trabajo de procesamiento de SageMaker Clarify. Esta guía muestra cómo especificar el nombre del conjunto de datos de entrada, el nombre del archivo de configuración de análisis y la ubicación de salida de un trabajo de procesamiento. Para configurar el contenedor de procesamiento, las entradas, las salidas, los recursos y otros parámetros del trabajo, tiene dos opciones. Puedes usar la SageMaker CreateProcessingJob API o usar la API del SDK de SageMaker PythonSageMaker ClarifyProcessor,

Para obtener información sobre los parámetros que son comunes a todos los trabajos de procesamiento, consulta Amazon SageMaker API Reference.

Las siguientes instrucciones muestran cómo proporcionar cada parte de la configuración específica SageMaker de Clarify mediante la CreateProcessingJob API.

  1. Introduzca el identificador de investigación uniforme (URI) de una imagen de SageMaker contenedor de Clarify dentro del AppSpecification parámetro, como se muestra en el siguiente ejemplo de código.

    { "ImageUri": "the-clarify-container-image-uri" }
    nota

    El URI debe identificar una imagen de contenedor de SageMaker Clarify prediseñada. ContainerEntrypointy no ContainerArguments son compatibles. Para obtener más información sobre las imágenes SageMaker de contenedores de Clarify, consulteComience con un contenedor de SageMaker Clarify.

  2. Especifique tanto la configuración del análisis como los parámetros del conjunto de datos de entrada dentro del parámetro ProcessingInputs.

    1. Especifique la ubicación del archivo de configuración del análisis JSON, que incluye los parámetros para el análisis del sesgo y el análisis de explicabilidad. El parámetro InputName del objeto ProcessingInput debe ser analysis_config como se muestra en el siguiente ejemplo de código.

      { "InputName": "analysis_config", "S3Input": { "S3Uri": "s3://your-bucket/analysis_config.json", "S3DataType": "S3Prefix", "S3InputMode": "File", "LocalPath": "/opt/ml/processing/input/config" } }

      Para obtener más información sobre el esquema del archivo de configuración de análisis, consulteConfiguración del análisis.

    2. Especifique la ubicación del conjunto de datos de entrada. El parámetro InputName del objeto ProcessingInput debe ser dataset. Este parámetro es opcional si ha proporcionado el “dataset_uri” en el archivo de configuración del análisis. Los siguientes valores son obligatorios en la configuración de S3Input.

      1. S3Uri puede ser un objeto de Amazon S3 o un prefijo de S3.

      2. S3InputMode debe ser del tipo File.

      3. S3CompressionType debe ser del tipo None (el valor predeterminado).

      4. S3DataDistributionType debe ser del tipo FullyReplicated (el valor predeterminado).

      5. S3DataType puede ser S3Prefix o ManifestFile. Para usarloManifestFile, el S3Uri parámetro debe especificar la ubicación de un archivo de manifiesto que siga el esquema de la sección de referencia de la SageMaker API S3Uri. Este archivo de manifiesto debe enumerar los objetos de S3 que contienen los datos de entrada para el trabajo.

      En el siguiente código se muestra un ejemplo de configuración de entrada.

      { "InputName": "dataset", "S3Input": { "S3Uri": "s3://your-bucket/your-dataset.csv", "S3DataType": "S3Prefix", "S3InputMode": "File", "LocalPath": "/opt/ml/processing/input/data" } }
  3. Especifique la configuración de la salida del trabajo de procesamiento dentro del parámetro ProcessingOutputConfig. Se requiere un único objeto ProcessingOutput en la configuración de Outputs. La configuración de salida requiere lo siguiente:

    1. OutputName debe ser analysis_result.

    2. S3Uri debe ser un prefijo de S3 para la ubicación de salida.

    3. S3UploadMode se debe establecer en EndOfJob.

    En el siguiente código se muestra un ejemplo de configuración de salida.

    { "Outputs": [{ "OutputName": "analysis_result", "S3Output": { "S3Uri": "s3://your-bucket/result/", "S3UploadMode": "EndOfJob", "LocalPath": "/opt/ml/processing/output" } }] }
  4. Especifique la configuración ClusterConfig de los recursos que utiliza en el trabajo de procesamiento dentro del parámetro ProcessingResources. Se requieren los siguientes parámetros dentro del objeto ClusterConfig.

    1. InstanceCount especifica el número de instancias de computación del clúster que ejecuta el trabajo de procesamiento. Para trabajos de procesamiento distribuido, especifique un valor mayor que 1.

    2. InstanceType hace referencia a los recursos que ejecuta su trabajo de procesamiento. Como el análisis SageMaker SHAP requiere un uso intensivo de recursos informáticos, el uso de un tipo de instancia que esté optimizado para el procesamiento debería mejorar el tiempo de ejecución del análisis. El trabajo de SageMaker procesamiento de Clarify no utiliza GPU.

    En el siguiente código se muestra un ejemplo de configuración de recursos.

    { "ClusterConfig": { "InstanceCount": 1, "InstanceType": "ml.m5.xlarge", "VolumeSizeInGB": 20 } }
  5. Especifique la configuración de la red que utilizará en el trabajo de procesamiento dentro del objeto NetworkConfig. Los siguientes valores son obligatorios en la configuración.

    1. EnableNetworkIsolationdebe estar configurado en False (predeterminado) para que SageMaker Clarify pueda invocar un punto final, si es necesario, para realizar predicciones.

    2. Si el modelo o punto final que proporcionó al trabajo de SageMaker Clarify está dentro de una Amazon Virtual Private Cloud (Amazon VPC), el trabajo de SageMaker Clarify también debe estar en la misma VPC. Especifique la VPC mediante. VpcConfig Además, la VPC debe tener puntos de enlace a un bucket, un SageMaker servicio y SageMaker un servicio de tiempo de ejecución de Amazon S3.

      Si está activado el procesamiento distribuido, también debe permitir la comunicación entre distintas instancias en el mismo trabajo de procesamiento. Configure una regla para el grupo de seguridad que permita conexiones entrantes entre miembros del mismo grupo de seguridad. Para obtener más información, consulte Ofrezca a Amazon SageMaker Clarify Jobs acceso a los recursos de su Amazon VPC.

    El código siguiente proporciona un ejemplo de configuración de red.

    { "EnableNetworkIsolation": False, "VpcConfig": { ... } }
  6. Establezca el tiempo máximo que se ejecutará el trabajo mediante el parámetro StoppingCondition. El tiempo máximo que puede ejecutarse un SageMaker trabajo de Clarify es de 7 días o 604800 segundos. Si el trabajo no se puede completar dentro de este límite de tiempo, se detendrá y no se proporcionará ningún resultado de análisis. Por ejemplo, la siguiente configuración limita el tiempo máximo de ejecución del trabajo a 3600 segundos.

    { "MaxRuntimeInSeconds": 3600 }
  7. Especifique un rol de IAM para el parámetro RoleArn. El puesto debe tener una relación de confianza con Amazon SageMaker. Se puede utilizar para realizar las operaciones de SageMaker API que se indican en la siguiente tabla. Recomendamos utilizar la política de SageMakerFullAccess gestión de Amazon, que otorga acceso total a SageMaker. Para obtener más información sobre esta política, consulte AWS política gestionada: AmazonSageMakerFullAccess. Si tiene dudas sobre la posibilidad de conceder acceso total, los permisos mínimos necesarios dependen de si proporciona un modelo o un nombre de punto de conexión. El uso de un nombre de punto final permite conceder menos permisos a SageMaker.

    La siguiente tabla contiene las operaciones de API utilizadas por el trabajo de procesamiento SageMaker de Clarify. Una X bajo Nombre del modelo y Nombre del punto de conexión indica la operación de la API necesaria para cada entrada.

    Operación de API Nombre de modelo Endpoint name (Nombre del punto de conexión) Para qué se usa

    ListTags

    X

    Las etiquetas del trabajo se aplican al punto de conexión de sombra.

    CreateEndpointConfig

    X

    Crea la configuración del punto de conexión con el nombre del modelo que proporcionó

    CreateEndpoint

    X

    Crea un punto de conexión de sombra mediante la configuración del punto de conexión.

    DescribeEndpoint

    X

    X

    Describa el estado del punto final; el punto final debe ser InService para atender las solicitudes.

    InvokeEndpoint

    X

    X

    Invoca el punto de conexión para realizar predicciones.

    Para obtener más información acerca de los permisos requeridos, consulte Permisos SageMaker de la API de Amazon: referencia sobre acciones, permisos y recursos.

    Para obtener más información sobre cómo transferir funciones a SageMaker, consulteTransferencia de roles.

    Una vez que tenga las partes individuales de la configuración del trabajo de procesamiento, combínelas para configurar el trabajo.

El siguiente ejemplo de código muestra cómo lanzar un trabajo de SageMaker procesamiento de Clarify mediante el 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 un ejemplo de cuaderno con instrucciones para ejecutar un trabajo de SageMaker procesamiento de Clarify con el AWS SDK para Python, consulte Equidad y explicabilidad con SageMaker Clarify con el AWS SDK para Python. Cualquier bucket de S3 utilizado en el bloc de notas debe estar en la misma AWS región que la instancia del bloc de notas que accede a él.

También puede configurar un trabajo de SageMaker procesamiento de Clarify mediante SageMaker ClarifyProcessorla API del SDK de SageMaker Python. Para obtener más información, consulte Ejecute SageMaker Clarify Processing Jobs para analizar los sesgos y facilitar la explicación.