View a markdown version of this page

Configuration d'une tâche de traitement SageMaker Clarify - Amazon SageMaker AI

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration d'une tâche de traitement SageMaker Clarify

Note

Amazon SageMaker Clarify n'est plus ouvert aux nouveaux clients. Les clients existants peuvent continuer à utiliser le service normalement. AWS continue d'investir dans l'amélioration de la sécurité et de la disponibilité de Clarify, mais nous ne prévoyons pas d'introduire de nouvelles fonctionnalités. Pour de plus amples informations, veuillez consulter Clarifier le changement de disponibilité.

Pour analyser vos données et modèles afin de détecter les biais et l'explicabilité à l'aide de SageMaker Clarify, vous devez configurer une tâche de traitement SageMaker Clarify. Ce guide vous montre comment spécifier le nom du jeu de données en entrée, le nom du fichier de configuration d'analyse et l'emplacement de sortie pour une tâche de traitement. Pour configurer le conteneur de traitement, les entrées de tâches, les sorties, les ressources et les autres paramètres, vous avez deux options. Vous pouvez soit utiliser l'CreateProcessingJobAPI SageMaker AI, soit utiliser l'API SageMaker SageMaker ClarifyProcessor AI Python SDK,

Pour plus d'informations sur les paramètres communs à toutes les tâches de traitement, consultez Amazon SageMaker API Reference.

Les instructions suivantes montrent comment fournir chaque partie de la configuration spécifique à SageMaker Clarify à l'aide de l'CreateProcessingJobAPI.

  1. Entrez l'identifiant de recherche uniforme (URI) d'une image de conteneur SageMaker Clarify dans le AppSpecification paramètre, comme indiqué dans l'exemple de code suivant.

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

    L'URI doit identifier une image de conteneur SageMaker Clarify prédéfinie. ContainerEntrypointet ne ContainerArguments sont pas pris en charge. Pour plus d'informations sur SageMaker Clarify container images, consultezConteneurs SageMaker Clarify préfabriqués.

  2. Spécifiez à la fois la configuration de votre analyse et les paramètres de votre jeu de données en entrée dans le paramètre ProcessingInputs.

    1. Spécifiez l'emplacement du fichier de configuration d'analyse JSON, qui inclut les paramètres d'analyse des biais et d'analyse d'explicabilité. Le paramètre InputName de l’objet ProcessingInput doit être analysis_config tel qu’illustré dans l’exemple de code suivant.

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

      Pour plus d’informations sur le schéma du fichier de configuration d’analyse, consultez Fichiers de configuration d’analyse.

    2. Spécifiez l’emplacement du jeu de données d’entrée. Le paramètre InputName de l'objet ProcessingInput doit être dataset. Ce paramètre est facultatif si vous avez fourni le "dataset_uri" dans le fichier de configuration d'analyse. Les valeurs suivantes sont requises dans la configuration S3Input.

      1. S3Uri peut être un objet Amazon S3 ou un préfixe S3.

      2. S3InputMode doit être de type File.

      3. S3CompressionType doit être de type None (valeur par défaut).

      4. S3DataDistributionType doit être de type FullyReplicated (valeur par défaut).

      5. S3DataType peut avoir la valeur S3Prefix ou ManifestFile. Pour être utiliséManifestFile, le S3Uri paramètre doit spécifier l'emplacement d'un fichier manifeste qui suit le schéma de la section de référence de l' SageMaker API https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_S3DataSource.html#sagemaker-Type-S3DataSource-S3Uri S3Uri. Ce fichier manifeste doit répertorier les objets S3 contenant les données d'entrée pour la tâche.

      Le code suivant montre un exemple de configuration d'entrée.

      { "InputName": "dataset", "S3Input": { "S3Uri": "s3://your-bucket/your-dataset.csv", "S3DataType": "S3Prefix", "S3InputMode": "File", "LocalPath": "/opt/ml/processing/input/data" } }
  3. Spécifiez la configuration pour la sortie de la tâche de traitement dans le paramètre ProcessingOutputConfig. Un seul objet ProcessingOutput est requis dans la configuration Outputs. Les conditions suivantes sont requises dans la configuration de sortie :

    1. OutputName doit avoir pour valeur analysis_result.

    2. S3Uri doit être un préfixe S3 de l'emplacement de sortie.

    3. S3UploadMode doit être défini sur EndOfJob.

    Le code suivant montre un exemple de configuration de sortie.

    { "Outputs": [{ "OutputName": "analysis_result", "S3Output": { "S3Uri": "s3://your-bucket/result/", "S3UploadMode": "EndOfJob", "LocalPath": "/opt/ml/processing/output" } }] }
  4. Spécifiez la configuration ClusterConfig pour les ressources que vous utilisez dans votre tâche de traitement dans le paramètre ProcessingResources. Les paramètres suivants sont nécessaires à l'intérieur de l'objet ClusterConfig.

    1. InstanceCount indique le nombre d'instances de calcul dans le cluster qui exécute la tâche de traitement. Spécifiez une valeur supérieure à 1 pour activer le traitement distribué.

    2. InstanceType fait référence aux ressources qui exécutent votre tâche de traitement. L'analyse SageMaker AI SHAP étant gourmande en ressources de calcul, l'utilisation d'un type d'instance optimisé pour le calcul devrait améliorer le temps d'exécution de l'analyse. La tâche de traitement SageMaker Clarify n'utilise pas de GPU.

    Le code suivant montre un exemple de configuration de ressource.

    { "ClusterConfig": { "InstanceCount": 1, "InstanceType": "ml.m5.xlarge", "VolumeSizeInGB": 20 } }
  5. Spécifiez la configuration du réseau que vous utilisez dans votre tâche de traitement au sein de l'objet NetworkConfig. Les valeurs suivantes sont requises dans la configuration.

    1. EnableNetworkIsolationdoit être défini sur False (par défaut) pour que SageMaker Clarify puisse invoquer un point de terminaison, si nécessaire, pour les prédictions.

    2. Si le modèle ou le point de terminaison que vous avez fourni à la tâche SageMaker Clarify se trouve dans un Amazon Virtual Private Cloud (Amazon VPC), la tâche SageMaker Clarify doit également se trouver dans le même VPC. Spécifiez le VPC à l'aide VpcConfig de. En outre, le VPC doit disposer de points de terminaison vers un compartiment Amazon S3, un service SageMaker AI et un service SageMaker AI Runtime.

      Si le traitement distribué est activé, vous devez également autoriser la communication entre les différentes instances d’une même tâche de traitement. Configurez une règle pour votre groupe de sécurité qui autorise les connexions entrantes entre les membres du même groupe de sécurité. Pour de plus amples informations, veuillez consulter Donnez à Amazon SageMaker Clarify Jobs l'accès aux ressources de votre Amazon VPC.

    Le code suivant montre un exemple de configuration réseau.

    { "EnableNetworkIsolation": False, "VpcConfig": { ... } }
  6. Définissez la durée maximale d'exécution de la tâche à l'aide du paramètre StoppingCondition. La durée maximale d'exécution d'une tâche SageMaker Clarify est de 7 plusieurs jours ou 604800 secondes. Si la tâche ne peut pas être terminée dans ce délai, elle sera arrêtée et aucun résultat d'analyse ne sera fourni. Par exemple, la configuration suivante limite la durée maximale d'exécution de la tâche à 3 600 secondes.

    { "MaxRuntimeInSeconds": 3600 }
  7. Spécifiez un rôle IAM pour le paramètre RoleArn. Le poste doit entretenir une relation de confiance avec Amazon SageMaker AI. Il peut être utilisé pour effectuer les opérations SageMaker d'API répertoriées dans le tableau suivant. Nous vous recommandons d'utiliser la politique SageMaker AIFullAccess gérée par Amazon, qui garantit un accès complet à l' SageMaker IA. Pour plus d’informations sur cette politique, consultez AWS stratégie gérée : AmazonSageMakerFullAccess. Si vous avez des préoccupations concernant l’octroi d’un accès complet, les autorisations minimales requises varient selon que vous fournissez un modèle ou un nom de point de terminaison. L'utilisation d'un nom de point de terminaison permet d'accorder moins d'autorisations à SageMaker l'IA.

    Le tableau suivant contient les opérations d'API utilisées par la tâche de traitement SageMaker Clarify. Un X sous Nom du modèle et Nom du point de terminaison indique l'opération d'API qui est requise pour chaque entrée.

    Opération API Nom du modèle Nom du point de terminaison Objectif d'utilisation

    ListTags

    X

    Les balises de la tâche sont appliquées au point de terminaison miroir.

    CreateEndpointConfig

    X

    Créer la configuration du point de terminaison en utilisant le nom du modèle que vous avez fourni.

    CreateEndpoint

    X

    Créer un point de terminaison miroir en utilisant la configuration du point de terminaison.

    DescribeEndpoint

    X

    X

    Décrivez le point de terminaison pour son statut, le point de terminaison doit être InService destiné à répondre aux demandes.

    InvokeEndpoint

    X

    X

    Invoquer le point de terminaison pour des prédictions.

    Pour plus d’informations sur les autorisations requises, consultez Autorisations de l'API Amazon SageMaker AI : référence sur les actions, les autorisations et les ressources.

    Pour plus d'informations sur la transmission de rôles à SageMaker l'IA, consultezTransmission de rôles.

    Une fois que vous avez défini les éléments individuels de la configuration de la tâche de traitement, combinez-les pour configurer la tâche.

L'exemple de code suivant montre comment lancer une tâche de traitement SageMaker Clarify à l'aide du AWS SDK pour 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", )

Pour un exemple de bloc-notes contenant des instructions pour exécuter une tâche de traitement SageMaker Clarify à l'aide du AWS SDK pour Python, voir Équité et explicabilité avec SageMaker Clarify à l'aide du AWS SDK pour Python. Tout compartiment S3 utilisé dans le bloc-notes doit se trouver dans la même AWS région que l'instance du bloc-notes qui y accède.

Vous pouvez également configurer une tâche de traitement SageMaker Clarify SageMaker ClarifyProcessor à l'aide de l'API du SDK SageMaker Python. Pour de plus amples informations, veuillez consulter Exécutez des tâches de traitement SageMaker Clarify pour l'analyse des biais et l'explicabilité.