Criar um trabalho de avaliação de modelo usando métricas personalizadas - 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á.

Criar um trabalho de avaliação de modelo usando métricas personalizadas

Para criar um trabalho de avaliação que use uma métrica personalizada, você precisa fornecer o seguinte:

  • Um prompt contendo instruções detalhadas para o modelo avaliador usar.

  • O modelo avaliador que você deseja usar para suas métricas personalizadas.

Você também pode especificar uma escala de classificação (esquema de saída) que o modelo avaliador possa usar para avaliar as respostas do modelo gerador.

É possível criar um trabalho de avaliação com métricas personalizadas usando o Console de gerenciamento da AWS, a AWS Command Line Interface (AWS CLI) ou a API do Amazon Bedrock. Use as instruções a seguir para criar o trabalho de avaliação. Para obter instruções e orientações sobre como criar o prompt para sua métrica e definir a escala de classificação especificada durante a criação, consulte Criar um prompt para uma métrica personalizada.

Quando você cria um trabalho de avaliação com uma ou mais métricas personalizadas, o Amazon Bedrock armazena as definições de suas métricas como arquivos JSON no bucket de saída do S3 que você especificar. Você pode acessar esses arquivos navegando até s3://S3-output-bucket-name/job-name/job-uuid/custom_metrics. Para ver o formato das definições JSON de métricas personalizadas, consulte Criar um arquivo JSON para criar uma métrica personalizada.

Para criar um trabalho usando as instruções a seguir, você também precisa de um conjunto de dados de prompt. Se você ainda não criou um, consulte Criar um conjunto de dados de prompts para um trabalho de avaliação de modelo que utilizam um modelo como avaliador.

Use as instruções a seguir para criar um trabalho de avaliação de modelo como avaliador com uma ou mais métricas personalizadas.

Console
  1. Abra o console do Amazon Bedrock.

  2. No painel à esquerda, em Inferência e avaliação, selecione Avaliações.

  3. No painel Avaliações de modelos, escolha Criar e selecione Automático: Modelo como juiz.

  4. Para inserir os detalhes da avaliação de modelo, faça o seguinte:

    1. No painel Detalhes da avaliação do modelo, em Nome da avaliação, insira um nome para seu trabalho de avaliação. O nome que você escolher deve ser exclusivo em sua Região da AWS.

    2. Opcionalmente, em Descrição: opcional, insira uma descrição para o trabalho de avaliação.

    3. Em Modelo de avaliador, escolha Selecionar modelo e selecione o modelo avaliador que você deseja que realize seu trabalho de avaliação. Observe que o modelo selecionado aqui é usado para avaliar o modelo gerador em relação a qualquer métrica incorporada que você selecionar. É possível escolher um modelo avaliador diferente para usar em suas métricas personalizadas em uma etapa posterior.

  5. Insira a fonte de inferência para o trabalho de avaliação. Com as avaliações de modelo do Amazon Bedrock, você pode avaliar o desempenho dos modelos do Amazon Bedrock ou de outros modelos fornecendo seus próprios dados de resposta de inferência no conjunto de dados de prompts. Para selecionar um modelo do Amazon Bedrock, faça o seguinte:

    1. No painel Fonte de inferência, em Selecionar origem, escolha Modelos do Bedrock.

    2. Em Selecionar modelo, escolha Selecionar modelo.

    3. No pop-up, selecione o modelo que você deseja avaliar e escolha Aplicar.

    4. (Opcional) Para alterar os parâmetros de inferência do modelo, em Configuração de inferência, escolha Atualizar.

  6. Para trazer seus próprios dados de resposta de inferência, faça o seguinte:

    1. No painel Fonte de inferência, em Selecionar origem, escolha Trazer suas próprias respostas de inferência.

    2. Em Nome da origem, insira um nome para o modelo usado para criar os dados de resposta. O nome inserido deve corresponder ao parâmetro modelIdentifier no conjunto de dados de prompts.

  7. Escolha qualquer métrica integrada com a qual você deseja que o modelo avaliador avalie as respostas do modelo gerador selecionando-as no painel Métricas.

  8. Para adicionar mais uma métrica personalizada, primeiro selecione o modelo avaliador que você deseja usar para avaliar suas métricas. No painel Métricas personalizadas, faça o seguinte:

    1. Escolha Selecionar modelo.

    2. Na janela pop-up, selecione o modelo que você quer usar.

    3. Escolha Aplicar.

  9. Em Nome da métrica, insira um nome para a métrica.

  10. Você pode configurar uma métrica de três maneiras: fornecendo um arquivo JSON que especifica a métrica, editando um prompt de métrica integrada existente por meio de um modelo ou inserindo um prompt diretamente no console para uso do modelo avaliador.

    Para criar uma métrica por meio de um arquivo JSON, faça o seguinte:

    1. Em Escolher tipo de métrica, selecione Importar arquivo JSON.

    2. Em Importar arquivo JSON, selecione Escolher arquivo.

    3. Usando o seletor de arquivos, selecione o arquivo JSON com a definição de sua métrica personalizada e escolha Abrir. Para saber mais sobre o esquema para especificar uma métrica personalizada usando um arquivo JSON e ver alguns exemplos de arquivo, consulte Criar um arquivo JSON para criar uma métrica personalizada.

    4. (Opcional) Para criar outra métrica, escolha Adicionar métricas personalizadas. É possível criar até dez métricas personalizadas para um trabalho de avaliação.

      Quando terminar de criar suas métricas personalizadas, vá para a Etapa 13 para configurar os conjuntos de dados para o trabalho de avaliação.

  11. Para criar uma métrica personalizada por meio de um modelo integrado, faça o seguinte:

    1. Em Escolher tipo de métrica, selecione Usar um modelo.

    2. Em Selecionar um modelo, use a lista suspensa para escolher um prompt de métrica integrado existente para usar como ponto de partida para sua métrica personalizada.

    3. Em Instruções, edite o prompt que você selecionou para adequá-lo ao seu caso de uso. Para ver as práticas recomendadas e uma lista dos elementos necessários ao criar um prompt de métrica personalizada, consulte Criar um prompt para uma métrica personalizada.

    4. Se você quiser que seu trabalho de avaliação produza saídas estruturadas com pontuações classificadas, deixe a opção Esquema de saída habilitado (recomendado) marcada. Sua configuração de métricas não precisa incluir um esquema de saída, mas recomendamos que você defina um. Se você não usar um esquema, os resultados exibidos incluirão somente explicações sem pontuações ou visualização de dados.

    5. Em Tipo de escala, selecione Numérico ou String de acordo com seu caso de uso e insira suas definições de escala e descrição nas caixas de texto. Para ver orientações e práticas recomendadas sobre a definição de escalas de saída, consulte Especificar um esquema de saída (escala de classificação).

    6. (Opcional) Para criar outra métrica, escolha Adicionar métricas personalizadas. É possível criar até dez métricas personalizadas para um trabalho de avaliação.

      Quando terminar de criar suas métricas personalizadas, vá para a Etapa 13 para configurar os conjuntos de dados para o trabalho de avaliação.

  12. Para criar uma métrica personalizada do zero no console, faça o seguinte:

    1. Em Escolher tipo de métrica, selecione Personalizado.

    2. Em Instruções, insira o prompt da métrica personalizada diretamente na caixa de texto. Para ver as práticas recomendadas e uma lista dos elementos necessários ao criar um prompt de métrica personalizada, consulte Criação de prompts e práticas recomendadas.

    3. Se você quiser que seu trabalho de avaliação produza saídas estruturadas com pontuações classificadas, deixe a opção Esquema de saída habilitado (recomendado) marcada. Sua configuração de métricas não precisa incluir um esquema de saída, mas recomendamos que você defina um. Se você não usar um esquema, os resultados exibidos incluirão somente explicações sem pontuações ou visualização de dados.

    4. Em Tipo de escala, selecione Numérico ou String de acordo com seu caso de uso e insira suas definições de escala e descrição nas caixas de texto. Para ver orientações e práticas recomendadas sobre a definição de escalas de saída, consulte Especificar um esquema de saída (escala de classificação).

    5. (Opcional) Para criar outra, escolha Adicionar métricas personalizadas. É possível criar até dez métricas personalizadas para um trabalho de avaliação.

      Quando terminar de criar suas métricas personalizadas, vá para a próxima etapa para configurar os conjuntos de dados do trabalho de avaliação.

  13. Defina os locais de entrada e saída para o conjunto de dados e os resultados fazendo o seguinte:

    1. No painel Conjuntos de dados, em Escolha um conjunto de dados de prompts, insira o URI do Amazon S3 para o conjunto de dados de prompts ou escolha Procurar no S3 e selecione o arquivo. Para ver uma definição do formato de conjunto de dados de prompts necessário para um trabalho de avaliação de modelo como avaliador, consulte Criar um conjunto de dados de prompts para um trabalho de avaliação de modelo que utilizam um modelo como avaliador.

    2. Em Resultados da avaliação, insira um local do Amazon S3 para que o Amazon Bedrock salve seus resultados ou escolha Procurar no S3 para selecionar um local.

  14. Em Perfil do IAM do Amazon Bedrock: Permissões, selecione Criar e usar um novo perfil de serviço para que o Amazon Bedrock crie um perfil do IAM para o trabalho de avaliação ou selecione Usar um perfil de serviço existente para escolher um perfil do IAM existente. Para ver uma lista das permissões necessárias para criar e executar um trabalho de avaliação, consulte Pré-requisitos.

  15. (Opcional) Para usar sua própria chave do KMS para criptografar dados de avaliação, em KMSkey: opcional, marque Personalizar configurações de criptografia (avançadas) e selecione sua chave do AWS KMS. Por padrão, o Amazon Bedrock criptografa os dados do trabalho de avaliação com uma chave do Amazon Bedrock com uma chave do Amazon AWS Bedrock.

  16. Selecione Criar para concluir a criação do trabalho de avaliação.

AWS CLI

Os exemplos a seguir mostram como fazer uma solicitação create-evaluation-job usando a AWS CLI para um trabalho que inclui uma métrica personalizada. applicationType deve estar especificado como ModelEvaluation.

Você pode avaliar o desempenho dos modelos no Amazon Bedrock ou avaliar outros modelos fornecendo seus próprios dados de resposta de inferência como parte do conjunto de dados de prompts. Para saber mais sobre como criar um conjunto de dados de prompts usando suas próprias respostas de inferência, consulte, Criar um conjunto de dados de prompts para um trabalho de avaliação de modelo que utilizam um modelo como avaliador.

exemplo Comando da AWS CLI e arquivo JSON para criar um trabalho de avaliação com métricas personalizadas de um modelo do Amazon Bedrock
aws bedrock create-evaluation-job --cli-input-json file://my_eval_job.json
{ "jobName": "custom-metrics-maaj", "applicationType": "ModelEvaluation", "roleArn": "arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-Custom-Metric", "evaluationConfig": { "automated": { "datasetMetricConfigs": [{ "taskType": "General", "dataset": { "name": "text_dataset", "datasetLocation": { "s3Uri": "s3://amzn-s3-demo-bucket/input_datasets/text_dataset_input.jsonl" } }, "metricNames": [ "CustomMetric-Correctness-FloatRatingScale" ] }], "customMetricConfig": { "customMetrics": [{ "customMetricDefinition": { "name": "CustomMetric-Correctness-FloatRatingScale", "instructions": "<Your complete custom metric prompt including at least one {{input variable}}>", "ratingScale": [{ "definition": "Not at all", "value": { "floatValue": 0 } }, { "definition": "Somewhat", "value": { "floatValue": 1 } }, { "definition": "Mostly", "value": { "floatValue": 2 } } ] } } ], "evaluatorModelConfig": { "bedrockEvaluatorModels": [{ "modelIdentifier": "anthropic.claude-3-haiku-20240307-v1:0" }] } }, "evaluatorModelConfig": { "bedrockEvaluatorModels": [{ "modelIdentifier": "mistral.mistral-large-2402-v1:0" }] } } }, "inferenceConfig": { "models": [{ "bedrockModel": { "modelIdentifier": "anthropic.claude-v2", "inferenceParams": "{\"textGenerationConfig\":{\"maxTokenCount\":256,\"temperature\":0.25,\"topP\":0.25}}" } }] }, "outputDataConfig": { "s3Uri": "s3://amzn-s3-demo-destination-bucket/output/" } }
nota

O arquivo JSON de exemplo contém dois objetos evaluatorModelConfig. O que está dentro do objeto customMetricConfig especifica o modelo avaliador a ser usado com métricas personalizadas. A outra instância especifica o modelo a ser usado para métricas integradas. É necessário ter cautela para especificar esses dois objetos corretamente.

exemplo Comando da AWS CLI e arquivo JSON para criar um trabalho de avaliação com métricas personalizadas em que você fornece seus próprios dados de resposta de inferência
aws bedrock create-evaluation-job --cli-input-json file://my_eval_job.json
{ "jobName": "custom-metrics-maaj", "applicationType": "ModelEvaluation", "roleArn": "arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-Custom-Metric", "evaluationConfig": { "automated": { "datasetMetricConfigs": [{ "taskType": "General", "dataset": { "name": "text_dataset", "datasetLocation": { "s3Uri": "s3://amzn-s3-demo-bucket/input_datasets/text_dataset_input.jsonl" } }, "metricNames": [ "CustomMetric-Correctness-FloatRatingScale" ] }], "customMetricConfig": { "customMetrics": [{ "customMetricDefinition": { "name": "CustomMetric-Correctness-FloatRatingScale", "instructions": "<Your complete custom metric prompt including at least one {{input variable}}>", "ratingScale": [{ "definition": "Not at all", "value": { "floatValue": 0 } }, { "definition": "Somewhat", "value": { "floatValue": 1 } }, { "definition": "Mostly", "value": { "floatValue": 2 } } ] } } ], "evaluatorModelConfig": { "bedrockEvaluatorModels": [{ "modelIdentifier": "anthropic.claude-3-haiku-20240307-v1:0" }] } }, "evaluatorModelConfig": { "bedrockEvaluatorModels": [{ "modelIdentifier": "mistral.mistral-large-2402-v1:0" }] } } }, "inferenceConfig": { "models": [ { "precomputedInferenceSource": { "inferenceSourceIdentifier": "my_model" } } ] }, "outputDataConfig": { "s3Uri": "s3://amzn-s3-demo-destination-bucket/output/" } }
nota

O arquivo JSON de exemplo contém dois objetos evaluatorModelConfig. O que está dentro do objeto customMetricConfig especifica o modelo avaliador a ser usado com métricas personalizadas. A outra instância especifica o modelo a ser usado para métricas integradas. É necessário ter cautela para especificar esses dois objetos corretamente.