人工智能
作者:Yian Zhang,Alex Warstadt,Haau-Sing Li, and Samuel R. Bowman
NLP领域的研究目前由像RoBERTa等经过数十亿个字符的语料经过预训练的模型汇主导。那么对于一个预训练模型,对于不同量级下的预训练数据能够提取到的知识和能力有何不同?是否可以在更少量数据上实现相似的能力与知识。本文基于不同量级预训练数据的RoBERTa模型分析了在分类探知(Classififier Probe)、信息论探查(info-theoretic probing)、无监督相对可接受性判断(unsupervised relative acceptability judgment,)和自然语言理解任务上的微调(Fine-tuning on NLU Tasks)等任务上的表现,用于衡量模型在语言能力上的差异。
背景介绍:
Probe
BERT类模型的工作模式简单,但取得的效果也是极佳的,其在各项任务上的良好表现主要得益于其在大量无监督文本上学习到的文本表征能力。那么如何从语言学的特征角度来衡量一个预训练模型的究竟学习到了什么样的语言学文本知识呢?Probe就是为了测试模型在语言学特征角度上的各种能力而设计的任务。以下为本文涉及到的两种Probe方式:
Edge Probing
Edge Probing(以下简称 E-Probe)简单来说,就是对于一个已经预训练好的预训练模型,E-Probe就是一个插入在中间层的浅层神经网络,通常为一个分类器层。示意图如下:
对于每一个辅助任务,分类器的输入可能都不一样。比如在实体标注辅助任务中,输入可能为该层某个区间的输出,对于词性标注辅助任务,输入即为该层中的单个输出。在具体的辅助任务训练中,原预训练模型的参数是不参与更新的,只更新该分类头的参数。同时由于各个层均可以用于辅助任务的训练,因此使用到了一个可学习的权重向量来对于某个token在所有层对应的输出向量来作为最终的表示。最终得到的这个权重也可以用于衡量该辅助任务所需要的信息各个层之间的占比情况。E-Probe提供了一种更为直观的方式衡量模型对于语言学特征的表征能力。
Probing with MDL
Probing with MDL(以下简称 M-Probe)。M-Probe主要就E-Probe中存在的各项问题进行了讨论,并提出了基于了最小描述长度(minimum description length,MDL)的Probe方法。相较于E-Probe,M-Probe的方法就没有那么直观。M-Probe使用了数据编码这一概念,替换了以往E-Probe中预测这一个行为。对应在模型上的改变即为将分类头转化为了一个概率模型,然后根据香农编码,即可得到无损转换编码时的最小编码长度。当下对于辅助任务上的表现不再是根据最终辅助任务上的Accuracy等指标来实现的,而是根据对于数据编码后的编码长度来进行比较实现的。本质原理为,对于辅助任务所需要的特征能够更好表达的模型,具有对于数据分布上更好的规律分布,那么对于编码来说则可以使用更短的编码长度来实现对于数据的编码。可以通过下图释义来表示:
接下来将会介绍关于本文使用到的M-Probe的线上编码版本,E-Probe存在的一个问题就是只有在减少分类器训练数据量时,他们才能看到指标的合理差异。即对于数据量上的差距也会导致最终效果的不同,因此采用了一个线上编码版本的M-Probe。流程如下图所示:
首先将数据分割为不同大小的部分,对于第一次两个模型训练的输入均为未压缩的版本,在后续的学习中B的标签概率分布均为A模型编码后的结果。最终直到整个数据集都被传递后,得到的编码长度可以被下式衡量
上式的前半部分为数据中第一部分对于共K个类别进行编码所需要的编码长度,后面的部分为各个数据团根据香农编码得到的对于数据进行编码所需要的编码长度。
综上M-Probe实现了一个基于MDL的Probe方式,最终能够通过编码长度来衡量预训练模型对于各个语言学特征的提取能力。
实验设计
本文主要使用以上的对于模型表征能力测评的方法,对于分别在1M、10M、100M、1B和30B字符量的预训练数据集上得到的RoBERTa模型进行测试。并对于结果进行了分析。
Classififier Probing
本实验主要基于E-Probe的方法,分别对于词性标注(Part-of-Speech),依存句法分析(Dependencies),成分句法分析(Constituents),关系抽取(Relations),语义角色标注(SRL对应下图中的SRL、Sem. Proto Role 1 、Sem. Proto Role 2),共指消解(coreference resolution,对应下表中的OntoNotes coref. )命名实体识别(Entities)和常识推断(Winograd coref.)等辅助任务进行了测评。结果如下:
其中所有的数据结果均使用了Min-max归一化,其中None对应的为随机初始化的RoBERTa模型。并根据以上的结果进行了汇总,分别从句法、语义和常识推断三个方面来具体衡量各个体量数据预训练下的效果。
由以上的实验可以得出结论:大多数的句法与语法特征的学习在1B以下的字符数量训练集完成,大部分任务的表征能力在1M附近达到最快的学习速度,而其中较为不同的是知识推断任务,本文认为是由于关于知识内容的学习需要更为庞大的训练数据。同时,在100M量级上的RoBERTa模型的关于语义与句法表征能力已经非常接近30B量级下的模型了。
Minimum Description Length Probing
本实验是基于M-Probe的方法,在同样的数据集上进行的实验。
上图中Winograd的效果差距可能是由于在实验中基于M-Probe的方法没办法很好收敛。同样的根据实验结果,整体长度的下降也符合M-Probe的思想,包含更多知识的嵌入会使得任务具有更强的规律性更容易被编码。在该试验中,大部分的任务在100M上的效果也已经很接近30B的效果了。
Unsupervised Grammaticality Judgement
该任务主要是基于BLiMP基准集来测试模型,BLiMP主要包含了67个子数据集,每一种数据集中包含了1000个句子对,每个句子对之间的差距只有一个编辑距离,但这些句子在语法是否正确上缺失截然相反的,需要模型来识别。这67个子数据集分别对应了英语语法中的一种特定的表述、句法或者语义现象。对对于该任务,使用的方法为,使用MLM的方法,对于该不同位置上的字符对应在两个不同词上的概率来衡量整体模型对于该自然语言现象的理解能力。结果如下:
和上述两个任务中表现的一致的是,模型基本上在1M与100M的量级间上的表现快速增长。对于大部分的句子对任务,100M量级下的模型基本上与人类表现只相差9个百分点,而额外的大量数据只能提高6个百分点,对于一些潜在的语法现象可能需要更大量级的数据。同时对于不同任务之间也进行比较,对于一些频率高的现象往往在1M到10M就能达到一个很好的效果,而对于频率较低的现象,往往需要更大量级的模型才能学习到很好的表征。
Unsupervised Language Model Knowledge Probe
本实验主要基于LAMA数据集上的实验表现,该数据集主要由五万个完型填空句子得到,这些语句主要为针对于事实知识问题的填空问题。
可以看到针对于事实知识性的测试实验中,并没有一个很好的可以总结的瓶颈规律。其中在ConceptNet任务中这一个概念性的填空中的表现可以很好的解释Winograd coref.中1B到30B的大幅度提升。对于知识类别的表征与学习能力可能需要更多的数据或者预训练任务来进行提升。
Fine-tuning on NLU Tasks
本实验主要基于SuperGLUE这一分类基准数据集来测试在真正的下游任务上,不同量级模型的表现到底有什么区别。
可以看到在下游NLU任务上,即是在30B的量级上也并没有出现非常显著的饱和现象,在一些关键的NLU任务上提供更多的预训练数据可能会带来更大的提升。
总结与讨论
本文主要使用了基于Probe的方法来对模型在不同量级数据下的表征能力进行测试。得出了在10M到100M量级的数据中会达到对于语法和语义表征能力的饱和并和人类的能力想当,但对于事实类的知识需要更多的预训练数据才能达到。对于下游的NLU任务,预训练数据量的提升往往会带来较好的性能提升,同时在目前的30B的情况下仍未达到饱和。
对于本文中NLU仍未达到饱和的原因,文中的解决方案是提供更多的预训练数据这样的方式,但这样的方式往往是没有目的性的,本文后续对于该点的讨论也集中于无法将对应的语法或者语义性的表征能力与对应的NLU任务联系上去,对于推动NLU任务的提升的是什么仍然是一个未解决的问题。但对于此现象,个人觉得可能和Unsupervised Grammaticality Judgement这一节中的类似,因为长尾效应的存在,通过堆叠大量的预训练数据确实会引入更多的长尾效应中20%尾巴的部分,即能够提高NLU任务中未被覆盖到的部分,但这样的方式确实低效的,那么是否能够找到一个更高效针对NLU任务的方法从庞大的预训练语料库中找到这一和20%尾巴更相似的数据来构建新的预训练语料库呢?
编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !