Créer un flux de vérification humaine - Amazon SageMaker

Créer un flux de vérification humaine

Utilisez un flux de vérification humaine Amazon Augmented AI (Amazon A2I), ou une définition de flux, pour spécifier ce qui suit :

  • Pour les types de tâches intégrés Amazon Textract et Amazon Rekognition, les conditions dans lesquelles votre boucle humaine est appelée.

  • La main-d'œuvre à laquelle vos tâches sont envoyées.

  • Le jeu d'instructions que votre main-d'œuvre reçoit, appelé modèle de tâche d'employé.

  • La configuration de vos tâches d'employés, notamment le nombre d'employés qui reçoivent une tâche et les délais d'exécution des tâches.

  • L'emplacement de stockage de vos données de sortie

Vous pouvez créer un flux de vérification humaine dans la console SageMaker ou à l'aide de l'opération CreateFlowDefinition SageMaker. Vous pouvez créer un modèle de tâche d'employé à l'aide de la console pour les types de tâches Amazon Textract et Amazon Rekognition lors de la création de votre définition de flux.

Important

Les conditions d'activation de boucle humaine, qui initient la boucle humaine (les seuils de fiabilité, par exemple), ne sont pas disponibles pour les types de tâches personnalisés Amazon A2I. Lorsque vous utilisez la console pour créer une définition de flux pour un type de tâche personnalisé, vous ne pouvez pas spécifier de conditions d'activation. Lorsque vous utilisez l'API Amazon A2I pour créer une définition de flux pour un type de tâche personnalisé, vous ne pouvez pas définir l'attribut HumanLoopActivationConditions du paramètre HumanLoopActivationConditionsConfig. Pour contrôler le moment où les vérifications humaines sont initiées, spécifiez les conditions dans lesquelles StartHumanLoop est appelé dans votre application personnalisée. Dans ce cas, chaque appel StartHumanLoop entraîne une vérification humaine. Pour de plus amples informations, veuillez consulter Utiliser Amazon Augmented AI avec des types de tâches personnalisés.

Prérequis

Pour créer une définition de flux de vérification humaine, vous devez remplir tous les prérequis décrits dans Conditions préalables à l'utilisation d'Augmented AI.

Si vous utilisez l'API pour créer une définition de flux pour n'importe quel type de tâche, ou si vous utilisez un type de tâche personnalisé lors de la création d'une définition de flux dans la console, vous devez d'abord créer un modèle de tâche d'employé. Pour de plus amples informations, veuillez consulter Créer et gérer des modèles de tâches d'employé.

Si vous souhaitez prévisualiser votre modèle de tâche d'employé lors de la création d'une définition de flux pour un type de tâche intégré dans la console, veillez à accorder au rôle que vous utilisez pour créer l'autorisation de définition de flux l'autorisation d'accéder au compartiment Amazon S3 qui contient vos artefacts de modèle à l'aide d'une stratégie telle que celle décrite dans Activation des aperçus du modèle de tâche de travail .

Créer un flux de vérification humaine (console)

Utilisez cette procédure pour créer un flux de vérification humaine Amazon Augmented AI (Amazon A2I) à l'aide de la console SageMaker. Si vous débutez avec Amazon A2I, nous vous recommandons de créer une équipe de travail privée composée de membres de votre organisation, et d'utiliser l'ARN de cette équipe de travail lors de la création de votre définition de flux. Pour savoir comment configurer une main-d'œuvre privée et créer une équipe de travail, veuillez consulter Création d'une main-d'œuvre privée (console Amazon SageMaker). Si vous avez déjà configuré une main-d'œuvre privée, veuillez consulter Création d'une équipe de travail avec la console SageMaker pour savoir comment ajouter une équipe de travail à cette main-d'œuvre.

Si vous utilisez Amazon A2I avec l'un des types de tâches intégrés, vous pouvez créer des instructions d'employé à l'aide d'un modèle de tâche d'employé par défaut fourni par Augmented AI lors de la création d'un flux de vérification humaine dans la console. Pour afficher des exemples des modèles par défaut fournis par Augmented AI, veuillez consulter les types de tâches intégrés dans Cas d'utilisation et exemples d’utilisation d'Amazon A2I.

Pour créer une définition de flux (console)

  1. Ouvrez la console SageMaker à l'adresse https://console.aws.amazon.com/sagemaker/.

  2. Dans le panneau de navigation, sous la section Augmented AI (AI augmentée), choisissez Human review workflows (Flux de travail de vérification humaine), puis Create human review workflow (Créer un flux de travail de vérification humaine).

  3. Dans Overview (Présentation), procédez comme suit :

    1. Pour Name (Nom), saisissez un nom de flux unique. Le nom doit être en minuscules, unique dans la région AWS de votre compte et peut contenir jusqu'à 63 caractères. Les caractères valides sont a-z, 0-9 et - (trait d'union).

    2. Pour S3 location for output (Emplacement S3 pour la sortie), saisissez le compartiment S3 où vous voulez stocker les résultats de la vérification humaine. Le compartiment doit se situer dans la même région AWS que le flux.

    3. Pour IAM rôle (Rôle IAM), choisissez le rôle qui dispose des autorisations requises. Si vous choisissez un type de tâche intégré et que vous souhaitez prévisualiser votre modèle d'employé dans la console, fournissez un rôle avec le type de stratégie décrit dans Activation des aperçus du modèle de tâche de travail ci-joint.

  4. Dans Task type (Type de tâche), choisissez le type de tâche que l'employé humain doit exécuter.

  5. Si vous avez choisi le type de tâche Amazon Rekognition ou Amazon Textract, spécifiez les conditions qui déclencheront la vérification humaine.

    • Pour les tâches de modération d'image Amazon Rekognition, choisissez un intervalle de seuil de fiabilité d'inférence qui initie la vérification humaine.

    • Pour les tâches Amazon Textract, vous pouvez initier la vérification humaine lorsque des clés de formulaire spécifiques sont manquantes ou que la fiabilité de la détection de clés de formulaire est faible. Vous pouvez également initier la vérification humaine si, après avoir évalué toutes les clés de formulaire du texte, la fiabilité est inférieure au seuil requis pour n'importe quelle clé de formulaire. Deux variables spécifient vos seuils de fiabilité : Fiabilité d'identification et Fiabilité de qualification. Pour en savoir plus sur ces variables, veuillez consulter Utiliser Amazon Augmented AI avec Amazon Textract.

    • Pour les deux types de tâches, vous pouvez envoyer aléatoirement un pourcentage d'objets de données (images ou formulaires) et leurs étiquettes en vue d'une vérification humaine.

  6. Configurez et spécifiez votre modèle de tâche d'employé :

    1. Si vous utilisez le type de tâche Amazon Rekognition ou Amazon Textract :

      1. Dans la section Create template (Créer un modèle) :

        • Pour créer des instructions pour vos employés à l'aide du modèle par défaut Amazon A2I pour les types de tâches Amazon Rekognition et Amazon Textract, choisissez Build from a default template (Créer à partir d'un modèle par défaut).

          • Si vous choisissez Build from a default template (Créer à partir d'un modèle par défaut), créez vos instructions dans Worker task design (Conception de tâches d'employé).

            • Fournissez un Template name (Nom de modèle) unique dans la région AWS dans laquelle vous vous trouvez.

            • Dans la section Instructions, fournissez des instructions détaillées sur la façon d'effectuer votre tâche. Pour aider les employés à atteindre une plus grande précision, donnez de bons et mauvais exemples.

            • (Facultatif) Dans Additional instructions (Instructions supplémentaires), fournissez à vos employés des informations et des instructions supplémentaires.

              Pour de plus amples informations sur la création d'instructions efficaces, veuillez consulter Créer de bonnes instructions de travail.

        • Pour sélectionner un modèle personnalisé que vous avez créé, choisissez-le dans le menu Template (Modèle) et fournissez une Task description (Description de tâche) décrivant brièvement la tâche destinée à vos employés. Pour savoir comment créer un modèle personnalisé, veuillez consulter Créer un modèle de tâche d'employé.

    2. Si vous utilisez le type de tâche personnalisé :

      1. Dans la section Worker task template (Modèle de tâche d'employé), sélectionnez votre modèle dans la liste. Tous les modèles que vous avez créés dans la console SageMaker figurent dans cette liste. Pour apprendre à créer un modèle pour les types de tâches personnalisés, veuillez consulter Créer et gérer des modèles de tâches d'employé.

  7. (Facultatif) Prévisualisez votre modèle d'employé :

    Pour les types de tâches Amazon Rekognition et Amazon Textract, vous avez la possibilité de choisir See a sample worker task (Voir un exemple de tâche d'employé) pour prévisualiser l'interface utilisateur de la tâche destinée à votre employé.

    Si vous créez une définition de flux pour un type de tâche personnalisé, vous pouvez prévisualiser l'interface utilisateur de la tâche destinée à votre employé, à l'aide de l'opération RenderUiTemplate. Pour de plus amples informations, veuillez consulter Aperçu d'un modèle de tâche d'employé.

  8. Dans Workers (employés), choisissez un type de main-d'œuvre.

  9. Choisissez Create (Créer).

Étapes suivantes

Une fois que vous avez créé un flux de vérification humaine, il apparaît dans la console sous Human review workflows (Flux de vérification humaine). Pour afficher l'Amazon Resource Name (ARN) et les détails de configuration de votre définition de flux, choisissez le nom du flux.

Si vous utilisez un type de tâche intégré, vous pouvez utiliser l'ARN de la définition de flux pour démarrer une boucle humaine à l'aide de l'API de ce service AWS (par exemple, l'API Amazon Textract). Pour les types de tâches personnalisés, vous pouvez utiliser l'ARN pour démarrer une boucle humaine à l'aide de l'API d'exécution Amazon Augmented AI. Pour en savoir plus sur les deux options, veuillez consulter Créer et démarrer une boucle humaine.

Créer un flux de vérification humaine (API)

Pour créer une définition de flux à l'aide de l'API SageMaker, vous utilisez l'opération CreateFlowDefinition. Après avoir exécuté le prérequis Conditions préalables à l'utilisation d'Augmented AI, utilisez la procédure suivante pour savoir comment utiliser cette opération API.

Pour une présentation de l'opération CreateFlowDefinition et des détails sur chaque paramètre, veuillez consulter CreateFlowDefinition.

Pour créer une définition de flux (API)

  1. Pour FlowDefinitionName, saisissez un nom unique. Le nom doit être unique dans la région AWS de votre compte et peut contenir jusqu'à 63 caractères. Les caractères valides sont a-z, 0-9 et - (trait d'union).

  2. Pour RoleArn, saisissez l'ARN du rôle que vous avez configuré pour accorder l'accès à vos sources de données.

  3. Pour HumanLoopConfig, saisissez des informations sur les employés et ce qu'ils devraient voir. Pour de plus amples informations sur chaque paramètre dans HumanLoopConfig, veuillez consulter HumanLoopConfig.

  4. (Facultatif) Si vous utilisez un type de tâche intégré, fournissez les conditions qui initient une boucle humaine dans HumanLoopActivationConfig. Pour savoir comment créer l'entrée requise pour le paramètre HumanLoopActivationConfig, veuillez consulter Schéma JSON pour les conditions d'activation de boucle humaine dans Amazon Augmented AI. Si vous ne spécifiez pas de conditions ici, lorsque vous fournissez une définition de flux au service AWS associé à un type de tâche intégré (par exemple, Amazon Textract ou Amazon Rekognition), ce service enverra chaque tâche à un employé humain pour vérification.

    Si vous utilisez un type de tâche personnalisé, HumanLoopActivationConfig est désactivé. Pour savoir comment contrôler le moment où les tâches sont soumises à vérification humaine à l'aide d'un type de tâche personnalisé, veuillez consulter Utiliser Amazon Augmented AI avec des types de tâches personnalisés.

  5. (Facultatif) Si vous utilisez un type de tâche intégré, spécifiez la source d'intégration (par exemple, Amazon Rekognition ou Amazon Textract) dans le paramètre HumanLoopRequestSource.

  6. Pour OutputConfig, indiquez à quel emplacement dans Amazon Simple Storage Service (Amazon S3) stocker la sortie de la boucle humaine.

  7. (Facultatif) Utilisez Tags pour saisir des paires clés-valeurs pour vous aider à catégoriser et organiser une définition de flux. Chaque étiquette est constituée d'une clé et d'une valeur, que vous définissez.

Amazon Textract – Key-value pair extraction

Voici un exemple de demande de création d'un flux de vérification humaine Amazon Textract (définition de flux) à l'aide de AWS SDK for Python (Boto3). Vous devez utiliser 'AWS/Textract/AnalyzeDocument/Forms/V1' pour créer une boucle humaine Amazon Textract. N'incluez PublicWorkforceTaskPrice que si vous utilisez la main-d'œuvre Mechanical Turk.

sagemaker_client = boto3.client('sagemaker', aws_region) response = sagemaker_client.create_flow_definition( FlowDefinitionName='ExampleFlowDefinition', HumanLoopRequestSource={ 'AwsManagedHumanLoopRequestSource': 'AWS/Textract/AnalyzeDocument/Forms/V1' }, HumanLoopActivationConfig={ 'HumanLoopActivationConditionsConfig': { 'HumanLoopActivationConditions': '{...}' } }, HumanLoopConfig={ 'WorkteamArn': 'arn:aws:sagemaker:aws_region:aws_account_number:workteam/private-crowd/workteam_name', 'HumanTaskUiArn': 'arn:aws:sagemaker:aws_region:aws_account_number:human-task-ui/template_name', 'TaskTitle': 'Example task title', 'TaskDescription': 'Example task description.', 'TaskCount': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'TaskTimeLimitInSeconds': 123, 'TaskKeywords': [ 'Keyword1','Keyword2' ], 'PublicWorkforceTaskPrice': { 'AmountInUsd': { 'Dollars': 123, 'Cents': 123, 'TenthFractionsOfACent': 123 } } }, OutputConfig={ 'S3OutputPath': 's3://bucket/path/', 'KmsKeyId': '1234abcd-12ab-34cd-56ef-1234567890ab' }, RoleArn='arn:aws:iam::aws_account_number:role/role_name', Tags=[ { 'Key': 'KeyName', 'Value': 'ValueName' }, ] )
Amazon Rekognition – Image moderation

Voici un exemple de demande de création d'un flux de vérification humaine Amazon Rekognition (définition de flux) à l'aide de AWS SDK for Python (Boto3). Vous devez utiliser 'AWS/Rekognition/DetectModerationLabels/Image/V3' pour créer une définition de flux Amazon Rekognition. N'incluez PublicWorkforceTaskPrice que si vous utilisez la main-d'œuvre Mechanical Turk.

sagemaker_client = boto3.client('sagemaker', aws_region) response = sagemaker_client.create_flow_definition( FlowDefinitionName='ExampleFlowDefinition', HumanLoopRequestSource={ 'AwsManagedHumanLoopRequestSource': 'AWS/Rekognition/DetectModerationLabels/Image/V3' }, HumanLoopActivationConfig={ 'HumanLoopActivationConditionsConfig': { 'HumanLoopActivationConditions': '{...}' } }, HumanLoopConfig={ 'WorkteamArn': 'arn:aws:sagemaker:aws_region:aws_account_number:workteam/private-crowd/workteam_name', 'HumanTaskUiArn': 'arn:aws:sagemaker:aws_region:aws_account_number:human-task-ui/template_name', 'TaskTitle': 'Example task title', 'TaskDescription': 'Example task description.', 'TaskCount': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'TaskTimeLimitInSeconds': 123, 'TaskKeywords': [ 'Keyword1','Keyword2' ], 'PublicWorkforceTaskPrice': { 'AmountInUsd': { 'Dollars': 123, 'Cents': 123, 'TenthFractionsOfACent': 123 } } }, OutputConfig={ 'S3OutputPath': 's3://bucket/path/', 'KmsKeyId': '1234abcd-12ab-34cd-56ef-1234567890ab' }, RoleArn='arn:aws:iam::aws_account_number:role/role_name', Tags=[ { 'Key': 'KeyName', 'Value': 'ValueName' }, ] )
Custom Workflow

Voici un exemple de demande de création d'un flux de vérification humaine (définition de flux) pour une intégration personnalisée. Pour créer ce type de flux de révision humaine, n'incluez pas HumanLoopRequestSource dans la demande de définition de flux. N'incluez PublicWorkforceTaskPrice que si vous utilisez la main-d'œuvre Mechanical Turk.

sagemaker_client = boto3.client('sagemaker', aws_region) response = sagemaker_client.create_flow_definition( FlowDefinitionName='ExampleFlowDefinition', HumanLoopActivationConfig={ 'HumanLoopActivationConditionsConfig': { 'HumanLoopActivationConditions': '{...}' } }, HumanLoopConfig={ 'WorkteamArn': 'arn:aws:sagemaker:aws_region:aws_account_number:workteam/private-crowd/workteam_name', 'HumanTaskUiArn': 'arn:aws:sagemaker:aws_region:aws_acount_number:human-task-ui/template_name', 'TaskTitle': 'Example task title', 'TaskDescription': 'Example task description.', 'TaskCount': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'TaskTimeLimitInSeconds': 123, 'TaskKeywords': [ 'Keyword1','Keyword2' ], 'PublicWorkforceTaskPrice': { 'AmountInUsd': { 'Dollars': 123, 'Cents': 123, 'TenthFractionsOfACent': 123 } } }, OutputConfig={ 'S3OutputPath': 's3://bucket/path/', 'KmsKeyId': '1234abcd-12ab-34cd-56ef-1234567890ab' }, RoleArn='arn:aws:iam::account_number:role/role_name', Tags=[ { 'Key': 'KeyName', 'Value': 'ValueName' }, ] )

Étapes suivantes

La valeur renvoyée d'un appel réussi de l'opération d'API CreateFlowDefinition est un Amazon Resource Name (ARN) de définition de flux.

Si vous utilisez un type de tâche intégré, vous pouvez utiliser l'ARN de définition de flux pour démarrer une boucle humaine à l'aide de l'API de ce service AWS (c'est-à-dire l'API Amazon Textract). Pour les types de tâches personnalisés, vous pouvez utiliser l'ARN pour démarrer une boucle humaine à l'aide de l'API d'exécution Amazon Augmented AI. Pour en savoir plus sur ces deux options, veuillez consulter Créer et démarrer une boucle humaine.