在 Studio 中创建自动模型评测任务 - 亚马逊 SageMaker AI
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

在 Studio 中创建自动模型评测任务

Studio 中的向导可指导您选择要评估的模型、选择任务类型、选择指标和数据集,以及配置任何所需的资源。以下主题将向您介绍如何格式化可选的自定义输入数据集、设置环境以及在 Studio 中创建模型评测任务。

要使用自己的自定义提示数据集,它必须是一个 jsonlines 文件,其中每一行都是一个有效的 JSON 对象。每个 JSON 对象都必须包含一个提示。

为了帮助确保您选择的 JumpStart 模型表现良好, SageMaker Clarify 会自动将所有提示数据集的格式设置为最适合您选择的模型评估维度的格式。对于内置的提示数据集,C SageMaker larify 还会用额外的教学文本来补充你的提示。要查看 Clarify 将如何 SageMaker 修改提示,请在已添加到模型评估作业的评估维度下选择提示模板。要查看如何修改提示模板的示例,请参阅提示模板示例

切换开关允许你关闭或打开 Clarify 为内置数据集提供的 SageMaker 自动提示模板支持。关闭自动提示模板后,您可以指定自己的自定义提示模板,并将其应用于数据集中的所有提示。

要了解用户界面中自定义数据集可用的键,请参阅以下任务列表。

  • model_input:需要用于指示以下任务的输入。

    • 您的模型在开放式生成毒性准确性任务中应响应的提示

    • 您的模型在问题解答事实知识任务中应该回答的问题

    • 您的模型在文本总结任务中应该总结的文本

    • 模型应在分类任务中分类的文本

    • 您希望模型在语义鲁棒性任务中扰动的文本

  • target_output:要求指明响应,以便在以下任务中对您的模型进行评估。

    • 回答问题答案准确性语义鲁棒性实际评估任务。

    • 对于准确性语义鲁棒性任务,用 <OR> 分隔可接受的答案。评测将以逗号分隔的任何答案为正确答案。例如,如果您想接受 UKEnglandtarget_output="UK<OR>England<OR>United Kingdom" 作为可接受的答案,请使用 United Kingdom

  • (可选)category:生成每个类别的评估得分报告。

  • sent_less_input:提示定型任务时需要使用,用于指示包含更少偏差的提示。

  • sent_more_input:提示定型任务时需要使用,用于指示包含更多偏差的提示。

事实性知识的评估既需要提出问题,也需要有答案来核对模型的回答。使用包含在问题中的值的键 model_input,以及包含在答案中的值的键 target_output,如下所示:

{"model_input": "Bobigny is the capital of", "target_output": "Seine-Saint-Denis", "category": "Capitals"}

上例是一个有效的 JSON 对象,它构成了 jsonlines 输入文件中的一条记录。每个 JSON 对象都会作为一个请求发送到您的模型。如需提出多项请求,请填写多行。以下数据输入示例用于问答任务,该任务使用可选的 category 键进行评估。

{"target_output":"Cantal","category":"Capitals","model_input":"Aurillac is the capital of"} {"target_output":"Bamiyan Province","category":"Capitals","model_input":"Bamiyan city is the capital of"} {"target_output":"Abkhazia","category":"Capitals","model_input":"Sokhumi is the capital of"}

如果在用户界面中评估算法,则会为输入数据集设置以下默认值:

  • 评估使用的记录数量是固定的。该算法会从输入数据集中随机抽取一定数量的请求。

    • 要更改这个数字:按照使用 fmeval 库自定义工作流程中的说明使用 fmeval 库,并将参数 num_records 设置为所需的样本数,或 -1 以指定整个数据集。准确性、提示定型、毒性、分类和语义鲁棒性任务的默认评估记录数为 100。事实知识任务的默认记录数为 300

  • 在用户界面中,先前在 target_output 参数中描述的目标输出分隔符被设置为 <OR>

    • 使用其他分隔符分隔可接受的答案:使用 fmeval 库自定义工作流程中所述的 fmeval 库,并将参数 target_output_delimiter 设置为所需的分隔符。

  • 必须使用可用于模型评估的基于文本的 JumpStart 语言模型。这些模型有多个数据输入配置参数,这些参数会自动传递到 FMeval 流程中。

    • 使用另一种模型:使用 fmeval 库定义输入数据集的数据配置。

要运行大型语言模型 (LLM) 的自动评估,您必须设置环境,使其拥有运行评估的正确权限。然后,您可以使用用户界面引导您完成工作流程中的各个步骤,并运行评估。以下各节将向您展示如何使用用户界面运行自动评估。

先决条件
  • 要在 Studio UI 中运行模型评测,您的 Amazon Identity and Access Management (IAM) 角色和任何输入数据集都必须具有正确的权限。如果您没有 A SageMaker I 域或 IAM 角色,请按照中的步骤操作亚马逊 A SageMaker I 入门指南

为 S3 存储桶设置权限

创建域和角色后,使用以下步骤添加评估模型所需的权限。

  1. 打开 Amazon A SageMaker I 控制台,网址为https://console.aws.amazon.com/sagemaker/

  2. 在导航窗格中,在页面顶部的搜索栏中输入 S3

  3. 服务下选择 S3

  4. 在导航窗格中选择存储桶

  5. 一般用途存储桶部分的名称下,选择用于存储自定义提示数据集的 Amazon S3 存储桶的名称,以及模型评测任务结果的保存位置。您的 Amazon S3 存储桶必须与您的 Studio 实例 Amazon Web Services 区域 相同。如果您没有 Amazon S3 存储桶,请执行以下操作。

    1. 选择创建存储桶打开一个新的创建存储桶页面。

    2. 常规配置部分的 Amazon 区域下,选择基础模型所在的 Amazon 区域。

    3. 存储桶名称下的输入框中为 S3 存储桶命名。

    4. 接受所有默认选项。

    5. 选择创建存储桶

    6. 一般用途存储桶部分的名称下,选择创建的 S3 存储桶的名称。

  6. 选择 Permissions(权限)选项卡。

  7. 滚动到窗口底部的跨源资源共享 (CORS) 部分。选择编辑

  8. 要在存储桶中添加 CORS 权限,请将以下代码复制到输入框中。

    [ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "GET", "PUT", "POST", "DELETE" ], "AllowedOrigins": [ "*" ], "ExposeHeaders": [ "Access-Control-Allow-Origin" ] } ]
  9. 选择 Save changes(保存更改)

要在 IAM 策略中添加权限
  1. 在页面顶部的搜索栏中输入 IAM

  2. 服务下,选择身份和访问权限管理 (IAM)

  3. 从导航窗格中选择策略

  4. 选择创建策略。打开策略编辑器后,选择 JSON

  5. 选择下一步

  6. 确保策略编辑器中显示以下权限。您也可以将以下内容复制并粘贴到策略编辑器中。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams", "s3:GetObject", "s3:PutObject", "s3:ListBucket", "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "sagemaker:Search", "sagemaker:CreateProcessingJob", "sagemaker:DescribeProcessingJob" ], "Resource": "*" } ] }
  7. 选择下一步

  8. 策略名称下的策略详情部分输入策略名称。您也可以输入可选描述。将该策略名称分配给角色时,将搜索该策略名称。

  9. 选择创建策略

为 IAM 角色添加权限
  1. 在导航窗格中选择 Roles。输入要使用的角色名称。

  2. 角色名称下选择角色名称。主窗口将显示有关您角色的信息。

  3. 权限策略部分,选择添加权限旁边的向下箭头。

  4. 在出现的选项中,选择附加策略

  5. 从出现的策略列表中,搜索在步骤 5 中创建的策略。选择您保单名称旁边的复选框。

  6. 选择操作旁边的向下箭头。

  7. 在出现的选项中,选择附加

  8. 搜索您创建的角色名称。选择名称旁边的复选框。

  9. 选择添加权限。页面顶部的横幅应注明策略已成功附加到角色

  • .

创建自动模型评估作业时,您可以从可用的基于文本的 JumpStart 模型中进行选择,也可以使用之前部署到端点的基于文本的 JumpStart 模型。

要创建自动模型评测任务,请使用以下步骤。

在 Studio 中启动自动模型评测任务。
  1. 打开 Amazon A SageMaker I 控制台,网址为https://console.aws.amazon.com/sagemaker/

  2. 在页面顶部的搜索栏中输入 SageMaker AI

  3. 在 “服务” 下,选择 “亚马逊 SageMaker AI”。

  4. 从导航窗格中选择 Studio

  5. 展开选择域下的向下箭头后,从开始使用部分选择域。

  6. 展开选择用户配置文件下的向下箭头后,从开始使用部分选择用户配置文件。

  7. 选择打开 Studio 打开 Studio 的登录页面。

  8. 在主导航窗格中选择作业

  9. 然后,选择模型评测

设置评估作业
  1. 接下来,选择评估模型,

  2. 步骤 1:指定任务详细信息中执行以下操作:

    1. 输入模型评测的名称。该名称有助于您在提交模型评测任务后对其进行识别。

    2. 输入描述,为名称添加更多背景信息。

    3. 选择下一步

  3. 步骤 2:设置评估中,执行以下操作:

    1. 评估类型下选择自动

    2. 然后,选择添加模型到评估

    3. 添加模型模式中,您可以选择使用预先训练的 Jumpstart 基础模型SageMaker AI 端点。如果您已经部署了 JumpStart 模型,请选择 SageMaker AI 端点,否则请选择预训练的 Jumpstart 基础模型。

    4. 然后,选择保存

    5. 可选)添加模型后,选择提示模板,即可查看基于所选模型的预期提示输入格式。有关如何为数据集配置提示模板的信息,请参阅 提示模板

      • 要使用默认提示模板,请完成以下步骤:

        1. 切换使用数据集提供的默认提示模板

        2. (可选)针对每个数据集,查看 Clarify 提供的提示。

        3. 选择保存

      • 要使用自定义提示模板,请完成以下步骤:

        1. 关闭使用数据集提供的默认提示模板

        2. 如果 Clarify 显示默认提示,您可以对其进行自定义,或将其删除并提供自己的提示。您必须在提示模板中包含 $model_input 变量。

        3. 选择保存

    6. 然后,在任务类型下选择一个任务类型。

      有关任务类型和相关评估维度的更多信息,请参阅 在模型评测作业中使用提示数据集和可用评估维度 中的自动评估。

    7. 评估指标部分,选择一个评估维度描述下的文本框包含有关标注的其他上下文。

      选择任务后,与任务相关的指标会出现在指标下。在本节中,请执行以下操作。

    8. 评估维度下的向下箭头中选择一个评估维度。

    9. 选择一个评估数据集。您可以选择使用自己的数据集或内置数据集。如果要使用自己的数据集来评估模型,则必须以 FMEval 可用的方式对其进行格式化。它还必须位于具有上一节 设置您的环境 中提到的 CORS 权限的 S3 存储桶中。有关如何格式化自定义数据集的更多信息,请参阅 使用自定义输入数据集

    10. 输入要保存输出评估结果的 S3 存储桶位置。该文件采用 jsonlines (.jsonl) 格式。

    11. 处理器配置部分使用以下参数配置处理器:

      • 使用实例计数指定用于运行模型的计算实例数量。如果使用的实例超过 1,则模型将在并行实例中运行。

      • 使用实例类型来选择用于运行模型的计算实例类型。有关实例类型的更多信息,请参阅 可与 Studio Classic 一起使用的实例类型

      • 使用卷 KMS 密钥指定您的 Amazon Key Management Service (Amazon KMS) 加密密钥。 SageMaker AI 使用您的 Amazon KMS 密钥对来自模型和您的 Amazon S3 存储桶的传入流量进行加密。有关键的更多信息,请参阅 Amazon Key Management Service

      • 使用 O utput KMS 密钥为传出流量指定 Amazon KMS 加密密钥。

      • 使用 IAM 角色指定默认处理器的访问权限。输入您在 设置您的环境 中设置的 IAM 角色

    12. 指定模型和标准后,选择下一步。主窗口跳转至步骤 5 复查和保存

审核并运行评估作业
  1. 检查您为评估所选择的所有参数、模型和数据。

  2. 选择创建资源运行评估。

  3. 要查看您的作业状态,请转到页面顶部的模型评测部分。