EBET易博真人如何评价 Google 提出的预训练模型 T5?

  新闻资讯     |      2023-09-03 22:38

  你说你有足够多的算力?那你把T5的这个表格复现一下?(T5论文最后一页)

  T5 的 BERT-Style objective 相比于 BERT 其实更像 MASS,只是原词也要预测、计入损失函数。这种预训练目标强于原版 BERT 中的 MLM,因为原版 BERT 需要并行预测出各个被掩掉的 token;而这里是串行的,预测后面的词的时候可以看到之前单词的信息,属于一种弱化版的 XLNet 中的 PLM(只允许从左到右分解,没有其他顺序)。

  T5 测试了 Deshuffling 这个目标函数,发现效果比 Prefix LM 和 MLM 都差,这个完全可以理解。一方面,预训练阶段模型只见过乱序的句子,测试阶段却要面对正确的句子,这是一种 train-test skewness;另一方面,这个任务的难度很难把握(没太看明白这种方式是 shuffle 一个 segment 中各个句子的顺序还是 shuffle 所有 token 的顺序。假如是前者,任务太简单,模型比较难学到 token 级别的知识;假如是后者,任务太难,一个长为 512 个词的句子几乎不可能复原,模型难以从这种乱序段落中能学到东西)。EBET易博真人平台事实上,在以往的文献中,Next Sentence Prediction/Sentence Order Predition/Sentence Reordering Task/Sentence Distance Task 全都是作为辅助任务出现的,本文却把 Deshuffling(可以看成 SRT 的变种)作为主要的训练目标,确实感觉不妥。

  1、和 PLM 结合起来:在 decoder 端允许乱序预测,也许会更好。

  2、将 SRT 作为 encoder 端的辅助任务:这样可以把 SRT 和 MLM 两个预训练目标结合起来,比起单独一个目标可能是有益的。

  3、T5 虽然在很多数据集上做了实验,但是似乎没有 sequence tagging 的任务(例如 POS Tagging 等,虽然感觉这些任务学界已经不怎么关心了)。在这种 n-to-n 的序列任务上,seq2seq 结构可能并不合适(很难保证输出和输入有一一对应关系),也许更好的办法是把 encoder 拿出来作为骨干网络。

  怎么说呢……五十多页的文章,虽然说没有数学公式,但是光读实验报告都把我读累了,中间歇了好几次……技术性的内容就不提了,还是说点儿八卦散散心:

  1、之前总是说 XX 模型训一次要几万美元,但那个是对外的价格,成本价要低很多。而这篇文章做所有的实验,哪怕仅仅计算对内的成本价,也得烧几百万美元了……

  模型名字很有趣,凑了 5 个 T 开头的单词命名为 T5,刚好 T5 也是 Google 的一个比较高的职级。可能是想表达 T5 model 的水平相当于一个 T5 engineer?

  再从钱的角度考虑,假设一个 T5 engineer 年薪 $400k,并且这篇文章九个作者都是 T5 并且在这个项目上工作了一年(当然这是我胡乱假设的),基本上训一次 T5 model 的成本就等于这些人的人工成本吧。

  52页真的太难了,快速过了一下,之后会慢慢补充,有不对的地方请尽情指出~

  这次的T5模型虽然名字和BERT+系列不一样,但底子里还是差不多的。给我的感觉就是大型Seq2Seq的BERT+干净的数据+多任务+一些改动。论文的作者深入对比了不同的预训练目标、模型结构、无监督数据集、迁移方法、NLU任务,最终拼成了T5。文章除去reference一共34页,可以说很良心地剖析了transformer的效果,本文尽量把细节和结论都清晰地整理出来。

  和GPT2一样,T5把所有的NLP问题归结为了“text-to-text”的任务,下图展示了T5在翻译、分类、相似度、摘要任务上的输入输出样例:

  T5使用了简化的相对位置embeding,即每个位置对应一个数值而不是向量,将相对位置的数值加在attention softmax之前的logits上,每个head的有自己的PE,所有的层共享一套PE。个人认为这种方式更好一点,直接在计算attention weight的时候加入位置信息,而且每一层都加一次,让模型对位置更加敏感。

  作者选取了Common Crawl数据集,这个数据集每周大约爬取20TB的WEB数据。虽然数据集已经抽取了文本,但实际上并不干净,里面还包含了很多非自然语言的东西,比如错误消息、菜单、重复文本,用过脏数据的同学一定深有体会。于是本文对数据进行了比较细致的处理:

  本来想把实验部分也写出来,最后败给了页数,之后细读发现有用的东西还会放上来。总体感觉T5除了position embedding之外没什么新的东西,在GLUE以及机器翻译上的提升都很有限,但作者本来的意图也是做一个全面的分析,砸百万美元替大家排忧解难,此处应有掌声。

  从最近的研究来看,目前模型复杂度和性能真的是很难平衡,但今天也听到了量子计算的福音,科技永远向前,希望NLP越来越好。

  看了一遍论文,这篇论文总长达52页,做了大量的预训练模型试验对比(花了老多老多的钱),总结来说包括以下几点:

  个人认为,首先需要了解的是作者认为该文的定位是一篇从实证研究出发的综述,而不是单纯介绍模型。从文章标题可以看出,这篇文章综述的对象是「迁移学习在 NLP 中的应用」。它的格局体现在,首先将多个 NLP 任务统一为一个任务 text-to-text,然后把 NLP 中各类迁移学习的方法(无论用于语言模型,还是 seq2seq 上的迁移学习方法)都在这个统一后的 text-to-text 上去尝试 。C4 语料库是实验过程产物,而 T5 模型是实证研究后对现有模型的超越,二者是对 NLP 社区的宝贵贡献。

  对于说 text-to-text 是不是就是 seq2seq,或许是在卖弄新概念,但个人觉得还是有细微差异的。一个序列,强调了各元素之间的顺序关系。一个序列的组成元素也不一定就是单词,在 recommender system 里完全可以是 item,然后模型基本上也能用。而这篇文章在实验中研究的就是英文文本,并且把几种 NLP 任务,包括文本分类任务都严格按 text-to-text 实现,见文中图 1 便知。当然,这种架构及其对应的训练方式,并不是思维上的创新多么有难度,而是出于统一各 NLP 任务的需要,能实现更为通用的 NLP 知识表示。

  该文 T5 模型在 SuperGLUE 上屠榜,背后仍然是 Google 各方面强大的资源,软件上有支持复杂模型和并行计算的 TensorFlow,硬件上有专为机器学习设计的大量 TPU 及其计算资源。看看 T5 远超 BERT Large 的参数量就令人惊掉了下巴。T5 会不会成为下一阶段 NLP 研究的预训练标配呢?

  该文长达 52 页,第一章是迁移学习在 NLP 中的应用的相关介绍,第二章是实验设置,介绍详尽,信息量大,行文对比如我这样的新手也比较友好。比如开头就简单介绍了一下原生的 Transformer,并且对基线的实验设置也进行了比较详细的描述。

  第三章开始对几种 Transformer 变体架构进行了分析与实验。这个分析很到位,这篇文章作为综述的价值就在这里,因为我们知道 Transformer 的初衷是用于 seq2seq,BERT 的初衷是语言模型,实际上这些迁移学习模型最初是特定于某个 NLP 任务上的,把这几种 Transformer 变体放到 text-to-text 的统一架构上进行分析与实验是有意义的。

  在此之后,文章进入了复杂的实验探索阶段,包括编码器-解码器架构下的目标函数问题、数据集问题。作者在训练中提出的两种目标函数:无监督降噪目标函数、LM 目标函数,前者是针对于 text-to-text 架构而设计的,后者是遵循先前语言模型的方法。在发现前者比较有效之后,作者设计了一系列实验探索无监督目标。作者对 C4 数据集进行了过滤,并将它作为 TensorFlow Datasets 的一部分。作者还在实验中研究了多任务学习的问题,即将无监督学习和有监督学习结合,对比单独使用无监督学习。

  回顾第三章的内容似乎占据了文章的主体,实际上在提出框架之后,作者一直就按最佳性能的编码器-解码器框架不断往后实验调参了。所有的实验结果都会汇总到了文末的最后一张表中。在第四章中,作者总结了第三章实验过程中的一些发现,实验相关结论有答主提到,我可能有空再更...这样规模的实验,我等只能仰望了。

  我觉得一句线 模型的成功一部分来源于夸张的参数量和数据集,以及合适的调参、数据集过滤等策略。而能实现这样大规模实验的关键思想在于,text-to-text 框架对各项 NLP 任务和相关数据的整合。