

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

# 在 Studio 中创建自动模型评测任务
<a name="clarify-foundation-model-evaluate-auto-ui"></a>

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

## 格式化输入数据集
<a name="clarify-foundation-model-evaluate-auto-ui-format-input"></a>

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

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

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

要了解用户界面中自定义数据集可用的键，请参阅以下任务列表。
+ `model_input`：需要用于指示以下任务的输入。
  + 您的模型在**开放式生成**、**毒性**和**准确性**任务中应响应的**提示**。
  + 您的模型在**问题解答**和**事实知识**任务中应该回答的**问题**。
  + 您的模型在**文本总结**任务中应该总结的**文本**。
  + 模型应在**分类**任务中分类的**文本**。
  + 您希望模型在**语义鲁棒性**任务中扰动的**文本**。
+ `target_output`：要求指明响应，以便在以下任务中对您的模型进行评估。
  + **回答****问题**的**答案**、**准确性**、**语义****鲁棒性**和**实际****评估**任务。
  + 对于**准确性**和**语义****鲁棒性**任务，用 `<OR>` 分隔可接受的答案。评测将以逗号分隔的任何答案为正确答案。例如，如果您想接受 `UK` 或 `England` 或 `target_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` 库定义输入数据集的数据配置。

## 设置环境
<a name="clarify-foundation-model-evaluate-auto-ui-setup"></a>

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

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

**为 S3 存储桶设置权限**

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

1. 打开 Amazon A SageMaker I 控制台，网址为[https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)。

1. 在导航窗格中，在页面顶部的搜索栏中输入 **S3**。

1. 在**服务**下选择 **S3**。

1. 在导航窗格中选择**存储桶**。

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

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

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

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

   1. 接受所有默认选项。

   1. 选择**创建存储桶**。

   1. 在**一般用途存储桶**部分的**名称**下，选择创建的 S3 存储桶的名称。

1. 选择**权限**选项卡。

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

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

   ```
   [
   {
       "AllowedHeaders": [
           "*"
       ],
       "AllowedMethods": [
           "GET",
           "PUT",
           "POST",
           "DELETE"
       ],
       "AllowedOrigins": [
           "*"
       ],
       "ExposeHeaders": [
           "Access-Control-Allow-Origin"
       ]
   }
   ]
   ```

1. 选择**保存更改**。

**要在 IAM 策略中添加权限**

1. 在页面顶部的搜索栏中输入 **IAM**。

1. 在**服务**下，选择**身份和访问权限管理 (IAM)**。

1. 从导航窗格中选择**策略**。

1. 选择**创建策略**。打开**策略编辑器**后，选择 **JSON**。

1. 选择**下一步**。

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

------
#### [ JSON ]

****  

   ```
   {
   "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": "*"
       }
   ]
   }
   ```

------

1. 选择**下一步**。

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

1. 选择**创建策略**。

**为 IAM 角色添加权限**

1. 在导航窗格中选择 **Roles**。输入要使用的角色名称。

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

1. 在**权限**策略部分，选择**添加权限**旁边的向下箭头。

1. 在出现的选项中，选择**附加策略**。

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

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

1. 在出现的选项中，选择**附加**。

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

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

## 在 Studio 中创建自动模型评测任务
<a name="clarify-foundation-model-evaluate-auto-ui-run"></a>

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

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

**在 Studio 中启动自动模型评测任务。**

1. 打开 Amazon A SageMaker I 控制台，网址为[https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)。

1. 在页面顶部的搜索栏中输入 **SageMaker AI**。

1. 在 “**服务**” 下，选择 “**亚马逊 SageMaker AI**”。

1. 从导航窗格中选择 **Studio**。

1. 展开**选择域**下的向下箭头后，从**开始使用**部分选择域。

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

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

1. 在主导航窗格中选择**作业**。

1. 然后，选择**模型评测**。

**设置评估作业**

1. 接下来，选择**评估模型，**。

1. 在**步骤 1：指定任务详细信息**中执行以下操作：

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

   1. 输入**描述**，为名称添加更多背景信息。

   1. 选择**下一步**。

1. 在**步骤 2：设置评估**中，执行以下操作：

   1. 在**评估类型**下选择**自动**。

   1. 然后，选择**添加模型到评估**

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

   1. 然后，选择**保存**。

   1.  （*可选*）添加模型后，选择**提示模板**，即可查看基于所选模型的预期提示输入格式。有关如何为数据集配置提示模板的信息，请参阅 [提示模板](clarify-foundation-model-evaluate-whatis.md#clarify-automatic-jobs-summary-prompt-templates)。
      + 要使用默认提示模板，请完成以下步骤：

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

        1. （可选）针对每个数据集，查看 Clarify 提供的提示。

        1. 选择**保存**。
      + 要使用自定义提示模板，请完成以下步骤：

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

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

        1. 选择**保存**。

   1. 然后，在**任务类型**下选择一个任务类型。

      有关任务类型和相关评估维度的更多信息，请参阅 **[在模型评测作业中使用提示数据集和可用评估维度](clarify-foundation-model-evaluate-overview.md)** 中的自动评估。

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

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

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

   1. 选择一个评估数据集。您可以选择使用自己的数据集或内置数据集。如果要使用自己的数据集来评估模型，则必须以 FMEval 可用的方式对其进行格式化。它还必须位于具有上一节 [设置环境](#clarify-foundation-model-evaluate-auto-ui-setup) 中提到的 CORS 权限的 S3 存储桶中。有关如何格式化自定义数据集的更多信息，请参阅 [使用自定义输入数据集](clarify-foundation-model-evaluate-auto-lib-custom.md#clarify-foundation-model-evaluate-auto-lib-custom-input)。

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

   1. 在**处理器配置**部分使用以下参数配置处理器：
      + 使用**实例计数**指定用于运行模型的计算实例数量。如果使用的实例超过 `1`，则模型将在并行实例中运行。
      + 使用**实例类型**来选择用于运行模型的计算实例类型。有关实例类型的更多信息，请参阅 [可用于 Amazon SageMaker Studio 经典笔记本的实例类型](notebooks-available-instance-types.md)。
      + 使用**卷 KMS** 密钥指定您的 AWS Key Management Service (AWS KMS) 加密密钥。 SageMaker AI 使用您的 AWS KMS 密钥对来自模型和您的 Amazon S3 存储桶的传入流量进行加密。有关键的更多信息，请参阅 [AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)。
      + 使用**输出 KMS 密钥**为传出流量指定 AWS KMS 加密密钥。
      + 使用 **IAM 角色**指定默认处理器的访问权限。输入您在 [设置环境](#clarify-foundation-model-evaluate-auto-ui-setup) 中设置的 IAM 角色

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

**审核并运行评估作业**

1. 检查您为评估所选择的所有参数、模型和数据。

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

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