在 Amazon Bedrock 中开始自动模型评估工作 - Amazon Bedrock

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 Amazon Bedrock 中开始自动模型评估工作

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

以下示例向您展示了如何使用 Amazon Bedrock 控制台、 AWS CLI适用于 Python 的软件开发工具包创建自动模型评估任务。

所有自动模型评测作业都需要您创建 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命令来查看哪些参数是必需的,以及哪些参数create-evaluation-job在中指定时是可选的 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":"{\"inferenceConfig\":{\"maxTokens\": 512,\"temperature\":0.7,\"topP\":0.9}}"}}]}' \ --output-data-config '{"s3Uri":"s3://automatic-eval-jobs/outputs"}'