从零训练一个超越预训练的NLP模型EBET易博官方网站

  新闻资讯     |      2023-08-29 17:22

  论文中,作者提出一种替代Pretraining-Finetuning这种传统范式的方法,目的是效率更高、算力要求更低的同时几乎不损失性能。具体来说,TLM主要基于两个关键的想法:首先,人类掌握一项任务只需要世界上的一小部分知识(例如学生即便是为考试做准备,也只需要查看世界上所有书籍中某一本里的几个章节);其次,在有监督的标记数据上进行训练,比在无标记数据上优化语言模型更有效

  基于上述动机,TLM使用任务数据作为Query,检索一般语料库中的一个小子集。随后,用检索到的数据和任务数据共同优化监督任务和语言建模任务(MLM)

  BM25算法是2009年提出的,由于年代太过久远,包括我也都是第一次听说,网上看了几篇博客之后发现其实并不复杂,因此顺便总结在此。具体来说,BM25是信息索引领域用来计算q句子与文档d之间的相似度得分的经典算法,它的公式如下:

  这种检索算法是任务无关的(task free),因为它仅依赖于文本x,而不依赖于标签y。此外,BM25检索算法也并不依赖于特定领域数据,一般的通用语料即可。基本的BM25算法就是如此,网上有很多对于BM25算法的变形,引入了更多超参数等,这里不过多赘述,有兴趣的读者自行查询学习即可

  实际上如果是我来做相似度匹配的话,可能会用到连续的向量表示,然后通过计算向量的余弦相似度这种常规做法,不过作者也提到了,将一个文档或者一个句子准确的编码为同维度的向量是很困难的,除非使用基于神经网络的方法,不论是基础的Word2vec,还是基于BERT的模型。但这就违背了他们的初衷,他们希望整个过程要尽可能的简单、效率高,而且使用一个预训练好的BERT模型来提取向量,似乎有些作弊的感觉,因为他们的原意就是不使用预训练模型

  其中,\rho_1和\rho_2是两个超参数,并且从论文后面的超参数设置来看,\rho_1,\rho_2非常大,至少是三位数级别的。模型f的网络架构与BERT相同,使用[CLS]位置的输出进行分类。当然了,TLM也适用于其他的模型架构以及非分类任务

  如果只看上面的损失,实际上就是我们常见的多任务,但接下来才是重点,作者在训练的时候分了两个阶段。第一阶段,我们将one batch内部数据(task data)与\rho_1batch外部数据交错进行小批量随机梯度下降,此时的任务是MLM;第二阶段,\rho_1,\rho_2均被设置为0,很明显此时是在内部数据上做有监督任务

  从结果上来看这种方法简直是太强了,和BERT以及RoEBET易博真人平台BERTa打得有来有回,浮点计算量、数据量以及模型的参数量都比BERT或RoBERTa小很多,最关键的是他们是预训练过的,而TLM是从零开始训练的

  论文核心的思想就是人类要进行某种任务之前并不需要学习整个世界的知识,而只需要学些与这个特定任务相关的知识即可。感性上来说确实是有道理的,那么实际上究竟有没有用呢?下面的对比实验证明了这一点

  除此之外,top-K也是我特别关心的一个参数,下面便是作者做的一系列关于参数K的对比实验

  这个结果再次印证了,对于高资源的数据集,例如AGNews,实际上不需要特别多的外部资源,而对于低资源的数据集,需要很多的外部资源进行学习

  BM25算法检索出来的文档真的与原样本非常相关吗?作者列了一张表展示了一部分结果

  前面我提到\rho_1,\rho_2非常大,那么到底该取多少呢?作者也做了相关的实验

  首先是\rho_1,这是控制外部数据进行MLM任务的超参数。作者发现对于高资源的数据集,例如Helpfulness,\rho_1不需要设置的特别大,而对于低资源的数据集,\rho_1应该要设置的稍微大一点。除此之外,如果移除内部数据,仅使用外部数据进行训练效果也不会太好,例如\rho_1 \approx \infty

  根据作者的研究(上图所示),\rho_2设为20到1000之间的效果都还不错

  我们知道TLM的训练过程是两阶段的,为了研究第二阶段(引入监督任务)对结果的影响,作者做了一个消融实验

  结果表明移除第二阶段训练会使得结果大幅下降,尤其是对于低资源数据集(ACL-ARC)来说更是如此

  整篇论文的思想简单,效果不俗,实验充分,目前只是挂在Arxiv上,不知道投了哪篇顶会,可能是年末的ACL吧。对于我的启发确实很多,相信大家也是如此。看完论文后我去关注了下作者的Github,后来发现原来作者是SimCES的二作,只能说很厉害了