Criação de trabalhos de avaliação de modelos - Amazon Bedrock

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Criação de trabalhos de avaliação de modelos

Os exemplos a seguir mostram como criar um trabalho de avaliação de modelo usando o console Amazon Bedrock AWS CLI, SDK for Python.

Trabalhos automáticos de avaliação de modelo

Os exemplos a seguir demonstram como criar um trabalho de avaliação automática de modelos. Todos os trabalhos de avaliação automática de modelos exigem que você crie uma função de serviço do IAM. Para saber mais sobre os requisitos do IAM para configurar um trabalho de avaliação de modelo, consulteRequisitos de perfil de serviço para trabalhos de avaliação de modelo.

Amazon Bedrock console

Use o procedimento a seguir para criar um trabalho de avaliação de modelo usando o console Amazon Bedrock. Para concluir com êxito esse procedimento, certifique-se de que seu usuário, grupo ou função do IAM tenha as permissões suficientes para acessar o console. Para saber mais, consulte Permissões necessárias para criar um trabalho de avaliação de modelo usando o console do Amazon Bedrock.

Além disso, qualquer conjunto de dados de prompt personalizado que você queira especificar no trabalho de avaliação do modelo deve ter as permissões CORS necessárias adicionadas ao bucket do Amazon S3. Para saber mais sobre como adicionar as permissões necessárias do CORS, consulte,Permissão de CORS (compartilhamento de recursos de origem cruzada) necessária em buckets do S3.

Para criar um trabalho de avaliação automática de modelos
  1. Abra o console do Amazon Bedrock: https://console.aws.amazon.com/bedrock/

  2. No painel de navegação, selecione Avaliação de modelos.

  3. No cartão Criar uma avaliação, em Automática, escolha Criar avaliação automática.

  4. Na página Criar avaliação automática, forneça as seguintes informações:

    1. Nome da avaliação: dê ao trabalho de avaliação de modelo um nome que descreva o trabalho. Esse nome é mostrado na lista de trabalhos de avaliação de modelo. O nome deve ser exclusivo em seu Conta da AWS em um Região da AWS.

    2. Descrição (opcional): forneça uma descrição opcional.

    3. Modelos: escolha o modelo que deseja usar no trabalho de avaliação de modelo.

      Para saber mais sobre os modelos disponíveis e acessá-los no Amazon Bedrock, consulteGerencie o acesso aos modelos da Amazon Bedrock Foundation.

    4. (Opcional) Para alterar a configuração de inferência, escolha atualizar.

      A alteração da configuração de inferência altera as respostas geradas pelo modelo selecionado. Para saber mais sobre os parâmetros de inferência disponíveis, consulte Parâmetros de inferência para modelos de base.

    5. Tipo de tarefa: escolha o tipo de tarefa que você deseja que o modelo tente realizar durante o trabalho de avaliação de modelo.

    6. Métricas e conjuntos de dados: a lista de métricas disponíveis e os conjuntos de dados de prompts integrados mudam com base na tarefa selecionada. Você pode escolher na lista de Conjuntos de dados integrados disponíveis ou pode escolher Usar seu próprio conjunto de dados de prompts. Se você optar por usar seu próprio conjunto de dados de prompt, insira o URI S3 exato do seu arquivo de conjunto de dados de prompt ou escolha Browse S3 para pesquisar seu conjunto de dados de prompt.

    7. >Resultados da avaliação — Especifique o URI do S3 do diretório em que você deseja que os resultados sejam salvos. Escolha Browse S3 para pesquisar um local no Amazon S3.

    8. (Opcional) Para permitir o uso de uma chave gerenciada pelo cliente, escolha Personalizar configurações de criptografia (avançado). Em seguida, forneça o ARN da AWS KMS chave que você deseja usar.

    9. Função do Amazon Bedrock IAM — Escolha Usar uma função existente para usar a função de serviço do IAM que já tenha as permissões necessárias ou escolha Criar uma nova função para criar uma nova função de serviço do IAM,

  5. Selecione Criar.

Depois que seu trabalho começa, o status muda. Depois que o status mudar de Concluído, você poderá ver o boletim do trabalho.

SDK for Python

Procedimento

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

No AWS CLI, você pode usar o help comando para ver quais parâmetros são obrigatórios e quais parâmetros são opcionais ao especificar create-evaluation-job no 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"}'

Trabalhos de avaliação de modelos baseados em humanos

Ao criar um trabalho de avaliação de modelo baseado em humanos fora do console do Amazon Bedrock, você precisa criar um ARN de definição de SageMaker fluxo da Amazon.

O ARN de definição de fluxo é onde o fluxo de trabalho de um trabalho de avaliação de modelo é definido. A definição de fluxo é usada para definir a interface do trabalhador e a equipe de trabalho que você deseja atribuir à tarefa e conectar-se ao Amazon Bedrock.

Para trabalhos de avaliação de modelos iniciados no Amazon Bedrock, você deve criar o ARN de definição de fluxo usando AWS CLI o ou um AWS SDK compatível. Para saber mais sobre como as definições de fluxo funcionam e como criá-las programaticamente, consulte Criar um fluxo de trabalho de revisão humana (API) no Guia do SageMakerdesenvolvedor.

No, CreateFlowDefinitionvocê deve especificar AWS/Bedrock/Evaluation como entrada para AwsManagedHumanLoopRequestSource o. A função de serviço Amazon Bedrock também deve ter permissões para acessar o bucket de saída da definição de fluxo.

Veja a seguir uma solicitação do AWS CLI de exemplo. Na solicitação, HumanTaskUiArn é um ARN SageMaker de propriedade. No ARN, você só pode modificar o. Região da AWS

aws sagemaker create-flow-definition --cli-input-json ' { "FlowDefinitionName": "human-evaluation-task01", "HumanLoopRequestSource": { "AwsManagedHumanLoopRequestSource": "AWS/Bedrock/Evaluation" }, "HumanLoopConfig": { "WorkteamArn": "arn:aws:sagemaker:Região da AWS:111122223333:workteam/private-crowd/my-workteam", "HumanTaskUiArn": "arn:aws:sagemaker:Região da 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" }'

Depois de criar seu ARN de definição de fluxo, você pode usar os exemplos a seguir para criar seu trabalho de avaliação de modelo que usa trabalhadores humanos.

Amazon Bedrock console

Use o procedimento a seguir para criar um trabalho de avaliação de modelo usando o console Amazon Bedrock. Para concluir com êxito esse procedimento, certifique-se de que seu usuário, grupo ou função do IAM tenha as permissões suficientes para acessar o console. Para saber mais, consulte Permissões necessárias para criar um trabalho de avaliação de modelo usando o console do Amazon Bedrock.

Além disso, qualquer conjunto de dados de prompt personalizado que você queira especificar no trabalho de avaliação do modelo deve ter as permissões CORS necessárias adicionadas ao bucket do Amazon S3. Para saber mais sobre como adicionar as permissões necessárias do CORS, consulte,Permissão de CORS (compartilhamento de recursos de origem cruzada) necessária em buckets do S3.

Para criar um trabalho de avaliação de modelo que usa trabalhadores humanos
  1. Abra o console do Amazon Bedrock: https://console.aws.amazon.com/bedrock/

  2. No painel de navegação, selecione Avaliação de modelos.

  3. No cartão Criar uma avaliação, em Automática, escolha Criar avaliação automática.

  4. Na página Criar avaliação automática, forneça as seguintes informações:

    1. Nome da avaliação: dê ao trabalho de avaliação de modelo um nome que descreva o trabalho. Esse nome é mostrado na lista de trabalhos de avaliação de modelo. O nome deve ser exclusivo em seu Conta da AWS em um Região da AWS.

    2. Descrição (opcional): forneça uma descrição opcional.

    3. Modelos: escolha o modelo que deseja usar no trabalho de avaliação de modelo.

      Para saber mais sobre os modelos disponíveis e acessá-los no Amazon Bedrock, consulteGerencie o acesso aos modelos da Amazon Bedrock Foundation.

    4. (Opcional) Para alterar a configuração de inferência, escolha atualizar.

      A alteração da configuração de inferência altera as respostas geradas pelo modelo selecionado. Para saber mais sobre os parâmetros de inferência disponíveis, consulte Parâmetros de inferência para modelos de base.

    5. Tipo de tarefa: escolha o tipo de tarefa que você deseja que o modelo tente realizar durante o trabalho de avaliação de modelo.

    6. Métricas e conjuntos de dados: a lista de métricas disponíveis e os conjuntos de dados de prompts integrados mudam com base na tarefa selecionada. Você pode escolher na lista de Conjuntos de dados integrados disponíveis ou pode escolher Usar seu próprio conjunto de dados de prompts. Se você optar por usar seu próprio conjunto de dados de prompt, insira o URI S3 exato do seu arquivo de conjunto de dados de prompt ou escolha Browse S3 para pesquisar seu conjunto de dados de prompt.

    7. Resultados da avaliação — Especifique o URI do S3 do diretório em que você deseja que os resultados do seu trabalho de avaliação do modelo sejam salvos. Escolha Browse S3 para pesquisar um local no Amazon S3.

    8. (Opcional) Para permitir o uso de uma chave gerenciada pelo cliente, escolha Personalizar configurações de criptografia (avançado). Em seguida, forneça o ARN da AWS KMS chave que você deseja usar.

    9. Função Amazon Bedrock IAM — Escolha Usar uma função existente para usar uma função IAMService que já tenha as permissões necessárias ou escolha Criar uma nova função para criar uma nova função de serviço IAM,

  5. Selecione Criar.

Depois que seu trabalho começa, o status muda. Em andamento. Depois que o status mudar de Concluído, você poderá ver o boletim do trabalho.

SDK for Python

Procedimento

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)