Creación de trabajos de evaluación de modelos - 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 trabajos de evaluación de modelos

Los siguientes ejemplos muestran cómo crear un trabajo de evaluación de modelos con la consola Amazon Bedrock AWS CLI, el SDK para Python.

Trabajos de evaluación de modelos automática

Los siguientes ejemplos muestran cómo crear un trabajo de evaluación automática de modelos. Todos los trabajos de evaluación automática de modelos requieren la creación de un rol de servicio de IAM. Para obtener más información sobre los requisitos de IAM para configurar un trabajo de evaluación de modelos, consulte. Requisitos de rol de servicio para los trabajos de evaluación de modelos

Amazon Bedrock console

Utilice el siguiente procedimiento para crear un trabajo de evaluación de modelos mediante la consola Amazon Bedrock. Para completar correctamente este procedimiento, asegúrese de que su usuario, grupo o rol de IAM tiene los permisos suficientes para acceder a la consola. Para obtener más información, consulte Permisos necesarios para crear un trabajo de evaluación de modelos con la consola de Amazon Bedrock.

Además, cualquier conjunto de datos de solicitudes personalizadas que desee especificar en el trabajo de evaluación del modelo debe tener los permisos CORS necesarios añadidos al bucket de Amazon S3. Para obtener más información sobre cómo añadir los permisos CORS necesarios, consulte,. Requisito del permiso de uso compartido de recursos entre orígenes (CORS) en buckets de S3

Para crear un trabajo de evaluación automática de modelos
  1. Abra la consola de Amazon Bedrock: https://console.aws.amazon.com/bedrock

  2. En el panel de navegación, elija Evaluación de modelo.

  3. En la tarjeta Crear una evaluación, en Automático, elija Crear evaluación automática.

  4. En la página Crear evaluación automática, proporcione la siguiente información

    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 Cuenta de AWS en su nombre Región de AWS.

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

    3. Modelos: elija el modelo que desee utilizar en el trabajo de evaluación de modelos.

      Para obtener más información sobre los modelos disponibles y cómo acceder a ellos en Amazon Bedrock, consulteGestione el acceso a los modelos básicos de Amazon Bedrock.

    4. (Opcional) Para cambiar la configuración de inferencia, elija actualizar.

      Al cambiar la configuración de inferencia, se modifican las respuestas generadas por el modelo seleccionado. Para obtener más información sobre los parámetros de inferencia disponibles, consulte Parámetros de inferencia para modelos fundacionales.

    5. Tipo de tarea: elija el tipo de tarea que desea que el modelo intente realizar durante el trabajo de evaluación de modelos.

    6. Métricas y conjuntos de datos: la lista de métricas disponibles y los conjuntos de datos de peticiones integrados cambian en función de la tarea que seleccione. Puede elegir de la lista de Conjuntos de datos integrados disponibles o puede elegir Usar su propio conjunto de datos de peticiones. Si decide usar su propio conjunto de datos de solicitudes, introduzca el URI de S3 exacto del archivo de conjunto de datos de solicitudes o elija Examinar S3 para buscar su conjunto de datos de solicitudes.

    7. >Resultados de la evaluación: especifique el URI de S3 del directorio en el que desea guardar los resultados. Elija Browse S3 para buscar una ubicación en Amazon S3.

    8. (Opcional) Para habilitar el uso de una clave administrada por el cliente, seleccione Personalizar la configuración de cifrado (avanzada). Luego, proporciona el ARN de la AWS KMS clave que deseas usar.

    9. Función de IAM de Amazon Bedrock: elija Usar una función existente para usar la función de servicio de IAM que ya tenga los permisos necesarios o elija Crear una nueva función para crear una nueva función de servicio de IAM,

  5. A continuación, elija Crear.

Una vez que comience su trabajo, el estado cambiará. Una vez que el estado cambie: Completado, podrá ver la libreta de calificaciones del trabajo.

SDK for Python

Procedimiento

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

En el AWS CLI, puede utilizar el help comando para ver qué parámetros son obligatorios y qué parámetros son opcionales al especificarlos create-evaluation-job en el 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"}'

Trabajos de evaluación de modelos basados en humanos

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 SageMaker flujo de Amazon.

El ARN de definición de flujo es donde se define el flujo de trabajo de evaluación de un modelo. La definición de 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 iniciados en Amazon Bedrock, debe crear el 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 Guía para desarrolladores. SageMaker

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

A continuación, se muestra un ejemplo de solicitud que utiliza AWS CLI. En la solicitud, se HumanTaskUiArn trata de un SageMaker ARN propio. En el ARN, solo puede modificar el. 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", "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://your-output-bucket" }, "RoleArn": "arn:aws:iam::111122223333:role/SageMakerCustomerRoleArn" }'

Una vez que haya creado su ARN de definición de flujo, puede utilizar los siguientes ejemplos para crear su trabajo de evaluación de modelos que utilice trabajadores humanos.

Amazon Bedrock console

Utilice el siguiente procedimiento para crear un trabajo de evaluación de modelos mediante la consola Amazon Bedrock. Para completar correctamente este procedimiento, asegúrese de que su usuario, grupo o rol de IAM tiene los permisos suficientes para acceder a la consola. Para obtener más información, consulte Permisos necesarios para crear un trabajo de evaluación de modelos con la consola de Amazon Bedrock.

Además, cualquier conjunto de datos de solicitudes personalizadas que desee especificar en el trabajo de evaluación del modelo debe tener los permisos CORS necesarios añadidos al bucket de Amazon S3. Para obtener más información sobre cómo añadir los permisos CORS necesarios, consulte,. Requisito del permiso de uso compartido de recursos entre orígenes (CORS) en buckets de S3

Para crear un trabajo de evaluación modelo que utilice trabajadores humanos
  1. Abra la consola de Amazon Bedrock: https://console.aws.amazon.com/bedrock

  2. En el panel de navegación, elija Evaluación de modelo.

  3. En la tarjeta Crear una evaluación, en Automático, elija Crear evaluación automática.

  4. En la página Crear evaluación automática, proporcione la siguiente información

    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 Cuenta de AWS en su nombre. Región de AWS

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

    3. Modelos: elija el modelo que desee utilizar en el trabajo de evaluación de modelos.

      Para obtener más información sobre los modelos disponibles y cómo acceder a ellos en Amazon Bedrock, consulteGestione el acceso a los modelos básicos de Amazon Bedrock.

    4. (Opcional) Para cambiar la configuración de inferencia, elija actualizar.

      Al cambiar la configuración de inferencia, se modifican las respuestas generadas por el modelo seleccionado. Para obtener más información sobre los parámetros de inferencia disponibles, consulte Parámetros de inferencia para modelos fundacionales.

    5. Tipo de tarea: elija el tipo de tarea que desea que el modelo intente realizar durante el trabajo de evaluación de modelos.

    6. Métricas y conjuntos de datos: la lista de métricas disponibles y los conjuntos de datos de peticiones integrados cambian en función de la tarea que seleccione. Puede elegir de la lista de Conjuntos de datos integrados disponibles o puede elegir Usar su propio conjunto de datos de peticiones. Si decide usar su propio conjunto de datos de solicitudes, introduzca el URI de S3 exacto del archivo de conjunto de datos de solicitudes o elija Examinar S3 para buscar su conjunto de datos de solicitudes.

    7. Resultados de la evaluación: especifique el URI de S3 del directorio en el que desea guardar los resultados del trabajo de evaluación del modelo. Elija Browse S3 para buscar una ubicación en Amazon S3.

    8. (Opcional) Para habilitar el uso de una clave administrada por el cliente, seleccione Personalizar la configuración de cifrado (avanzada). Luego, proporciona el ARN de la AWS KMS clave que deseas usar.

    9. Función de IAM de Amazon Bedrock: elija Usar una función existente para usar una función de IAMService que ya tenga los permisos necesarios, o elija Crear una nueva función para crear una nueva función de servicio de IAM,

  5. A continuación, elija Crear.

Una vez que su trabajo haya comenzado, el estado cambiará: «En curso». Una vez que el estado cambie: Completado, podrá ver la libreta de calificaciones del trabajo.

SDK for Python

Procedimiento

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)