0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

预训练数据大小对于预训练模型的影响

深度学习自然语言处理 来源:SUFE AI Lab 2023-03-03 11:20 次阅读

引言:

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就是一个插入在中间层的浅层神经网络,通常为一个分类器层。示意图如下:

458d8108-b91e-11ed-bfe3-dac502259ad0.png

对于每一个辅助任务,分类器的输入可能都不一样。比如在实体标注辅助任务中,输入可能为该层某个区间的输出,对于词性标注辅助任务,输入即为该层中的单个输出。在具体的辅助任务训练中,原预训练模型的参数是不参与更新的,只更新该分类头的参数。同时由于各个层均可以用于辅助任务的训练,因此使用到了一个可学习的权重向量来对于某个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等指标来实现的,而是根据对于数据编码后的编码长度来进行比较实现的。本质原理为,对于辅助任务所需要的特征能够更好表达的模型,具有对于数据分布上更好的规律分布,那么对于编码来说则可以使用更短的编码长度来实现对于数据的编码。可以通过下图释义来表示:

45b1b640-b91e-11ed-bfe3-dac502259ad0.png

接下来将会介绍关于本文使用到的M-Probe的线上编码版本,E-Probe存在的一个问题就是只有在减少分类器训练数据量时,他们才能看到指标的合理差异。即对于数据量上的差距也会导致最终效果的不同,因此采用了一个线上编码版本的M-Probe。流程如下图所示:

45c95520-b91e-11ed-bfe3-dac502259ad0.png

首先将数据分割为不同大小的部分,对于第一次两个模型训练的输入均为未压缩的版本,在后续的学习中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.)等辅助任务进行了测评。结果如下:

45faf0bc-b91e-11ed-bfe3-dac502259ad0.png

其中所有的数据结果均使用了Min-max归一化,其中None对应的为随机初始化的RoBERTa模型。并根据以上的结果进行了汇总,分别从句法、语义和常识推断三个方面来具体衡量各个体量数据预训练下的效果。

46123d44-b91e-11ed-bfe3-dac502259ad0.png

由以上的实验可以得出结论:大多数的句法与语法特征的学习在1B以下的字符数量训练集完成,大部分任务的表征能力在1M附近达到最快的学习速度,而其中较为不同的是知识推断任务,本文认为是由于关于知识内容的学习需要更为庞大的训练数据。同时,在100M量级上的RoBERTa模型的关于语义与句法表征能力已经非常接近30B量级下的模型了。

Minimum Description Length Probing

本实验是基于M-Probe的方法,在同样的数据集上进行的实验。

462cf580-b91e-11ed-bfe3-dac502259ad0.png

上图中Winograd的效果差距可能是由于在实验中基于M-Probe的方法没办法很好收敛。同样的根据实验结果,整体长度的下降也符合M-Probe的思想,包含更多知识的嵌入会使得任务具有更强的规律性更容易被编码。在该试验中,大部分的任务在100M上的效果也已经很接近30B的效果了。

Unsupervised Grammaticality Judgement

该任务主要是基于BLiMP基准集来测试模型,BLiMP主要包含了67个子数据集,每一种数据集中包含了1000个句子对,每个句子对之间的差距只有一个编辑距离,但这些句子在语法是否正确上缺失截然相反的,需要模型来识别。这67个子数据集分别对应了英语语法中的一种特定的表述、句法或者语义现象。对对于该任务,使用的方法为,使用MLM的方法,对于该不同位置上的字符对应在两个不同词上的概率来衡量整体模型对于该自然语言现象的理解能力。结果如下:

4651f89e-b91e-11ed-bfe3-dac502259ad0.png

和上述两个任务中表现的一致的是,模型基本上在1M与100M的量级间上的表现快速增长。对于大部分的句子对任务,100M量级下的模型基本上与人类表现只相差9个百分点,而额外的大量数据只能提高6个百分点,对于一些潜在的语法现象可能需要更大量级的数据。同时对于不同任务之间也进行比较,对于一些频率高的现象往往在1M到10M就能达到一个很好的效果,而对于频率较低的现象,往往需要更大量级的模型才能学习到很好的表征。

Unsupervised Language Model Knowledge Probe

本实验主要基于LAMA数据集上的实验表现,该数据集主要由五万个完型填空句子得到,这些语句主要为针对于事实知识问题的填空问题。

46778abe-b91e-11ed-bfe3-dac502259ad0.png

可以看到针对于事实知识性的测试实验中,并没有一个很好的可以总结的瓶颈规律。其中在ConceptNet任务中这一个概念性的填空中的表现可以很好的解释Winograd coref.中1B到30B的大幅度提升。对于知识类别的表征与学习能力可能需要更多的数据或者预训练任务来进行提升。

Fine-tuning on NLU Tasks

本实验主要基于SuperGLUE这一分类基准数据集来测试在真正的下游任务上,不同量级模型的表现到底有什么区别。

468d9fd4-b91e-11ed-bfe3-dac502259ad0.png

可以看到在下游NLU任务上,即是在30B的量级上也并没有出现非常显著的饱和现象,在一些关键的NLU任务上提供更多的预训练数据可能会带来更大的提升。

总结与讨论

本文主要使用了基于Probe的方法来对模型在不同量级数据下的表征能力进行测试。得出了在10M到100M量级的数据中会达到对于语法和语义表征能力的饱和并和人类的能力想当,但对于事实类的知识需要更多的预训练数据才能达到。对于下游的NLU任务,预训练数据量的提升往往会带来较好的性能提升,同时在目前的30B的情况下仍未达到饱和。

对于本文中NLU仍未达到饱和的原因,文中的解决方案是提供更多的预训练数据这样的方式,但这样的方式往往是没有目的性的,本文后续对于该点的讨论也集中于无法将对应的语法或者语义性的表征能力与对应的NLU任务联系上去,对于推动NLU任务的提升的是什么仍然是一个未解决的问题。但对于此现象,个人觉得可能和Unsupervised Grammaticality Judgement这一节中的类似,因为长尾效应的存在,通过堆叠大量的预训练数据确实会引入更多的长尾效应中20%尾巴的部分,即能够提高NLU任务中未被覆盖到的部分,但这样的方式确实低效的,那么是否能够找到一个更高效针对NLU任务的方法从庞大的预训练语料库中找到这一和20%尾巴更相似的数据来构建新的预训练语料库呢?

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4771

    浏览量

    100719
  • 编码
    +关注

    关注

    6

    文章

    942

    浏览量

    54814
  • 模型
    +关注

    关注

    1

    文章

    3229

    浏览量

    48810
收藏 人收藏

    评论

    相关推荐

    基于不同量级训练数据的RoBERTa模型分析

    NLP领域的研究目前由像RoBERTa等经过数十亿个字符的语料经过训练模型汇主导。那么对于一个训练
    发表于 03-03 11:21 1825次阅读

    【大语言模型:原理与工程实践】大语言模型训练

    增长。DeepMind在相关论文中指出,模型大小训练Token数应以相似速率增长,以确保最佳性能。因此,构建与模型规模相匹配的
    发表于 05-07 17:10

    为什么要使用训练模型?8种优秀训练模型大盘点

    正如我们在本文中所述,ULMFiT使用新颖的NLP技术取得了令人瞩目的成果。该方法对训练语言模型进行微调,将其在WikiText-103数据集(维基百科的长期依赖语言建模
    的头像 发表于 04-04 11:26 2.4w次阅读
    为什么要使用<b class='flag-5'>预</b><b class='flag-5'>训练</b><b class='flag-5'>模型</b>?8种优秀<b class='flag-5'>预</b><b class='flag-5'>训练</b><b class='flag-5'>模型</b>大盘点

    小米在训练模型的探索与优化

    导读:训练模型在NLP大放异彩,并开启了训练-微调的NLP范式时代。由于工业领域相关业务的复杂性,以及工业应用对推理性能的要求,大规模
    的头像 发表于 12-31 10:17 2608次阅读
    小米在<b class='flag-5'>预</b><b class='flag-5'>训练</b><b class='flag-5'>模型</b>的探索与优化

    2021 OPPO开发者大会:NLP训练模型

    2021 OPPO开发者大会:NLP训练模型 2021 OPPO开发者大会上介绍了融合知识的NLP训练
    的头像 发表于 10-27 14:18 1753次阅读
    2021 OPPO开发者大会:NLP<b class='flag-5'>预</b><b class='flag-5'>训练</b>大<b class='flag-5'>模型</b>

    如何实现更绿色、经济的NLP训练模型迁移

    NLP中,训练模型Finetune是一种非常常见的解决问题的范式。利用在海量文本上训练得到的Bert、GPT等
    的头像 发表于 03-21 15:33 2194次阅读

    Multilingual多语言训练语言模型的套路

    Facebook在Crosslingual language model pretraining(NIPS 2019)一文中提出XLM训练多语言模型,整体思路基于BERT,并提出了针对多语言
    的头像 发表于 05-05 15:23 2972次阅读

    一种基于乱序语言模型训练模型-PERT

    由于乱序语言模型不使用[MASK]标记,减轻了训练任务与微调任务之间的gap,并由于预测空间大小为输入序列长度,使得计算效率高于掩码语言模型
    的头像 发表于 05-10 15:01 1540次阅读

    利用视觉语言模型对检测器进行训练

    训练通常被用于自然语言处理以及计算机视觉领域,以增强主干网络的特征提取能力,达到加速训练和提高模型泛化性能的目的。该方法亦可以用于场景文本检测当中,如最早的使用ImageNet
    的头像 发表于 08-08 15:33 1402次阅读

    使用 NVIDIA TAO 工具套件和训练模型加快 AI 开发

    可以访问训练模型的完整源代码和模型权重。 该工具套件能够高效训练视觉和对话式 AI 模型。由于
    的头像 发表于 12-15 19:40 1019次阅读

    什么是训练 AI 模型

    训练 AI 模型是为了完成特定任务而在大型数据集上训练的深度学习模型。这些
    的头像 发表于 04-04 01:45 1444次阅读

    什么是训练AI模型

    训练 AI 模型是为了完成特定任务而在大型数据集上训练的深度学习模型。这些
    的头像 发表于 05-25 17:10 1033次阅读

    PyTorch教程-15.9。训练 BERT 的数据

    实验室在 SageMaker Studio Lab 中打开笔记本 为了训练第 15.8 节中实现的 BERT 模型,我们需要以理想的格式生成数据集,以促进两项
    的头像 发表于 06-05 15:44 798次阅读

    训练模型的基本原理和应用

    训练模型(Pre-trained Model)是深度学习和机器学习领域中的一个重要概念,尤其是在自然语言处理(NLP)和计算机视觉(CV)等领域中得到了广泛应用。
    的头像 发表于 07-03 18:20 2768次阅读

    大语言模型训练

    能力,逐渐成为NLP领域的研究热点。大语言模型训练是这一技术发展的关键步骤,它通过在海量无标签数据上进行训练,使
    的头像 发表于 07-11 10:11 422次阅读