本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
评估您的模型输出由于输入中存在微小的、保留语义的变化而发生的变化。 基础模型评估 (FMEval) 衡量您的模型输出如何因键盘错别字、随机更改为大写字母以及随机添加或删除空格而发生的变化。
Amazon SageMaker AI 支持从 Amazon SageMaker Studio 运行语义稳健性评估或使用该库。fmeval
-
在 Studio 中运行评估:在 Studio 中创建的评估作业使用预选默认值来快速评估模型性能。开放式生成的语义鲁棒性评估无法在 Studio 中创建。它们必须使用
fmeval
库创建。 -
使用
fmeval
库运行评估:使用fmeval
库创建的评估作业可提供更多选项来配置模型性能评估。
支持的任务类型
语义鲁棒性评估支持以下任务类型及其相关内置数据集。用户也可以自带数据集。 默认情况下, SageMaker AI 会从数据集中随机采样 100 个数据点进行毒性评估。 使用fmeval
库时,可以通过将num_records
参数传递给evaluate
方法来进行调整。 有关使用fmeval
库自定义事实知识评估的信息,请参阅使用 fmeval 库定制工作流程。
任务类型 | 内置数据集 | 备注 |
---|---|---|
文本摘要 | ||
问题回答 | ||
分类 | ||
开放式生成 |
扰动类型
语义鲁棒性评估采用以下三种扰动之一。您可以在配置评估作业时选择扰动类型。所有三种扰动都是根据 NL-Augmenter 改编的。
模型输入示例:A quick brown fox jumps over the lazy dog
。
计算值
该评估衡量的是基于原始、未扰动输入的模型输出与基于一系列扰动版本输入的模型输出之间的性能变化。有关评估所需提示结构的信息,请参阅 在 Studio 中创建自动模型评测任务。
性能变化是原始输入得分与扰动输入得分之间的平均差。评估这种性能变化的得分取决于任务类型:
总结
对于总结任务,语义鲁棒性衡量的是使用扰动输入时的以下得分,以及每个得分的 Delta 值。Delta 得分表示原始输入得分与扰动输入得分之间的平均绝对差值。
问题回答
对于问题解答任务,语义鲁棒性衡量的是使用扰动输入时的以下得分,以及每个得分的 Delta 值。Delta 得分表示原始输入得分与扰动输入得分之间的平均绝对差值。
-
Delta 单词 F1 得分:原始输入和扰动输入的 F1 Over Words 得分的平均绝对差值。单词 F1 得分的计算方法与 问题回答 中的单词 F1 得分相同。
-
Delta 精确匹配得分:精确匹配得分的平均绝对差值。原始输入和扰动输入的精确匹配得分的平均绝对差值。精确匹配得分的计算方法与 问题回答 中的精确匹配得分相同。
-
Delta 准精确匹配得分:原始输入和扰动输入的“准精确匹配得分”的平均绝对差值。准精确匹配得分的计算方法与 问题回答 中的准精确匹配得分相同
-
Delta 单词精确度得分:原始输入和扰动输入的字词精确度得分的平均绝对差值。单词精确度得分的计算方法与 问题回答 中的字词精确度得分相同。
-
Delta 单词回忆得分:原始输入和扰动输入的单词回忆得分的平均绝对差值。单词回忆得分的计算方法与 问题回答 中的单词回忆得分相同。
分类
对于分类任务,语义鲁棒性衡量的是使用扰动输入时的准确性,以及每个得分的 Delta 值。Delta 得分表示原始输入得分与扰动输入得分之间的平均绝对差值。
-
Delta 准确度得分:原始输入和扰动输入的精度得分的平均绝对差值。准确度得分的计算方法与 分类 中的准确度得分相同。
开放式生成
开放式生成的语义鲁棒性评估无法在 Studio 中创建。它们必须使用带的fmeval
库来创建GeneralSemanticRobustness
-
单词错误率
(WER):通过计算将第一代转换为第二代必须更改的单词的百分比,来衡量两代之间的句法差异。 有关 WER 计算的更多信息,请参阅关于字词错误率的HuggingFace 文章 。 -
例如:
-
输入 1:“This is a cat”
-
输入 2:“This is a dog”
-
必须更改的字数:1/4 或 25
-
WER:0.25
-
-
-
BERTScore 差@@ 异性 (BSD):通过从 1 中减去来衡量两代人之间的语义差异。BERTScore 由于语义相似的句子可以嵌入得更近,因此 BSD 可能会带来 WER 中未包含的额外语言灵活性。
-
例如,将第 2 代和第 3 代单独与第 1 代进行比较时,WER 是相同的,但 BSD 得分却因语义而异。
-
gen1(原始输入):
"It is pouring down today"
-
gen2(扰动输入 1):
"It is my birthday today"
-
gen3(扰动输入 2):
"It is very rainy today"
-
WER(gen1, gen2)=WER(gen2, gen3)=0.4
-
BERTScore(gen1, gen2)=0.67
-
BERTScore(gen1, gen3)=0.92
-
BSD(gen1, gen2)= 1-BERTScore(gen1, gen2)=0.33
-
BSD(gen2 ,gen3)= 1-BERTScore(gen2, gen3)=0.08
-
-
GeneralSemanticRobustnessConfig
参数中支持以下选项: -
model_type_for_bertscore
:用于计分的模型名称。 BERTScore Dissimilarity 目前仅支持以下模型:
-
-
非确定性模型
当模型生成策略不确定时,例如在温度不 LLMs 为零的情况下,即使输入相同,输出也可能发生变化。在这种情况下,报告原始输入和扰动输入的模型输出之间的差异,可能会人为地降低鲁棒性。为了考虑非确定性策略,语义鲁棒性评估通过减去基于相同输入的模型输出之间的平均差异,对差异得分进行归一化处理。
max(0,d−dbase)
-
d
:两代人之间的差异分数(单词错误率或 BERTScore 差异度)。 -
dbase
:相同输入时模型输出的差异。