本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建使用人工的模型评测
重要
允许 Amazon SageMaker Studio 或 Amazon SageMaker Studio Classic 创建亚马逊 SageMaker资源的自定义 IAM 策略还必须授予向这些资源添加标签的权限。之所以需要为资源添加标签的权限,是因为 Studio 和 Studio Classic 会自动为创建的任何资源添加标签。如果 IAM 策略允许 Studio 和 Studio Classic 创建资源但不允许标记,则在尝试创建资源时可能会出现 AccessDenied “” 错误。有关更多信息,请参阅 提供标记 A SageMaker I 资源的权限。
Amazon亚马逊 A SageMaker I 的托管策略授予创建 SageMaker 资源的权限已经包括在创建这些资源时添加标签的权限。
要创建使用人工的模型评测任务,必须设置环境以获得正确的权限。然后,您可以使用 Studio 中的模型评测作业向导来选择要使用的模型,然后定义要在模型评测作业中使用的参数和劳动力。
作业完成后,您可以查看报告,了解劳动力对所选模型的评估情况。结果也会以 jsonlines 输出文件的形式保存在 Amazon S3 中。
在使用人工智能的模型评估作业中,您可以从托管在 AI 之外的模型和托管在 SageMaker AI 之外的模型中获取推理数据。Amazon要了解更多信息,请参阅在使用人工的模型评测作业中使用自己的推理数据。
作业完成后,结果会保存在创建作业时指定的 Amazon S3 存储桶中。要了解如何解释结果,请参阅 了解模型评测作业的结果。
先决条件
要在 Amazon SageMaker Studio 用户界面中运行模型评估,您的 Amazon Identity and Access Management (IAM) 角色和所有输入数据集都必须具有正确的权限。如果您没有 A SageMaker I 域或 IAM 角色,请按照中的步骤操作亚马逊 A SageMaker I 入门指南。
设置权限
下一节将向您展示如何创建 Amazon S3 存储桶以及如何指定正确的跨源资源共享 (CORS) 权限。
创建 Amazon S3 存储桶并指定 CORS 权限
打开 Amazon A SageMaker I 控制台,网址为https://console.aws.amazon.com/sagemaker/
。 -
在导航窗格中,在页面顶部的搜索栏中输入
S3。 -
在服务下选择 S3。
-
在导航窗格中选择存储桶。
-
在一般用途存储桶部分的名称下,选择要用于在管理控制台中存储模型输入和输出的 S3 存储桶的名称。如果没有 S3 存储桶,请执行以下操作。
-
选择创建存储桶打开一个新的创建存储桶页面。
-
在常规配置部分的 Amazon 区域下,选择基础模型所在的 Amazon 区域。
-
在存储桶名称下的输入框中为 S3 存储桶命名。
-
接受所有默认选项。
-
选择创建存储桶。
-
在一般用途存储桶部分的名称下,选择创建的 S3 存储桶的名称。
-
-
选择权限选项卡。
-
滚动到窗口底部的跨源资源共享 (CORS) 部分。选择编辑。
-
以下是必须添加到 Amazon S3 存储桶所需的最低 CORS 策略。将以下内容复制并粘贴到输入框中。
[ { "AllowedHeaders": ["*"], "AllowedMethods": [ "GET", "HEAD", "PUT" ], "AllowedOrigins": [ "*" ], "ExposeHeaders": [ "Access-Control-Allow-Origin" ], "MaxAgeSeconds": 3000 } ] -
选择保存更改。
要在 IAM 策略中添加权限
您可能需要考虑为 IAM 角色附加的权限级别。
-
您可以创建一个自定义 IAM 策略,允许为该服务量身定制所需的最低权限。
-
您可以将现有的
AmazonSageMakerFullAccess和AmazonS3FullAccess策略附加到现有的 IAM 角色上,这样权限会更大。有关该AmazonSageMakerFullAccess策略的更多信息,请参阅AmazonSageMakerFullAccess。
如果希望将现有策略附加到 IAM 角色,可以跳过此处的说明,继续按照要添加权限到您的 IAM 角色下的说明进行操作。
下面的说明创建了一个自定义 IAM 策略,该策略是为该服务量身定制的,具有最低权限。
打开 Amazon A SageMaker I 控制台,网址为https://console.aws.amazon.com/sagemaker/
。 -
在页面顶部的搜索栏中输入
IAM。 -
在服务下,选择身份和访问权限管理 (IAM)。
-
从导航窗格中选择策略。
-
选择创建策略。打开策略编辑器后,选择 JSON。
-
确保策略编辑器中显示以下权限。您也可以将以下内容复制并粘贴到策略编辑器中。
-
选择下一步。
-
在策略名称下的策略详情部分输入策略名称。您也可以输入可选描述。将该策略名称分配给角色时,将搜索该策略名称。
-
选择创建策略。
为 IAM 角色添加权限
打开 Amazon A SageMaker I 控制台,网址为https://console.aws.amazon.com/sagemaker/
。 -
在页面顶部的搜索栏中输入
IAM。 -
在服务下,选择身份和访问权限管理 (IAM)。
-
在导航窗格中选择 Roles。
-
如果您要创建一个新角色:
-
选择创建角色。
-
在选择受信任实体步骤中,在受信任实体类型下选择自定义信任策略。
-
在自定义信任策略编辑器中,在添加主体旁边选择添加。
-
在弹出的添加主体框中,在主体类型下从选项下拉列表中选择Amazon服务。
-
在 ARN 下,将
{ServiceName}替换为sagemaker。 -
选择添加主体。
-
选择下一步。
-
(可选)在权限策略下选择要添加到角色的策略。
-
(可选)在设置权限边界 - 可选下选择权限边界设置。
-
选择下一步。
-
在名称、审核和创建步骤中,在角色详情下填写您的角色名称和描述。
-
(可选)在添加标签 - 可选下,您可以选择添加新标记并输入键和值 - 可选对来添加标签。
-
检视您的设置。
-
选择创建角色。
-
-
如果要将策略添加到现有角色:
-
在角色名称下选择角色名称。主窗口将显示有关您角色的信息。
-
在权限策略部分,选择添加权限旁边的向下箭头。
-
在出现的选项中,选择附加策略。
-
从出现的策略列表中,搜索并选择您在添加权限到您的 IAM 策略下创建的策略,然后勾选您策略名称旁边的框。如果没有创建自定义 IAM 策略,请搜索并选择 Amazon 提供的
AmazonSageMakerFullAccess和AmazonS3FullAccess策略旁边的复选框。您可能需要考虑为 IAM 角色附加的权限级别。自定义 IAM 策略的说明权限较少,而后者权限较多。有关该AmazonSageMakerFullAccess策略的更多信息,请参阅AmazonSageMakerFullAccess。 -
选择添加权限。完成后,页面顶部应显示策略已成功附加到角色。
-
为 IAM 角色添加信任策略
以下信任策略使管理员可以允许 SageMaker AI 担任该角色。您需要将策略添加到 IAM 角色中。请按以下步骤操作。
打开 Amazon A SageMaker I 控制台,网址为https://console.aws.amazon.com/sagemaker/
。 -
在页面顶部的搜索栏中输入
IAM。 -
在服务下,选择身份和访问权限管理 (IAM)。
-
在导航窗格中选择 Roles。
-
在角色名称下选择角色名称。主窗口将显示有关您角色的信息。
-
选择信任关系选项卡。
-
选择编辑信任策略。
-
确保以下策略出现在编辑信任策略下。您也可以将以下内容复制并粘贴到编辑器中。
-
选择更新策略。完成后,页面顶部的横幅应注明信任策略已更新。
您可以使用中提供的基于文本的模型创建人工评估作业, JumpStart 也可以使用之前部署到端点的 JumpStart 模型。
要启动 JumpStart
打开 Amazon A SageMaker I 控制台,网址为https://console.aws.amazon.com/sagemaker/
。 -
在页面顶部的搜索栏中输入
SageMaker AI。 -
在 “服务” 下,选择 “亚马逊 SageMaker AI”。
-
从导航窗格中选择 Studio。
-
展开选择域下的向下箭头后,从开始使用部分选择域。
-
展开选择用户配置文件下的向下箭头后,从开始使用部分选择用户配置文件。
-
选择打开 Studio 打开 Studio 的登录页面。
-
在导航窗格中选择作业。
设置评估作业
-
在模型评测主页上,选择评估模型
-
指定作业详情。
-
输入模型评测的评估名称。该名称有助于您在提交模型评测任务后对其进行识别。
-
输入描述,为名称添加更多背景信息。
-
选择下一步。
-
-
设置评估
-
在选择评估类型下,选择人工旁边的单选按钮。
-
在选择要评估的模型下,选择添加模型到评估。每次评估最多可以评估两个模型。
-
要使用预训练 JumpStart 模型,请选择预训练JumpStart 的基础模型。如果要使用之前部署到终端节点的 JumpStart模型,请选择带有 JumpStart基础模型的端点。
-
如果模型需要法律协议,请选择复选框确认同意。
-
如果要添加另一个模型,请重复上一步。
-
-
要改变模型在推理过程中的行为方式,请选择设置参数。
设置参数包含一系列推理参数,这些参数会影响模型输出的随机程度、模型输出的长度以及模型下一步会选择哪些词语。
-
接下来,选择任务类型。您可以选择以下任一选项:
-
文本摘要
-
问题解答 (Q&A)
-
文本分类
-
开放式生成
-
自定义
-
-
在评估指标部分,选择一个评估维度,并在描述下的文本框中输入有关该维度的其他内容。您可以选择以下尺寸:
-
流畅性 - 衡量生成文本的语言质量。
-
连贯性 - 衡量生成文本的组织和结构。
-
毒性 - 测量生成文本的有害程度。
-
准确性 - 表示生成文本的准确性。
-
自定义评估维度,可为工作团队定义名称和描述。
要添加自定义评估维度,请执行以下操作:
-
选择添加一个评估维度。
-
在包含提供评估维度的文本框中,输入自定义维度的名称。
-
在包含为该评估维度提供说明的文本框中输入说明,以便工作团队了解如何评估自定义维度。
-
每个指标下都有报告指标,您可以从选择指标类型向下箭头中进行选择。如果有两种模式需要评估,您可以选择比较指标或单个报告指标。如果只有一个模型需要评估,则可以只选择单个报告指标。您可以为上述各项指标选择以下报告指标类型。
-
(比较)李克特量表 - 比较 - 人工评估员将根据您的指示,在 5 分的李克特量表上显示他们对两个回答的偏好。最终报告中的结果将以直方图的形式,显示评估人员对整个数据集的偏好强度评级。在说明中确定 5 点量表的要点,以便评估员知道如何根据您的期望对答复进行得分。在 Amazon S3 中保存的 JSON 输出中,该选择以
ComparisonLikertScale键值对"evaluationResults":"ComparisonLikertScale"表示。 -
(比较)选择按钮 - 允许人工评审员指出他们喜欢的一个答复,而不是另一个答复。评估员根据您的指示,使用单选按钮在两个答案中选择一个。最终报告中的结果将以百分比的形式,显示工作人员为每种模型首选的响应。在说明中明确解释您的评估方法。在 Amazon S3 中保存的 JSON 输出中,该选择以
ComparisonChoice键值对"evaluationResults":"ComparisonChoice"表示。 -
(比较)排序 - 允许人工评估员根据您的指示,从
1开始,按顺序排列他们对提示的首选回答。最终报告中的结果将以直方图的形式,显示评估人员对整个数据集的排名。在您的说明中定义1等级的含义。在 Amazon S3 中保存的 JSON 输出中,该选择以ComparisonRank键值对"evaluationResults":"ComparisonRank"表示。 -
(个人)拇指向上/拇指向下 - 允许人工评估员根据您的指示,将模型的每个反应评为可接受或不可接受。最终报告中的结果将以百分比的形式,显示每个模型从评估人员处获得好评总数的百分比。可以在包含一个或多个模型的评估中使用此评级方法。如果您在一个包含两个模型的评估中使用此功能,那么您的工作团队将对每个模型的回答都会使大拇指向上,而最终报告将显示每个模型单独的汇总结果。在说明中定义可接受的拇指向上或拇指向下的得分。在 Amazon S3 中保存的 JSON 输出中,该选择以
ThumbsUpDown键值对"evaluationResults":"ThumbsUpDown"表示。 -
(个人)李克特量表 - 个人:允许人工评估员根据您的指示,用 5 分的李克特量表来表示他们对模型回答的认可程度。最终报告中的结果将以柱状图的形式显示评估人员对整个数据集的 5 分得分。您可以将本量表用于包含一个或多个模型的评估。如果您在包含一个以上模型的评估中选择了这种评级方法,那么您的工作团队将对每个模型的答复采用 5 分制李克特量表,最终报告将显示每个模型单独的汇总结果。在说明中定义 5 点量表上的要点,以便评估员知道如何根据您的期望对答复进行得分。在 Amazon S3 中保存的 JSON 输出中,该选择以
IndividualLikertScale键值对"evaluationResults":"IndividualLikertScale"表示。
-
-
选择提示数据集。该数据集是必需的,人工工作团队将使用它来评估模型的响应。在 S3 URI 下的文本框中输入数据集文件,提供包含提示数据集的 Amazon S3 存储桶的 S3 URI。您的数据集必须是
jsonlines格式,并包含以下关键字,以确定用户界面将使用数据集的哪些部分来评估您的模型:-
prompt:希望模型生成响应的请求。 -
(可选)
category:提示符的类别标签。category键用于对提示进行分类,以便稍后按类别筛选评估结果,从而更深入地了解评估结果。它本身并不参与评估,工人也不会在评估用户界面上看到它。 -
(可选)
referenceResponse:供人工评估人员参考的答案。参考答案不会由您的工人得分,但可以根据您的指示了解哪些回答是可以接受的,哪些是不可接受的。 -
(可选)
responses-用于指定从 A SageMaker I 之外或外部的Amazon模型推断。该对象需要两个额外的键值对
"modelIdentifier,它是标识模型的字符串,"text"是模型的推论。如果在自定义提示数据集的任何输入中指定了
"responses"键,则必须在所有输入中指定该键。 -
下面的
json代码示例显示了自定义提示数据集中可接受的键值对。如果提供了回复键,则必须选中自带推理复选框。如果选中,则必须在每个提示符中指定responses键。下面的示例可用于问答情景。{ "prompt": { "text": "Aurillac is the capital of" }, "category": "Capitals", "referenceResponse": { "text": "Cantal" }, "responses": [ // All responses must come from a single model. If specified it must be present in all JSON objects. modelIdentifier and text are then also required. { "modelIdentifier":"meta-textgeneration-llama-codellama-7b", "text":"The capital of Aurillac is Cantal."} ] }
-
-
在选择保存评估结果的 S3 位置下的文本框中输入您想要保存输出评估结果的 S3 存储桶位置。写入此 S3 位置的输出文件将采用
JSON格式,以扩展名.json结尾。 -
注意
如果想在模型评测作业中加入自己的推理数据,则只能使用一个模型。
(可选)选择自带推理下的复选框,表示提示数据集包含
responses键。如果将responses键指定为任何提示的一部分,则必须在所有提示中都出现该键。 -
在处理器配置部分使用以下参数配置处理器:
-
使用实例计数指定用于运行模型的计算实例数量。如果使用的实例超过
1,则模型将在并行实例中运行。 -
使用实例类型选择要用于运行模型的计算实例类型。 Amazon具有通用计算实例和针对计算和内存进行了优化的实例。有关实例类型的更多信息,请参阅 可用于 Amazon SageMaker Studio 经典笔记本的实例类型。
-
如果您希望 SageMaker AI 使用自己的 Amazon Key Management Service (Amazon KMS) 加密密钥而不是默认的Amazon托管服务密钥,请在 V olume KMS 密钥下切换到选择 On,然后输入Amazon KMS密钥。 SageMaker AI 将使用您的Amazon KMS密钥对存储卷上的数据进行加密。有关键的更多信息,请参阅 Amazon Key Management Service。
-
如果您希望 SageMaker AI 使用您自己的 Amazon Key Management Service (Amazon KMS) 加密密钥而不是默认的Amazon托管服务密钥,请在输出 KMS 密钥下切换到选择开并输入Amazon KMS密钥。 SageMaker AI 将使用您的Amazon KMS密钥对处理任务输出进行加密。
-
使用 IAM 角色指定默认处理器的访问权限。在运行人工评估部分输入您在设置 IAM 角色部分设置的 IAM 角色。
-
-
指定模型和标准后,选择下一步。
-
您的工作团队由评估您的模型的人员组成。创建工作团队后,该团队将无限期存在,您无法更改其属性。下面介绍了如何与您的工作团队一起开始。
组建工作团队
-
在选择团队输入文本框中选择现有团队或创建新团队。
-
在组织名称中指定组织名称。只有在账户中创建第一个工作团队时,才会出现此字段。
-
指定联系人电子邮件。您的工人将使用此电子邮件与您联系,了解您将向他们提供的评估任务。只有在账户中创建第一个工作团队时,才会出现此字段。
-
指定队名。以后不能更改此名称。
-
为每个将评估大型语言模型 (LLM) 的人工作业人员指定一个电子邮件地址列表。当您为团队指定电子邮件地址时,只有当他们被新添加到工作团队时,才会收到新作业的通知。如果在后续任务中使用同一个团队,则必须手动通知他们。
-
然后,指定每个提示符的工人数。
为工作团队提供指导
-
向您的工人劳动力提供详细说明,以便他们按照您的指标和标准评估您的模型。主窗口中的模板显示了您可以提供的示例说明。有关如何下达指令的更多信息,请参阅创建良好的工人指令。
-
要尽量减少人工评估中的偏差,请选择随机回答位置旁边的复选框。
-
选择下一步。
您可以查看您为人工作业所做选择的摘要。如果您必须更改作业,请选择上一步返回之前的选择。
提交评估作业申请并查看作业进度
-
要提交评估作业申请,请选择创建资源。
-
要查看所有任务的状态,请在导航窗格中选择作业。然后,选择模型评测。评估状态显示为已完成、失败或正在进行。
还将显示以下内容:
-
用于在 SageMaker AI 和 Amazon Bedrock 中进行模型评估的示例笔记本电脑。
-
有关模型评测过程的文档、视频、新闻和博客等其他信息的链接。
-
您的私有工人门户的 URL 也可用。
-
-
在名称下选择您的模型评测,查看评估摘要。
-
摘要提供了有关作业状态、在哪个模型上运行哪种评估任务以及运行时间的信息。在汇总之后,人工评估得分按指标进行分类和汇总。
-
查看使用人工的模型评测作业的成绩单
-
要查看作业报告,请在导航窗格中选择作业。
-
然后,选择模型评测。在模型评测主页上,使用表格查找您的模型评测作业。一旦作业状态变为已完成,您就可以查看成绩单。
-
为成绩单选择模型评测作业的名称。
在创建使用人工工作人员的模型评估作业时,您可以选择带上自己的推理数据,并让您的人工将该推理数据与另一个 JumpStart 模型或已部署到终端节点的 JumpStart 模型生成的数据进行比较。
本主题介绍推理数据所需的格式,以及如何将该数据添加到模型评测任务的简化程序。
选择提示数据集。该数据集是必需的,人工工作团队将使用它来评估模型的响应。在选择 S3 位置以保存评估结果下的文本框中提供包含提示数据集的 Amazon S3 存储桶的 S3 URI。您的数据集必须是 .jsonl 格式。每条记录都必须是有效的 JSON 对象,并包含以下必填键:
-
prompt:一个 JSON 对象,其中包含要传入模型的文本。 -
(可选)
category:提示符的类别标签。category键用于对提示进行分类,以便稍后按类别筛选评估结果,从而更深入地了解评估结果。它本身并不参与评估,工人也不会在评估用户界面上看到它。 -
(可选)
referenceResponse:一个 JSON 对象,其中包含供人工评估员使用的参考答案。参考答案不会由您的工人得分,但可以根据您的指示了解哪些回答是可以接受的,哪些是不可接受的。 -
responses— 用于指定来自 SageMaker AI 之外或外部模型的个别推论。Amazon该对象需要额外的键值对
"modelIdentifier(标识模型的字符串)和"text"(模型推理)。如果在自定义提示数据集的任何输入中指定了
"responses"键,则必须在所有输入中指定该键。
下面的 json 代码示例显示了包含推理数据的自定义提示数据集中可接受的键值对。
{ "prompt": { "text": "Who invented the airplane?" }, "category": "Airplanes", "referenceResponse": { "text": "Orville and Wilbur Wright" }, "responses": // All inference must come from a single model [{ "modelIdentifier":"meta-textgeneration-llama-codellama-7b", "text": "The Wright brothers, Orville and Wilbur Wright are widely credited with inventing and manufacturing the world's first successful airplane." }] }
启动 Studio,在主导航中选择作业下的模型评测。
在人工模型评测任务中添加自己的推理数据。
-
在步骤 1:指定任务详细信息中,添加模型评测任务的名称和可选描述。
-
在步骤 2:设置评估,选择人工。
-
接下来,在选择要评估的模型下,您可以选择要使用的模型。您可以使用已经部署的 JumpStart 模型,也可以选择预先训练的 Jumpstart 基础模型。
-
然后,选择任务类型。
-
接下来,您可以添加评估指标。
-
接下来,在提示数据集下选择自带推理下的复选框,表示提示中包含响应键。
-
然后继续设置模型评测作业。
要进一步了解如何保存使用人工的模型评测作业的响应,请参阅 了解人工评估作业的结果。