在 Amazon Bedrock 中启动自动模型评测作业 - Amazon Bedrock

在 Amazon Bedrock 中启动自动模型评测作业

您可以使用 AWS 管理控制台、AWS CLI 或支持的 AWS SDK 创建自动模型评测作业。在自动模型评测作业中,所选模型会使用来自支持的内置数据集或您自己的自定义提示数据集的提示来执行推理。每个作业还会要求您选择一个任务类型。任务类型会为您提供一些推荐的指标和内置提示数据集。要了解有关可用的任务类型和指标的更多信息,请参阅 Amazon Bedrock 中的模型评测任务类型

以下示例展示了如何使用 Amazon Bedrock 控制台、AWS CLI、适用于 Python 的 SDK 创建自动模型评测作业。

所有自动模型评测作业都需要您创建 IAM 服务角色。要详细了解设置模型评测作业的 IAM 要求,请参阅模型评估作业的服务角色要求

以下示例展示了如何创建自动模型评测作业。在 API 中,您还可以通过在 modelIdentifier 字段中指定推理配置文件的 ARN 来在作业中包含推理配置文件。

Amazon Bedrock console

按照以下流程使用 Amazon Bedrock 控制台创建模型评测作业。要成功完成此流程,请确保您的 IAM 用户、组或角色拥有足够的权限来访问控制台。要了解更多信息,请参阅创建自动模型评测作业所需的控制台权限

此外,您要在模型评测作业中指定的任何自定义提示数据集都必须将所需的 CORS 权限添加到 Amazon S3 存储桶。要详细了解如何添加所需的 CORS 权限,请参阅必需的 S3 存储桶的跨源资源共享(CORS)权限

创建自动模型评测作业
  1. 通过以下网址打开 Amazon Bedrock 控制台:https://console.aws.amazon.com/bedrock/

  2. 在导航窗格中,选择模型评估

  3. 建立评估卡的自动下,选择创建自动评估

  4. 创建自动评估页面上,提供以下信息:

    1. 评估名称 — 为模型评估作业指定一个可描述该作业的名称。此名称将显示在模型评估作业列表中。此名称在您的 AWS 区域的账户中必须是唯一的。

    2. 描述(可选)— 提供可选描述。

    3. 模型 — 选择要在模型评估作业中使用的模型。

      要详细了解 Amazon Bedrock 中可用的模型以及如何访问这些模型,请参阅访问 Amazon Bedrock 基础模型

    4. (可选)要更改推理配置,请选择更新

      更改推理配置会更改所选模型生成的响应。要了解有关可用推理参数的更多信息,请参阅 基础模型的推理请求参数和响应字段

    5. 任务类型 — 选择您希望模型在模型评估作业期间尝试执行的任务类型。

    6. 指标和数据集 — 可用指标列表和内置提示数据集会根据您选择的任务而变化。您可以从可用的内置数据集列表中进行选择,也可以选择使用您自己的提示数据集。如果您选择使用自己的提示数据集,请输入提示数据集文件的确切 S3 URI,或者选择浏览 S3 搜索提示数据集。

    7. 评估结果 – 指定您希望将结果保存到的目录的 S3 URI。选择浏览 S3 搜索 Amazon S3 中的位置。

    8. (可选)要使用客户自主管理型密钥,请选择自定义加密设置(高级)。然后,提供您要使用的 AWS KMS 密钥的 ARN。

    9. Amazon Bedrock IAM 角色 – 选择使用现有角色以使用已拥有所需权限的 IAM 服务角色,或者选择创建新角色来创建新的 IAM 服务角色。

  5. 然后选择 Create

状态变为已完成后,您可以查看作业的报告卡。

SDK for Python

以下示例使用 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":"{\"inferenceConfig\":{\"maxTokens\": 512,\"temperature\":0.7,\"topP\":0.9}}" } } ] }, outputDataConfig={ "s3Uri":"s3://amzn-s3-demo-bucket-model-evaluations/outputs/" }, evaluationConfig={ "automated": { "datasetMetricConfigs": [ { "taskType": "QuestionAndAnswer", "dataset": { "name": "Builtin.BoolQ" }, "metricNames": [ "Builtin.Accuracy", "Builtin.Robustness" ] } ] } } ) print(job_request)
AWS CLI

在 AWS CLI 中,您可以使用 help 命令来查看在 AWS CLI 中指定 create-evaluation-job 时哪些参数是必需的,以及哪些参数是可选的。

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":"{\"inferenceConfig\":{\"maxTokens\": 512,\"temperature\":0.7,\"topP\":0.9}}"}}]}' \ --output-data-config '{"s3Uri":"s3://automatic-eval-jobs/outputs"}'