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 o usar SageMaker Python SDK APISageMaker ClarifyProcessor, SageMaker CreateProcessingJob API

Para obtener información sobre los parámetros 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 el CreateProcessingJobAPI.

  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

    URIDebe 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, consulteContenedores SageMaker Clarify prediseñados.

  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 JSON análisis, que incluye los parámetros para el análisis de sesgos 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 del análisis, consulte. Archivos de configuración de 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 SageMaker API referencia 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 SageMaker SHAP análisis 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. GPUs

    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 establecido 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 se encuentra en una Amazon Virtual Private Cloud (AmazonVPC), el trabajo de SageMaker Clarify también debe estar en el mismo lugarVPC. Especifique el VPC uso VpcConfig. Además, VPC deben tener puntos de enlace para un bucket, un SageMaker servicio y un servicio de tiempo de SageMaker 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 SageMaker un 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 IAM rol para el RoleArn parámetro. El puesto debe tener una relación de confianza con Amazon SageMaker. Se puede utilizar para realizar las SageMaker API operaciones 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 API las operaciones utilizadas por el trabajo de procesamiento SageMaker de Clarify. XEn el nombre del modelo y en el nombre del punto final se indica la API operación que se requiere para cada entrada.

    APIOperación 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 SageMaker APIPermisos de Amazon: referencia de 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 iniciar un trabajo SageMaker de procesamiento de Clarify AWS SDK con 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 SageMaker de procesamiento de AWS SDK Clarify usando Python, consulte Equidad y explicabilidad con SageMaker Clarify usando para AWS SDK 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 SageMaker de procesamiento de SageMaker ClarifyProcessorClarify utilizando SageMaker Python SDKAPI. Para obtener más información, consulte Ejecute SageMaker Clarify Processing Jobs para analizar los sesgos y facilitar la explicación.