Crie um trabalho de avaliação de modelo no Amazon Bedrock - 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á.

Crie um trabalho de avaliação de modelo no Amazon Bedrock

Você pode criar um trabalho de avaliação de modelo usando o AWS Management Console AWS CLI,, ou um suporte AWS SDK. Você pode criar um trabalho automático de avaliação de modelo que gere métricas para avaliação. Você também pode criar um trabalho de avaliação de modelo baseado em humanos que aproveite uma equipe de trabalhadores humanos para avaliar e fornecer suas contribuições para a avaliação.

Os exemplos a seguir mostram como criar um trabalho de avaliação de modelo automático e baseado em humanos usando o console Amazon Bedrock, AWS CLI, para SDK Python.

Visualizar os resultados do trabalho de avaliação de modelo usando o console do Amazon Bedrock

Quando um trabalho de avaliação de modelo é concluído, os resultados são armazenados no bucket do Amazon S3 que você especificou. Se você modificar o local dos resultados de alguma forma, o boletim da avaliação do modelo não estará mais visível no console.

Trabalhos automáticos de avaliação de modelo

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

Os exemplos a seguir mostram como criar um trabalho de avaliação automática de modelos. NoAPI, você também pode incluir um perfil de inferência no trabalho especificando-o ARN no modelIdentifier campo.

Amazon Bedrock console

Use o procedimento a seguir para criar um trabalho de avaliação de modelo usando o console Amazon Bedrock. Para concluir esse procedimento com êxito, certifique-se de que seu IAM usuário, grupo ou função tenha as permissões suficientes para acessar o console. Para saber mais, consulte Permissões necessárias para avaliação do modelo usando o console 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 CORS permissões necessárias adicionadas ao bucket do Amazon S3. Para saber mais sobre como adicionar as CORS permissões necessárias, consulte,Permissão de compartilhamento de recursos de origem cruzada (CORS) necessária em buckets do S3.

Para criar um trabalho de avaliação automática de modelos
  1. Abra o console 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 único na sua conta em uma 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, consulteAcesse os 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 pelos modelos selecionados. Para saber mais sobre os parâmetros de inferência disponíveis, consulte Parâmetros de solicitação de inferência e campos de resposta para modelos básicos.

    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 S3 exato URI 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 S3 URI 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 a ARN AWS KMS chave que você deseja usar.

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

  5. Selecione Criar.

Depois que o status mudar de Concluído, você poderá ver o boletim do trabalho.

SDK for Python

O exemplo a seguir cria um trabalho de avaliação automática usando 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

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

Os exemplos a seguir mostram como criar um trabalho de avaliação de modelo que usa trabalhadores humanos. NoAPI, você também pode incluir um perfil de inferência no trabalho especificando-o ARN no modelIdentifier campo.

Console

Como criar um trabalho de avaliação de modelo com a participação de operadores humanos
  1. Abra o console Amazon Bedrock: página inicial https://console.aws.amazon.com/bedrock/

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

  3. Em Criar um cartão de avaliação, em Humano: traga sua própria equipe, escolha Criar avaliação baseada em humanos.

  4. Na página Especificar detalhes do trabalho, forneça as informações a seguir.

    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 único na sua conta em uma Região da AWS.

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

  5. Em seguida, escolha Próximo.

  6. Na página Configurar avaliação, forneça as informações a seguir.

    1. Modelos: você pode escolher até dois modelos que deseja usar no trabalho de avaliação de modelo.

      Para saber mais sobre os modelos disponíveis no Amazon Bedrock, consulte Acesse os modelos da Amazon Bedrock Foundation.

    2. (Opcional) Para alterar a configuração de inferência dos modelos selecionados, escolha atualizar.

      A alteração da configuração de inferência altera as respostas geradas pelos modelos selecionados. Para saber mais sobre os parâmetros de inferência disponíveis, consulte Parâmetros de solicitação de inferência e campos de resposta para modelos básicos.

    3. Tipo de tarefa: escolha o tipo de tarefa que você deseja que o modelo tente realizar durante o trabalho de avaliação de modelo. Todas as instruções para o modelo devem ser incluídas nos próprios prompts. O tipo de tarefa não controla as respostas do modelo.

    4. Métricas de avaliação: a lista de métricas recomendadas muda com base na tarefa selecionada. Para cada métrica recomendada, você deve selecionar um Método de classificação. É possível ter até 10 métricas de classificação por trabalho de avaliação de modelo.

    5. (Opcional) Escolha Adicionar métrica para adicionar uma métrica. Defina a Métrica, a Descrição e o Método de classificação.

    6. No cartão de conjuntos de dados, você deve fornecer o seguinte.

      1. Escolha um conjunto de dados de prompt — especifique o S3 do seu arquivo de conjunto URI de dados de prompt ou escolha Procurar no S3 para ver os buckets do S3 disponíveis. Você pode ter até 1.000 prompts em um conjunto de dados de prompts personalizado.

      2. Destino dos resultados da avaliação — Você deve especificar o S3 URI do diretório em que deseja salvar os resultados do seu trabalho de avaliação do modelo ou escolher Procurar no S3 para ver os buckets do S3 disponíveis.

    7. AWS KMS Chave (opcional) — Forneça ARN a chave gerenciada pelo cliente que você deseja usar para criptografar seu trabalho de avaliação de modelo.

    8. Na IAMfunção Amazon Bedrock — cartão de permissões, você deve fazer o seguinte. Para saber mais sobre as permissões necessárias para avaliações de modelos, consulte Permissões e funções IAM de serviço necessárias para avaliação de modelos no Amazon Bedrock.

      1. Para usar uma função de serviço existente do Amazon Bedrock, escolha Usar uma função existente. Caso contrário, use Criar uma nova função para especificar os detalhes da sua nova função IAM de serviço.

      2. Em Nome da função de serviço, especifique o nome da sua função IAM de serviço.

      3. Quando estiver pronto, escolha Criar função para criar a nova função IAM de serviço.

  7. Em seguida, escolha Próximo.

  8. No cartão Permissões, especifique as informações a seguir. Para saber mais sobre as permissões necessárias para avaliações de modelos, consulte Permissões e funções IAM de serviço necessárias para avaliação de modelos no Amazon Bedrock.

  9. IAMFunção do fluxo de trabalho humano — especifique uma função de SageMaker serviço que tenha as permissões necessárias.

  10. No cartão Equipe de trabalho, especifique o seguinte.

    Requisitos para notificação de operadores humanos

    Quando você adiciona um novo operador humano a um trabalho de avaliação de modelo, ele recebe automaticamente um e-mail convidando-o a participar do trabalho de avaliação de modelo. Ao adicionar um trabalhador humano existente a um trabalho de avaliação de modelo, você deve notificar e fornecer a ele o portal do trabalhador URL para o trabalho de avaliação de modelo. O operador existente não receberá uma notificação automática por e-mail de que foi adicionado ao novo trabalho de avaliação de modelo.

    1. Usando o menu suspenso Selecionar equipe, especifique Criar uma equipe de trabalho ou o nome de uma equipe de trabalho existente.

    2. (Opcional) Número de operadores por prompt: atualize o número de operadores que avaliam cada prompt. Depois que as respostas de cada prompt forem analisadas pelo número definido de operadores, o prompt e suas respostas serão retirados de circulação da equipe de trabalho. O relatório dos resultados finais incluirá todas as classificações de cada operador.

    3. (Opcional) E-mail do trabalhador existente — Escolha essa opção para copiar um modelo de e-mail contendo o portal do trabalhadorURL.

    4. (Opcional) Novo e-mail de operador: escolha esta opção para ver o e-mail que os novos operadores recebem automaticamente.

      Importante

      Sabe-se que grandes modelos de linguagem ocasionalmente alucinam e geram conteúdo tóxico ou ofensivo. Os operadores poderão ser expostos a material tóxico ou ofensivo durante essa avaliação. Tome as medidas adequadas para treiná-los e notificá-los antes que eles trabalhem na avaliação. Eles podem recusar e largar tarefas ou fazer pausas durante a avaliação enquanto acessam a ferramenta de avaliação humana.

  11. Em seguida, escolha Próximo.

  12. Na página Fornecer instruções, use o editor de texto para fornecer instruções sobre como concluir a tarefa. Você pode pré-visualizar a interface de avaliação que a equipe de trabalho usará para avaliar as respostas, incluindo as métricas, os métodos de classificação e suas instruções. Essa pré-visualização é baseada na configuração que você criou para esse trabalho.

  13. Em seguida, escolha Próximo.

  14. Na página Revisar e criar, você pode ver um resumo das opções selecionadas nas etapas anteriores.

  15. Para iniciar o trabalho de avaliação de modelo, escolha Criar.

    nota

    Depois que o trabalho for iniciado com sucesso, o status mudará para Em andamento. Quando o trabalho for concluído, o status será alterado para Concluído. Enquanto um trabalho de avaliação do modelo ainda estiver em andamento, você pode optar por interromper o trabalho antes que todas as respostas dos modelos tenham sido avaliadas pela sua equipe de trabalho. Para fazer isso, escolha Parar avaliação na página inicial de avaliação do modelo. Isso mudará o status do trabalho de avaliação do modelo para Parando. Depois que o trabalho de avaliação do modelo for interrompido com êxito, você poderá excluir o trabalho de avaliação do modelo.

APIe AWS CLI

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

A definição de fluxo ARN é 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 usando API as operações do Amazon Bedrock, você deve criar uma definição de fluxo ARN usando o AWS CLI ou um compatível AWS SDK. 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 SageMaker desenvolvedor.

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 é de SageMaker propriedadeARN. NoARN, você só pode modificar Região da AWS o.

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", ## 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" }'

Depois de criar sua definição de fluxoARN, use os exemplos a seguir para criar um trabalho de avaliação de modelo baseado em humanos usando o AWS CLI ou um suporte AWS SDK.

SDK for Python

O exemplo de código a seguir mostra como criar um trabalho de avaliação de modelo que usa trabalhadores humanos por meio do SDK for 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)