在 Studio 中创建自动模型评估作业 - Amazon SageMaker

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

在 Studio 中创建自动模型评估作业

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

如果您使用内置数据集在 Studio 中评估模型,则数据集的格式正确。要使用您自己的自定义提示数据集,它必须是一个jsonlines文件,其中每行都是有效的JSON对象。每个JSON对象必须包含一个提示。

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

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

要了解用户界面中哪些密钥可用于自定义数据集,请参阅以下任务列表。

  • model_input— 需要指明以下任务的输入。

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

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

    • 模型应在文本摘要任务中汇总的文本

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

    • 您希望模型在语义稳健性任务中受到干扰的文本

  • target_output— 需要指明针对以下任务评估模型时所依据的响应。

    • 问题准确性语义稳健性和事实评估任务的答案。

    • 为了确保准确性和语义稳健任务,请将可接受的答案与. <OR> 评估接受用逗号分隔的任何答案均为正确答案。例如target_output="UK<OR>England<OR>United Kingdom",如果您想接受UKEnglandUnited 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 界面中运行模型评估,您的 AWS Identity and Access Management (IAM) 角色和任何输入数据集都必须具有正确的权限。如果您没有 SageMaker 域或IAM角色,请按照中的步骤操作Amazon 入门指南 SageMaker

为您的 S3 存储桶设置权限

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

  1. 打开亚马逊 SageMaker 控制台,网址为https://console.aws.amazon.com/sagemaker/

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

  3. 在 “服务” 下选择 S3

  4. 从导航窗格中选择 Buckets

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

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

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

    3. 在存储桶名称下的输入框中命名您的 S3 存储桶

    4. 接受所有默认选项。

    5. 选择创建存储桶

    6. 通用存储桶部分的名称下,选择您创建的 S3 存储桶的名称。

  6. 选择权限选项卡。

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

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

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

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

  2. 在 “服务” 下,选择 Identity and Access Managemen IAM t ()

  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. 打开亚马逊 SageMaker 控制台,网址为https://console.aws.amazon.com/sagemaker/

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

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

  4. 从导航窗格中选择 Studio

  5. 展开 “选择域名” 下的向下箭头后,从 “入门” 部分选择您的域名

  6. 展开 “选择用户个人资料” 下的向下箭头后,从 “入门” 部分中选择您的用户个人资料

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

  8. 从主导航窗格中选择 “作业”。

  9. 然后,选择模型评估

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

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

    1. 输入模型评估的名称。此名称可帮助您在模型评估任务提交后对其进行识别。

    2. 输入描述以为名称添加更多上下文。

    3. 选择下一步

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

    1. 在 “评估类型” 下,选择 “自动”。

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

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

    4. 然后,选择保存

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

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

        1. 开启使用数据集提供的默认提示模板

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

        3. 选择保存

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

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

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

        3. 选择保存

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

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

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

      选择任务后,与该任务关联的指标将显示在 “指标” 下方。在本节中,请执行以下操作。

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

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

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

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

      • 使用实例计数来指定要用于运行模型的计算实例数量。如果您使用多个1实例,则您的模型将在 parallel 实例中运行。

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

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

      • 使用输出KMS密钥为传出流量指定 AWS KMS 加密密钥。

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

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

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

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

  3. 要查看您的任务状态,请前往页面上 “模型评估” 部分的顶部。