卷友们好,我是rumor。
昨天刚说最近没什么好玩的文章,老天就好像听到了我的话一样,在Arixv空降一篇文章下来,打开一看到作者list我都傻眼了:
https://arxiv.org/pdf/2201.05966.pdf
跟复仇者联盟一样,好久没见到这种阵仗了,也好久没见到刷SOTA像喝水一样的文章了。
除了带「+」号的已经用了T5的研究外,21个任务里有16个的记录都被刷新了。
长久以来,大家的关注点都在非结构化的文本任务上,而忽略了另一类以结构化数据为输入的任务,比如Text2SQL、KBQA、Data2Text、表格问答等。UnifiedSKG这篇工作,简单来说就是把这类涉及结构化数据的任务统一用非结构化文本表示,用T5进行精调。
整体idea还是比较简单的,但居然就这么有效果,把那么多SOTA都刷了,直接给这些任务卷上了一个台阶。这么说大家可能没有直观体验,我举个例子。去年我和实习的渊蒙同学基于BERT-base去做了一些KBQA预训练的尝试,做了一两个月在CompWebQ上都没有好效果,当时榜单和SOTA在54分左右,我们都没超过,结果现在上了T5,一下干到了73分。我这还怎么卷???
真是没想到在非结构化文本上训练的模型,在结构化数据任务上这么有效果。
多任务效果
上面的结果,都只是在单任务上的精调结果,后面的多任务才是大招。作者分别尝试了四种精调方法:
ST-F:单任务精调
ST-P:单任务prefix-tuning
MT-F:多任务精调
MT-P:多任务prefix-tuning
本来以为MT-F会好一些,没想到这个场景居然是MT-P效果最好:
因此作者的猜想是:不同的结构化数据领域不同,很难共享参数。
可以看到,MT-P比ST-F的效果又好上了很多,而且prefix-tuning这种freeze模型主干的方式可以更方便的进行应用。
迁移效果
从效果可以看到,这类任务只在同数据来源的情况下才有效,相同task不同结构化数据来源则不行:
少样本效果
作者在零样本和少样本上没有进行过多实验,也没有和其他的研究对比,感兴趣的同学可以看原文:
结构化数据如何编码
除了上述实验外,作者还进行对结构化数据编码的其他探索,得到了以下结论:
在顺序上,先放User input(比如query),再放context,最后放结构化数据效果好一些。作者猜想固定的位置可以让decoder的注意力更加问题
对于跨领域的表或者数据库,T5对字段的顺序没那么敏感,对于三元组则很敏感
对于WikiSQL,把数据转成自然语言可以加速收敛,对于表格的数据则没什么效果
T5的生成能力很强,语法上没什么错误,主要是答案有矛盾、信息缺失
总结
先给作者们点个赞,能把这样大规模的实验推进下去是件很不容易的事情,而且大家还要克服地域、时间上的不一致。虽然没有带来模型上的创新,但却帮这个领域的同学们踩了不少坑,也让我们更接近当前效果的天花板。
最后再推荐一下T5,真的香,我自己和身边都有人试过了,效果确实好。前阵子其实我已经把T5+KBQA的代码写好了,就是一直没好好搞。。
欢迎对NLP感兴趣的朋友加入我们的「NLP卷王养成」群,一起学习讨论~
扫码添加微信备注「NLP」即可⬇️
大家好我是rumor
一个热爱技术,有一点点幽默的妹子
欢迎关注我
带你学习带你肝
一起在人工智能时代旋转跳跃眨巴眼
「还有什么是T5不会的吗」