Création d'une tâche d'évaluation de modèles dans Amazon Bedrock - Amazon Bedrock

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.

Création d'une tâche d'évaluation de modèles dans Amazon Bedrock

Vous pouvez créer une tâche d'évaluation de modèle à l'aide du AWS Management Console AWS CLI, ou d'un support AWS SDK. Vous pouvez créer une tâche d'évaluation automatique du modèle qui génère des métriques à des fins d'évaluation. Vous pouvez également créer une tâche d'évaluation de modèles basée sur l'humain qui fait appel à une équipe de travailleurs humains pour évaluer et apporter leur contribution à l'évaluation.

Les exemples suivants vous montrent comment créer une tâche d'évaluation de modèle automatique et basée sur l'homme à l'aide de la console Amazon Bedrock pour SDK Python. AWS CLI

Consultation des résultats d’une tâche d’évaluation de modèle à l’aide de la console Amazon Bedrock

Lorsqu’une tâche d’évaluation de modèle se termine, les résultats sont stockés dans le compartiment Amazon S3 que vous avez spécifié. Si vous modifiez l’emplacement des résultats de quelque manière que ce soit, le bulletin d’évaluation du modèle n’est plus visible dans la console.

Tâches d’évaluation de modèle automatique

Toutes les tâches d'évaluation automatique de modèles nécessitent la création d'un rôle IAM de service. Pour en savoir plus sur les IAM exigences relatives à la configuration d'une tâche d'évaluation de modèles, voirExigences de fonction du service pour les tâches d’évaluation de modèle.

Les exemples suivants montrent comment créer une tâche d'évaluation automatique de modèles. Dans leAPI, vous pouvez également inclure un profil d'inférence dans la tâche en le spécifiant ARN dans le modelIdentifier champ.

Amazon Bedrock console

Utilisez la procédure suivante pour créer une tâche d'évaluation de modèle à l'aide de la console Amazon Bedrock. Pour mener à bien cette procédure, assurez-vous que votre IAM utilisateur, groupe ou rôle dispose des autorisations suffisantes pour accéder à la console. Pour en savoir plus, consultez Autorisations requises pour l'évaluation du modèle à l'aide de la console Amazon Bedrock.

En outre, les CORS autorisations requises doivent être ajoutées au compartiment Amazon S3 pour tous les ensembles de données d'invite personnalisés que vous souhaitez spécifier dans le travail d'évaluation du modèle. Pour en savoir plus sur l'ajout des CORS autorisations requises, voir,Autorisation de partage de ressources entre origines (CORS) requise sur les compartiments S3.

Pour créer une tâche d'évaluation automatique des modèles
  1. Ouvrez la console Amazon Bedrock : https://console.aws.amazon.com/bedrock/

  2. Dans le volet de navigation, choisissez Évaluation de modèle.

  3. Dans la carte Élaborer une évaluation, sous Automatique, choisissez Créer une évaluation automatique.

  4. Sur la page Créer une évaluation automatique, fournissez les informations suivantes :

    1. Nom de l’évaluation : donnez un nom descriptif à la tâche d’évaluation de modèle. Ce nom s’affiche dans votre liste de tâches d’évaluation de modèle. Il doit être unique dans votre compte et au sein d’une Région AWS.

    2. Description (facultatif) : fournissez éventuellement une description.

    3. Modèles : choisissez le modèle que vous souhaitez utiliser dans la tâche d’évaluation de modèle.

      Pour en savoir plus sur les modèles disponibles et pour y accéder dans Amazon Bedrock, consultezAccédez aux modèles de fondations Amazon Bedrock.

    4. (Facultatif) Pour modifier la configuration de l’inférence, choisissez mettre à jour.

      Le fait de modifier la configuration de l’inférence a pour effet de modifier les réponses générées par les modèles sélectionnés. Pour en savoir plus sur les paramètres d’inférence disponibles, consultez Paramètres de demande d'inférence et champs de réponse pour les modèles de base.

    5. Type de tâche : choisissez le type de tâche que le modèle doit tenter d’effectuer dans la tâche d’évaluation de modèle.

    6. Métriques et jeux de données : la liste des métriques et des jeux de données de requêtes disponibles change en fonction de la tâche sélectionnée. Vous pouvez effectuer un choix dans la liste Jeux de données intégrés disponibles ou choisir Utiliser votre jeu de données de requêtes. Si vous choisissez d'utiliser votre propre jeu de données d'invite, entrez le S3 exact URI de votre fichier de jeu de données d'invite ou choisissez Parcourir S3 pour rechercher votre ensemble de données d'invite.

    7. >Résultats de l'évaluation : spécifiez le S3 URI du répertoire dans lequel vous souhaitez enregistrer les résultats. Choisissez Browse S3 pour rechercher un emplacement dans Amazon S3.

    8. (Facultatif) Pour activer l'utilisation d'une clé gérée par le client, choisissez Personnaliser les paramètres de chiffrement (avancés). Indiquez ensuite ARN la AWS KMS clé que vous souhaitez utiliser.

    9. IAMRôle Amazon Bedrock : choisissez Utiliser un rôle existant pour utiliser un rôle de IAM service disposant déjà des autorisations requises, ou choisissez Créer un nouveau rôle pour créer un nouveau rôle de IAM service.

  5. Ensuite, choisissez Créer.

Une fois que le statut change. Terminé, vous pouvez consulter le bulletin du travail.

SDK for Python

L'exemple suivant crée une tâche d'évaluation automatique en utilisant Python.

import boto3 client = boto3.client('bedrock') job_request = client.create_evaluation_job( jobName="api-auto-job-titan", jobDescription="two different task types", roleArn="arn:aws:iam::111122223333:role/role-name", inferenceConfig={ "models": [ { "bedrockModel": { "modelIdentifier":"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-text-lite-v1", "inferenceParams":"{\"temperature\":\"0.0\", \"topP\":\"1\", \"maxTokenCount\":\"512\"}" } } ] }, outputDataConfig={ "s3Uri":"s3://model-evaluations/outputs/" }, evaluationConfig={ "automated": { "datasetMetricConfigs": [ { "taskType": "QuestionAndAnswer", "dataset": { "name": "Builtin.BoolQ" }, "metricNames": [ "Builtin.Accuracy", "Builtin.Robustness" ] } ] } } ) print(job_request)
AWS CLI

Dans le AWS CLI, vous pouvez utiliser la help commande pour voir quels paramètres sont obligatoires et quels paramètres sont facultatifs lors de la spécification create-evaluation-job dans le AWS CLI.

aws bedrock create-evaluation-job help
aws bedrock create-evaluation-job \ --job-name 'automatic-eval-job-cli-001' \ --role-arn 'arn:aws:iam::111122223333:role/role-name' \ --evaluation-config '{"automated": {"datasetMetricConfigs": [{"taskType": "QuestionAndAnswer","dataset": {"name": "Builtin.BoolQ"},"metricNames": ["Builtin.Accuracy","Builtin.Robustness"]}]}}' \ --inference-config '{"models": [{"bedrockModel": {"modelIdentifier":"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-text-lite-v1","inferenceParams":"{\"temperature\":\"0.0\", \"topP\":\"1\", \"maxTokenCount\":\"512\"}"}}]}' \ --output-data-config '{"s3Uri":"s3://automatic-eval-jobs/outputs"}'

Emplois d'évaluation de modèles basés sur l'humain

Les exemples suivants montrent comment créer un modèle de travail d'évaluation faisant appel à des travailleurs humains. Dans leAPI, vous pouvez également inclure un profil d'inférence dans la tâche en le spécifiant ARN dans le modelIdentifier champ.

Console

Pour créer une tâche d’évaluation de modèle faisant appel à des travailleurs humains
  1. Ouvrez la console Amazon Bedrock : accueil https://console.aws.amazon.com/bedrock/

  2. Dans le volet de navigation, choisissez Évaluation de modèle.

  3. Dans la section Créer une carte d'évaluation, sous Humain : apportez votre propre équipe, choisissez Créer une évaluation basée sur l'humain.

  4. Sur la page Spécifier les détails de la tâche, fournissez les informations suivantes.

    1. Nom de l’évaluation : donnez un nom descriptif à la tâche d’évaluation de modèle. Ce nom s’affiche dans votre liste de tâches d’évaluation de modèle. Il doit être unique dans votre compte et au sein d’une Région AWS.

    2. Description (facultatif) : fournissez éventuellement une description.

  5. Ensuite, choisissez Suivant.

  6. Sur la page Configurer l’évaluation, fournissez les informations suivantes.

    1. Modèles : vous ne pouvez pas choisir plus de deux modèles à utiliser dans la tâche d’évaluation de modèle.

      Pour en savoir plus sur les modèles disponibles dans Amazon Bedrock, consultez Accédez aux modèles de fondations Amazon Bedrock.

    2. (Facultatif) Pour modifier la configuration d'inférence pour les modèles sélectionnés, choisissez Mettre à jour.

      Le fait de modifier la configuration de l’inférence a pour effet de modifier les réponses générées par les modèles sélectionnés. Pour en savoir plus sur les paramètres d’inférence disponibles, consultez Paramètres de demande d'inférence et champs de réponse pour les modèles de base.

    3. Type de tâche : choisissez le type de tâche que le modèle doit tenter d’effectuer dans la tâche d’évaluation de modèle. Toutes les instructions relatives au modèle doivent être incluses dans les requêtes proprement dites. Le type de tâche n’influe pas sur les réponses du modèle.

    4. Métriques d’évaluation : la liste des métriques recommandées change en fonction de la tâche sélectionnée. Pour chaque métrique recommandée, vous devez sélectionner une Méthode d’évaluation. Vous êtes limité à 10 métriques d’évaluation par tâche d’évaluation de modèle.

    5. (Facultatif) Choisissez Ajouter une métrique pour ajouter une métrique. Vous devez définir les éléments Métrique, Description et Méthode d’évaluation.

    6. Dans la fiche Datasets, vous devez fournir les informations suivantes.

      1. Choisissez un jeu de données d'invite : spécifiez le S3 URI de votre fichier de jeu de données d'invite ou choisissez Parcourir S3 pour voir les compartiments S3 disponibles. Un jeu de données de requêtes personnalisé peut comporter un maximum de 1 000 requêtes.

      2. Destination des résultats d'évaluation : vous devez spécifier le S3 URI du répertoire dans lequel vous souhaitez enregistrer les résultats de la tâche d'évaluation de votre modèle, ou choisir Parcourir S3 pour voir les compartiments S3 disponibles.

    7. AWS KMS Clé (facultative) — Fournissez ARN la clé gérée par le client que vous souhaitez utiliser pour chiffrer votre tâche d'évaluation de modèle.

    8. Dans la carte Amazon Bedrock IAM role — Permissions, vous devez effectuer les opérations suivantes. Pour en savoir plus sur les autorisations nécessaires aux évaluations de modèle, consultez Autorisations et rôles IAM de service requis pour l'évaluation des modèles dans Amazon Bedrock.

      1. Pour utiliser un rôle de service Amazon Bedrock existant, choisissez Utiliser un rôle existant. Sinon, utilisez Créer un nouveau rôle pour spécifier les détails de votre nouveau rôle de IAM service.

      2. Dans Nom du rôle de service, spécifiez le nom de votre rôle de IAM service.

      3. Lorsque vous êtes prêt, choisissez Create role pour créer le nouveau rôle IAM de service.

  7. Ensuite, choisissez Suivant.

  8. Dans la carte Autorisations, spécifiez ce qui suit. Pour en savoir plus sur les autorisations nécessaires aux évaluations de modèle, consultez Autorisations et rôles IAM de service requis pour l'évaluation des modèles dans Amazon Bedrock.

  9. IAMRôle humain dans le flux de travail : spécifiez un rôle de SageMaker service doté des autorisations requises.

  10. Dans la carte Équipe de travail, spécifiez ce qui suit.

    Exigences de notification des employés humains

    Lorsque vous ajoutez un nouveau travailleur humain à une tâche d’évaluation de modèle, il reçoit automatiquement un e-mail d’invitation à participer à cette tâche. Lorsque vous ajoutez un travailleur humain existant à une tâche d'évaluation de modèle, vous devez lui en informer et lui fournir un portail de travail URL pour la tâche d'évaluation de modèle. Le travailleur existant ne reçoit pas de notification automatique par e-mail l’informant qu’il a été ajouté à la nouvelle tâche d’évaluation de modèle.

    1. Dans le menu déroulant Sélectionnez une équipe, sélectionnez Créer une équipe de travail ou indiquez le nom d’une équipe de travail existante.

    2. (Facultatif) Nombre de travailleurs par prompt : mettez à jour le nombre de travailleurs chargés d’évaluer chaque requête. Une fois que les réponses à chaque requête ont été examinées par le nombre de travailleurs sélectionné, la requête et ses réponses sont retirées de la circulation pour l’équipe de travail. Les résultats finaux incluent l’ensemble des évaluations réalisées par chaque travailleur.

    3. (Facultatif) E-mail du travailleur existant : choisissez cette option pour copier un modèle d'e-mail contenant le portail du travailleurURL.

    4. (Facultatif) Adresse e-mail du nouveau travailleur : choisissez cette option pour afficher l’e-mail que les nouveaux travailleurs reçoivent automatiquement.

      Important

      Les grands modèles de langage sont connus pour avoir parfois des hallucinations et produire du contenu toxique ou déplaisant. Au cours de cette évaluation, vos travailleurs peuvent être en contact avec du texte toxique ou déplaisant. Veillez à prendre des mesures appropriées pour former et notifier les évaluateurs avant de travailler sur l’évaluation. Ils ont la possibilité de refuser et de libérer des tâches ou de faire des pauses en cours d’évaluation pendant qu’ils accèdent à l’outil d’évaluation humaine.

  11. Ensuite, choisissez Suivant.

  12. Sur la page Fournir des instructions, utilisez l’éditeur de texte pour fournir les instructions nécessaires à l’exécution de la tâche. Vous pouvez afficher un aperçu de l’interface utilisateur d’évaluation que votre équipe de travail utilisera pour évaluer les réponses, notamment les métriques, les méthodes d’évaluation et vos instructions. Cet aperçu est basé sur la configuration que vous avez créée pour cette tâche.

  13. Ensuite, choisissez Suivant.

  14. Sur la page Vérifier et créer, vous pouvez afficher un récapitulatif des options que vous avez sélectionnées aux étapes précédentes.

  15. Pour démarrer votre tâche d’évaluation de modèle, choisissez Créer.

    Note

    Une fois la tâche démarrée, le statut passe à En cours. Lorsque la tâche se termine, le statut devient Terminé. Pendant qu'une tâche d'évaluation de modèle est toujours en cours, vous pouvez choisir d'arrêter la tâche avant que toutes les réponses des modèles n'aient été évaluées par votre équipe de travail. Pour ce faire, sélectionnez Arrêter l'évaluation sur la page d'accueil de l'évaluation du modèle. Cela fera passer le statut de la tâche d'évaluation du modèle à Arrêter. Une fois que le travail d'évaluation du modèle s'est arrêté avec succès, vous pouvez supprimer le travail d'évaluation du modèle.

APIet AWS CLI

Lorsque vous créez une tâche d'évaluation de modèle basée sur l'humain en dehors de la console Amazon Bedrock, vous devez créer une définition de SageMaker flux Amazon. ARN

La définition du flux ARN est l'endroit où le flux de travail d'une tâche d'évaluation de modèle est défini. La définition du flux est utilisée pour définir l'interface de travail et l'équipe de travail que vous souhaitez affecter à la tâche, ainsi que pour vous connecter à Amazon Bedrock.

Pour les tâches d'évaluation de modèles lancées à l'aide API des opérations Amazon Bedrock, vous devez créer une définition de flux ARN à l'aide du AWS CLI ou d'un support AWS SDK. Pour en savoir plus sur le fonctionnement des définitions de flux et sur leur création par programmation, voir Create a Human Review Workflow (API) dans le manuel du SageMaker développeur.

Dans le, CreateFlowDefinitionvous devez spécifier AWS/Bedrock/Evaluation comme entrée dans leAwsManagedHumanLoopRequestSource. Le rôle de service Amazon Bedrock doit également être autorisé à accéder au compartiment de sortie de la définition du flux.

Voici un exemple de demande utilisant le AWS CLI. Dans la demande, il s'HumanTaskUiArnagit d'un SageMaker propriétaireARN. Dans leARN, vous ne pouvez modifier que le Région AWS.

aws sagemaker create-flow-definition --cli-input-json ' { "FlowDefinitionName": "human-evaluation-task01", "HumanLoopRequestSource": { "AwsManagedHumanLoopRequestSource": "AWS/Bedrock/Evaluation" }, "HumanLoopConfig": { "WorkteamArn": "arn:aws:sagemaker:Région AWS:111122223333:workteam/private-crowd/my-workteam", ## The Task UI ARN is provided by the service team, you can only modify the AWS Region. "HumanTaskUiArn":"arn:aws:sagemaker:AWS Region:394669845002:human-task-ui/Evaluation" "TaskTitle": "Human review tasks", "TaskDescription": "Provide a real good answer", "TaskCount": 1, "TaskAvailabilityLifetimeInSeconds": 864000, "TaskTimeLimitInSeconds": 3600, "TaskKeywords": [ "foo" ] }, "OutputConfig": { "S3OutputPath": "s3://your-output-bucket" }, "RoleArn": "arn:aws:iam::111122223333:role/SageMakerCustomerRoleArn" }'

Après avoir créé votre définition de fluxARN, utilisez les exemples suivants pour créer une tâche d'évaluation de modèle basée sur l'homme à l'aide du AWS CLI ou d'un support AWS SDK.

SDK for Python

L'exemple de code suivant vous montre comment créer une tâche d'évaluation de modèle qui utilise des travailleurs humains via SDK SDK for Python.

import boto3 client = boto3.client('bedrock') job_request = client.create_evaluation_job( jobName="111122223333-job-01", jobDescription="two different task types", roleArn="arn:aws:iam::111122223333:role/example-human-eval-api-role", inferenceConfig={ ## You must specify and array of models "models": [ { "bedrockModel": { "modelIdentifier":"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-text-lite-v1", "inferenceParams":"{\"temperature\":\"0.0\", \"topP\":\"1\", \"maxTokenCount\":\"512\"}" } }, { "bedrockModel": { "modelIdentifier": "anthropic.claude-v2", "inferenceParams": "{\"temperature\":\"0.25\",\"top_p\":\"0.25\",\"max_tokens_to_sample\":\"256\",\"top_k\":\"1\"}" } } ] }, outputDataConfig={ "s3Uri":"s3://job-bucket/outputs/" }, evaluationConfig={ "human": { "humanWorkflowConfig": { "flowDefinitionArn": "arn:aws:sagemaker:us-west-2:111122223333:flow-definition/example-workflow-arn", "instructions": "some human eval instruction" }, "customMetrics": [ { "name": "IndividualLikertScale", "description": "testing", "ratingMethod": "IndividualLikertScale" } ], "datasetMetricConfigs": [ { "taskType": "Summarization", "dataset": { "name": "Custom_Dataset1", "datasetLocation": { "s3Uri": "s3://job-bucket/custom-datasets/custom-trex.jsonl" } }, "metricNames": [ "IndividualLikertScale" ] } ] } } ) print(job_request)