View a markdown version of this page

Creación de un trabajo de evaluación de modelos con intervención humana - Amazon Bedrock

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Creación de un trabajo de evaluación de modelos con intervención humana

En los siguientes ejemplos se muestra cómo crear un trabajo de evaluación de modelos con intervención humana.

Consola

Para crear un trabajo de evaluación de modelos con trabajadores humanos:
  1. Abra la consola de Amazon Bedrock.

  2. En el panel de navegación, en Inferencia y evaluación, seleccione Evaluaciones.

  3. En el panel Evaluación del modelo, en Humano, elija Crear y seleccione Humano: utilice a su propio equipo de trabajo.

  4. En la página Especificar detalles del proyecto, haga lo siguiente:

    1. Nombre de la evaluación: asigne al trabajo de evaluación de modelos un nombre que describa el trabajo. Este nombre se muestra en su lista de trabajos de evaluación de modelos. El nombre debe ser único en su cuenta en una Región de AWS.

    2. Descripción (opcional): proporcione una descripción opcional.

    3. Elija Siguiente.

  5. En la página Configure la evaluación, en Origen de inferencia, seleccione el origen para la evaluación del modelo. Puede evaluar el rendimiento de los modelos de Amazon Bedrock o de otros modelos proporcionando sus propios datos de respuesta de inferencia en el conjunto de datos de peticiones. Puede seleccionar un máximo de dos orígenes de inferencia. Para los trabajos con dos orígenes, no tiene que elegir el mismo tipo para ambos orígenes; puede seleccionar un modelo de Amazon Bedrock y proporcionar sus propios datos de respuesta de inferencia para el segundo origen. Para evaluar modelos de Amazon Bedrock, haga lo siguiente:

    1. En Seleccione un origen, seleccione Modelos de Bedrock.

    2. En Seleccionar el modelo, elija el modelo que desea evaluar.

    3. Para seleccionar un segundo modelo, elija Agregar modelo y repita los pasos anteriores.

  6. Para traer sus propios datos de respuesta de inferencia, haga lo siguiente:

    1. En Seleccione un origen, seleccione Traiga sus propias respuestas de inferencia.

    2. En Nombre del origen, introduzca un nombre para el modelo que utilizó para crear los datos de respuesta. El nombre que introduzca debe coincidir con el parámetro modelIdentifier del conjunto de datos de peticiones.

    3. Para añadir un segundo origen, elija Agregar modelo y repita los pasos anteriores.

  7. En Tipo de tarea, seleccione el tipo de tarea que desea que el modelo realice durante el trabajo de evaluación de modelos. Todas las instrucciones del modelo deben incluirse en las propias peticiones. El tipo de tarea no controla las respuestas del modelo.

  8. En el panel Conjuntos de datos, debe proporcionar lo siguiente.

    1. En Elija un conjunto de datos de peticiones, especifique el URI de S3 del archivo de conjunto de datos de peticiones o elija Explorar S3 para ver los buckets de S3 disponibles. Puede tener un máximo de 1000 peticiones en un conjunto de datos de peticiones personalizado.

    2. En Destino de los resultados de la evaluación, especifique el URI de S3 del directorio en el que desee guardar los resultados del trabajo de evaluación de modelos o elija Explorar S3 para ver los buckets de S3 disponibles.

  9. (Opcional) En Clave de KMS (opcional), proporcione el ARN de la clave de administrada por el cliente que desea utilizar para cifrar el trabajo de evaluación de modelos.

  10. En el panel Rol de IAM de Amazon Bedrock: permisos, haga lo siguiente. Para obtener más información sobre los permisos necesarios para las evaluaciones de modelos, consulte Requisitos de rol de servicio para los trabajos de evaluación de modelos.

    1. Para utilizar un rol de servicio de Amazon Bedrock existente, seleccione Utilizar un rol existente. De lo contrario, utilice Crear un nuevo rol para especificar los detalles del nuevo rol de servicio de IAM.

    2. En Rol de servicio, elija el nombre del rol de servicio de IAM.

    3. Cuando esté todo listo, elija Crear rol para crear el nuevo rol de servicio de IAM.

  11. Elija Siguiente.

  12. En Equipo de trabajo, use el menú desplegable Seleccione un equipo para seleccionar un equipo existente o cree uno nuevo de la siguiente manera:

    1. En Nombre del equipo, escriba un nombre para su equipo.

    2. En Direcciones de correo electrónico, introduzca las direcciones de correo electrónico de los trabajadores humanos de su equipo.

    3. En Número de trabajadores por petición, seleccione el número de trabajadores que evalúan cada petición. Una vez revisadas las respuestas de cada petición según el número de trabajadores que haya seleccionado, la petición y sus respuestas se retirarán de la circulación por parte del equipo de trabajo. El informe de resultados final incluirá todas las calificaciones de cada trabajador.

      importante

      Se sabe que los modelos de lenguaje grandes alucinan de vez en cuando y producen contenido tóxico u ofensivo. Es posible que a sus trabajadores se les muestre material tóxico u ofensivo durante esta evaluación. Asegúrese de tomar las medidas adecuadas para formarlos y notificarlos antes de que trabajen en la evaluación. Pueden rechazar y dejar en pausa las tareas o tomarse descansos durante la evaluación mientras acceden a la herramienta de evaluación humana.

  13. En Rol de IAM del flujo de trabajo humano: permisos, seleccione un rol existente o seleccione Crear un nuevo rol.

  14. Elija Siguiente.

  15. En Instrucciones de evaluación, proporcione instrucciones para completar la tarea. Puede obtener una vista previa de la interfaz de usuario de evaluación que su equipo de trabajo utiliza para evaluar las respuestas, incluidas las métricas, los métodos de calificación y sus instrucciones. Esta vista previa se basa en la configuración que ha creado para este trabajo.

  16. Elija Siguiente.

  17. Revise la configuración del trabajo y elija Crear para crear el trabajo.

    nota

    Una vez que el trabajo se haya iniciado correctamente, el estado cambiará a En curso. Cuando el trabajo haya finalizado, el estado cambiará a Completado. Mientras el trabajo de evaluación del modelo esté en curso, puede optar por detenerlo antes de que su equipo de trabajo haya evaluado todas las respuestas del modelo. Para ello, seleccione Detener la evaluación en la página de inicio de la evaluación del modelo. Esto cambiará el estado del trabajo de evaluación del modelo a Detener. Una vez que el trabajo de evaluación del modelo se haya detenido correctamente, puede eliminarlo.

API y AWS CLI

Cuando crea un trabajo de evaluación de modelos basado en humanos fuera de la consola de Amazon Bedrock, debe crear un ARN de definición de flujo de Amazon SageMaker AI.

El ARN de definición del flujo es donde se define el flujo de trabajo de evaluación de un modelo. La definición del flujo se utiliza para definir la interfaz de trabajo y el equipo de trabajo que desea asignar a la tarea y conectarse a Amazon Bedrock.

Para los trabajos de evaluación de modelos que comiencen a utilizar las operaciones de la API de Amazon Bedrock, debe crear un ARN de definición de flujo mediante AWS CLI el SDK o uno compatible. AWS Para obtener más información sobre cómo funcionan las definiciones de flujo y cómo crearlas mediante programación, consulte Crear un flujo de trabajo de revisión humana (API) en la SageMaker Guía para desarrolladores de IA.

En la CreateFlowDefinition debe especificar AWS/Bedrock/Evaluation como entrada de AwsManagedHumanLoopRequestSource. El rol de servicio de Amazon Bedrock también debe tener permisos para acceder al bucket de salida de la definición del flujo.

A continuación, se muestra un ejemplo de solicitud que utiliza AWS CLI. En la solicitud, HumanTaskUiArn se trata de un SageMaker ARN propiedad de AI. En el ARN, solo puede modificar la Región de AWS.

aws sagemaker create-flow-definition --cli-input-json ' { "FlowDefinitionName": "human-evaluation-task01", "HumanLoopRequestSource": { "AwsManagedHumanLoopRequestSource": "AWS/Bedrock/Evaluation" }, "HumanLoopConfig": { "WorkteamArn": "arn:aws:sagemaker:Región de AWS:111122223333:workteam/private-crowd/my-workteam", ## The Task UI ARN is provided by the service team, you can only modify the Región de AWS. "HumanTaskUiArn":"arn:aws:sagemaker:Región de 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://amzn-s3-demo-destination-bucket" }, "RoleArn": "arn:aws:iam::111122223333:role/SageMakerCustomerRoleArn" }'

Tras crear el ARN de definición de flujo, utilice los siguientes ejemplos para crear un trabajo de evaluación de modelos basado en humanos mediante el SDK AWS CLI o un SDK compatible. AWS

AWS CLI

En el siguiente comando de ejemplo y archivo JSON se muestra cómo crear un trabajo de evaluación de modelos con intervención humana en el que proporciona sus propios datos de respuesta de inferencia. Para obtener información sobre cómo especificar un conjunto de datos de peticiones para un trabajo de evaluación de modelos con intervención humana, consulte Requisitos para crear conjuntos de datos de peticiones personalizados para un trabajo de evaluación de modelos con intervención humana.

ejemplo AWS CLI comando y archivo JSON para crear un trabajo de evaluación con sus propios datos de respuesta a la inferencia
aws bedrock create-evaluation-job --cli-input-json file://my_eval_job.json
{ "jobName": "model-eval-llama-vs-my-other-model", "roleArn": "arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-IAM-Role-20250218T223671", "evaluationConfig": { "human": { "customMetrics": [ { "description": "Measures the organization and structure of a generated text.", "name": "Coherence", "ratingMethod": "ThumbsUpDown" }, { "description": "Indicates the accuracy of a generated text.", "name": "Accuracy", "ratingMethod": "ComparisonChoice" } ], "datasetMetricConfigs": [ { "dataset": { "datasetLocation": { "s3Uri": "s3://amzn-s3-demo-bucket/input/model-eval/fitness-dataset-model-eval-byoir-2-models.jsonl" }, "name": "dataset1" }, "metricNames": [ "Coherence", "Accuracy" ], "taskType": "Generation" } ], "humanWorkflowConfig": { "flowDefinitionArn": "arn:aws:sagemaker:us-east-1:111122223333:flow-definition/bedrock-fitness-human-byoir", "instructions": "<h3>The following are the metrics and their descriptions for this evaluation</h3>\n<p><strong>Coherence</strong>: Measures the organization and structure of a generated text. - <em>Thumbs up/down</em>\n<strong>Accuracy</strong>: Indicates the accuracy of a generated text. - <em>Choice buttons</em></p>\n<h3>Instructions for how to use the evaluation tool</h3>\n<p>The evaluation creator should use this space to write detailed descriptions for every rating method so your evaluators know how to properly rate the responses with the buttons on their screen.</p>\n<h4>For example:</h4>\n<p>If using <strong>Likert scale - individual</strong>, define the 1 and 5 of the 5 point Likert scale for each metric so your evaluators know if 1 or 5 means favorable/acceptable/preferable.\nIf using <strong>Likert scale - comparison</strong>, describe what the evaluator is looking for to determine their preference between two responses.\nIf using <strong>Choice buttons</strong>, describe what is preferred according to your metric and its description.\nIf using <strong>Ordinal ranking</strong>, define what should receive a #1 ranking according to your metric and its description.\nIf using <strong>Thumbs up/down</strong>, define what makes an acceptable response according to your metric and its description.</p>\n<h3>Describing your ground truth responses if applicable to your dataset</h3>\n<p>Describe the purpose of your ground truth responses that will be shown on screen next to each model response. Note that the ground truth responses you provide are not rated/scored by the evaluators - they are meant to be a reference standard for comparison against the model responses.</p>" } } }, "inferenceConfig": { "models": [ { "precomputedInferenceSource": { "inferenceSourceIdentifier": "llama-3-1-80b" } }, { "precomputedInferenceSource": { "inferenceSourceIdentifier": "my_other_model" } } ] }, "outputDataConfig": { "s3Uri": "s3://amzn-s3-demo-bucket/output/" } }
SDK for Python

En el siguiente ejemplo de código se muestra cómo crear un trabajo de evaluación del modelo con intervención humana mediante el SDK para 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":"{\"inferenceConfig\":{\"maxTokens\": 512,\"temperature\":0.7,\"topP\":0.9}}" } }, { "bedrockModel": { "modelIdentifier": "anthropic.claude-v2", "inferenceParams": "{\"inferenceConfig\":{\"maxTokens\":512,\"temperature\":1,\"topP\":0.999,\"stopSequences\":[\"stop\"]},\"additionalModelRequestFields\":{\"top_k\": 128}}" } } ] }, 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)