CV|专访ACL2020最佳论文二作:全新NLP模型评测方法论,思路也适用于CV( 二 )


公平性
时态(理解事件顺序)
否定
共指(Coreference),
语义角色标记(理解诸如agent、object等角色)
逻辑(处理对称性、一致性和连词的能力)。
通过以上,CheckList实现包括多个抽象,帮助用户轻松生成大量测试用例,例如模板、词典、通用扰动、可视化和上下文感知建议。然而此功能列表并非详尽无遗,而是用户的一个起点,用户还应提供特定于其任务或域的附加功能。
5、How to test
作者提示用户使用三种不同的测试类型来评估每个功能:最小功能测试、不变性和定向期望测试(矩阵中的列)。
1)最小功能测试(MFT):它是受软件工程中单元测试的启发的一组简单的示例(和标签)的集合,用于检查功能中的行为。MFT类似于创建小而集中的测试数据集,尤其适用于在模型使用快捷方式处理复杂输入而不实际掌握功能的情况下进行检测。
2)不变性测试(INV):当对输入应用保留标签的扰动并期望模型预测保持不变时。不同的功能需要不同的扰动函数,例如,更改NER情感功能的位置名称,或者引入输入错误来测试健壮性能力。
 CV|专访ACL2020最佳论文二作:全新NLP模型评测方法论,思路也适用于CV
文章图片
3)定向期望测试(DIR):与不变性测试类似,只是标签会以某种方式发生变化。例如,我们预计,如果我们在针对某家航空公司的推文末尾添加“You are lame.”(图1C),情绪不会变得更积极。
 CV|专访ACL2020最佳论文二作:全新NLP模型评测方法论,思路也适用于CV
文章图片
6、可视化效果
调用test.visual_summary()
在代码中调用suite.summary()(与test.summary相同)或suite.visual_summary_table() 显示测试结果如下:
 CV|专访ACL2020最佳论文二作:全新NLP模型评测方法论,思路也适用于CV
文章图片
模型保存和加载:精简至极!
7、更方便的大规模生成测试用例
用户可以从头开始创建测试用例,也可以通过扰动现有的数据集来创建测试用例。从头开始可以更容易地为原始数据集中可能未充分表示或混淆的特定现象创建少量高质量测试用例。然而,从头开始编写需要大量的创造力和努力,这通常会导致测试覆盖率低或者生成成本高、耗时长。扰动函数很难编写,但同时生成许多测试用例。为了支持这两种情况,作者提供了各种抽象,从零开始扩展测试创建,并使扰动更容易处理。
8、使用CheckList测试SOTA模型
作者通过付费API 检查了以下商业情绪分析模型:微软的文本分析、谷歌云的自然语言和亚马逊的Constract。我们还检查了在SST-23(acc:92.7%和94.8%)和QQP数据集(acc:91.1%和91.3%)上微调的BERT base和RoBERTa base。对于MC,作者使用了一个经过预训练的大BERT 微调阵容,达到93.2 F1。
 CV|专访ACL2020最佳论文二作:全新NLP模型评测方法论,思路也适用于CV
文章图片
9、测试商业系统
作者联系了负责微软服务销售的通用情绪分析模型的团队(表1中的q)。由于它是一个面向公众的系统,模型的评估过程比研究系统更全面,包括公开可用的基准数据集以及内部构建的重点基准(例如否定、emojis)。此外,由于该服务已经成熟,拥有广泛的客户群,因此它经历了许多错误发现(内部或通过客户)和后续修复的周期,之后在基准测试中添加了新的示例。
作者的目标是验证检查表是否会增加价值,即使在这样的情况下,模型已经用当前的实践进行了广泛的测试。
作者邀请小组参加了一个持续约5小时的检查表会议。该团队集思广益地进行了大约30个测试,涵盖了所有功能。
从质量上讲,该小组称检查表非常有用:
(1)他们测试了他们没有考虑过的能力;
(2)他们测试了他们考虑过但不在benchmark中的能力;
(3)甚至他们有基准的能力(例如否定)也用检查表进行了更彻底和系统的测试。
他们发现了许多以前未知的错误,他们计划在下一个模型迭代中修复这些错误。最后,他们表示,他们肯定会将检查表纳入他们的开发周期,并要求访问我们的实现。
10、用户研究
作者进行了一项用户研究,以在一个更可控的环境中进一步评估检查表的不同子集,并验证即使是没有任务经验的用户也能获得洞察并发现模型中的错误。
尽管用户在使用CheckList时不得不解析更多的指令和学习新的工具,但他们同时为模型创建了更多的测试。
在实验结束时,作者要求用户评估他们在每个特定测试中观察到的失败的严重程度,研究结果令人鼓舞:有了检查表的子集,没有经验的用户能够在2小时内发现SOTA模型中的重大缺陷。此外,当被要求对检查表的不同方面进行评分时(1-5分),用户表示,测试环节有助于他们进一步了解模型,功能帮助他们更彻底地测试模型,模板也是如此。
评估特定语言能力的一种方法是创建挑战性数据集。我们的目标不是让检查表取代挑战或基准数据集,而是对它们进行补充。CheckList保留了挑战集的许多优点,同时也减轻了它们的缺点:用模板从头开始编写示例提供了系统控制,而基于扰动的INV和DIR测试允许在未标记的自然发生的数据中测试行为。


推荐阅读