Création d'emplois d'évaluation de modèles - 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'emplois d'évaluation de modèles

Les exemples suivants vous montrent comment créer une tâche d'évaluation de modèle à l'aide de la console Amazon Bedrock AWS CLI, du SDK pour Python

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

Les exemples suivants montrent comment créer une tâche d'évaluation automatique de modèles. Toutes les tâches d'évaluation automatique de modèles nécessitent que vous créiez un rôle de service IAM. Pour en savoir plus sur les exigences IAM relatives à la configuration d'une tâche d'évaluation de modèles, consultezExigences de fonction du service pour les tâches d’évaluation de modèle.

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 utilisateur, groupe ou rôle IAM dispose des autorisations suffisantes pour accéder à la console. Pour en savoir plus, veuillez consulter la section Autorisations nécessaires pour créer une tâche d’évaluation de modèle à l’aide de la console Amazon Bedrock.

En outre, les autorisations CORS 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 autorisations CORS requises, voir,Autorisation CORS (Cross Origin Resource Sharing) nécessaire 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. Le nom doit être unique dans votre nom Compte AWS dans un 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, consultezGérez l'accès aux modèles de fondation Amazon Bedrock.

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

      La modification de la configuration d'inférence modifie les réponses générées par le modèle sélectionné. Pour en savoir plus sur les paramètres d’inférence disponibles, consultez Paramètres d’inférence pour les modèles de fondation.

    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 l'URI S3 exact 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 l'URI S3 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 l'ARN de la AWS KMS clé que vous souhaitez utiliser.

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

  5. Ensuite, choisissez Créer.

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

SDK for Python

Procédure

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

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 un ARN de définition de SageMaker flux Amazon.

L'ARN de définition de flux 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 dans Amazon Bedrock, vous devez créer l'ARN de définition de flux à l'aide du SDK AWS CLI ou d'un AWS SDK compatible. Pour en savoir plus sur le fonctionnement des définitions de flux et sur leur création par programmation, consultez la section Créer un flux de travail de révision humaine (API) dans le guide du SageMakerdéveloppeur.

Dans le, CreateFlowDefinitionvous devez spécifier AWS/Bedrock/Evaluation comme entrée dans le AwsManagedHumanLoopRequestSource. 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 ARN SageMaker possédé. Dans l'ARN, 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", "HumanTaskUiArn": "arn:aws:sagemaker:Région AWS: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" }'

Une fois que vous avez créé votre ARN de définition de flux, vous pouvez utiliser les exemples suivants pour créer votre tâche d'évaluation de modèles utilisant des travailleurs humains.

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 utilisateur, groupe ou rôle IAM dispose des autorisations suffisantes pour accéder à la console. Pour en savoir plus, veuillez consulter la section Autorisations nécessaires pour créer une tâche d’évaluation de modèle à l’aide de la console Amazon Bedrock.

En outre, les autorisations CORS 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 autorisations CORS requises, voir,Autorisation CORS (Cross Origin Resource Sharing) nécessaire sur les compartiments S3.

Pour créer un modèle de travail d'évaluation faisant appel à des travailleurs humains
  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. Le nom doit être unique dans votre nom Compte AWS dans un 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, consultezGérez l'accès aux modèles de fondation Amazon Bedrock.

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

      La modification de la configuration d'inférence modifie les réponses générées par le modèle sélectionné. Pour en savoir plus sur les paramètres d’inférence disponibles, consultez Paramètres d’inférence pour les modèles de fondation.

    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 l'URI S3 exact 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 l'URI S3 du répertoire dans lequel vous souhaitez enregistrer les résultats de la tâche d'évaluation de votre modèle. 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 l'ARN de la AWS KMS clé que vous souhaitez utiliser.

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

  5. Ensuite, choisissez Créer.

Une fois que votre travail a commencé, le statut change En cours. Une fois que le statut change. Terminé, vous pouvez consulter le bulletin du travail.

SDK for Python

Procédure

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)