预训练语言模型真的是世界模型?

文 | 子龙

自GPT、BERT问世以来,预训练语言模型在NLP领域大放异彩,刷新了无数榜单,成为当前学界业界的心头爱,其主体结构——Transformer——也在逐步的运用于其他领域的任务中,常见的如与CV的跨界,也有相对小众的bioinfo的任务(如蛋白质分类),然后此时问题来了,NLP领域技术成熟数据丰富,相比之下,其他领域或许不那么充足,那么曾经在 文本 数据上预训练的模型对 模态 有没有迁移作用呢?

今天的文章 Pretrained Transformers As Universal Computation Engines 就探索了文本模态预训练对其他模态的迁移作用,作者发现当模型学会了语言,对其他模态有着很好的指导作用,能够极大地提高其他模态任务上的学习效果。

论文题目:
Pretrained Transformers As Universal Computation Engines

论文链接:
https://arxiv.org/abs/2103.05247

Arxiv访问慢的小伙伴也可以在 【夕小瑶的卖萌屋】订阅号后台回复关键词 【0401】 下载论文PDF~


熟悉预训练语言模型或者迁移学习的读者应该已经意识到了,实际上,这篇文章的作者是将原本在文本数据上预训练的模型,在其他类型数据上finetune。以往我们通常强调,预训练一定要和下游任务相关联,然而这次的实验中,却可能需要将已经学会文本信息的模型用于鉴别蛋白质、识别数字,上下游任务风马牛不相及。

而且,为了凸显文本预训练的重要性,文中所使用的模型GPT-2在finetune阶段,将中间层层连接的Transformer层“冻结”,下游finetune的时候仅仅优化输入层、输出层、Position Embedding和Layer Norm Parameters。如此设计,用于非文本模态下游任务的语言模型最大程度上保留了文本预训练所得到的信息,也极大的减少了finetune时的参数。

文章将这种冻结中间Transformer层的语言模型称作Frozen Pretrained Transformer (FPT),具体结构如图所示:

作者在文章中研究了FPT相关的12个问题,限于篇幅,这里选取了其中6个问题(方括号内为原文标号):

  1. 文本预训练模型真的可以迁移到其他模态吗?[3.1]

  2. 预训练用哪种模态重要吗?[3.2]

  3. 文本预训练与随机初始化相比能够提高训练效率吗?[3.4]

  4. 模型表现会随着模型大小提升吗?[3.7]

  5. 在finetune阶段哪些参数最为重要?[3.10]

  6. 在其他语言模型上,这样的结果可以继续保持吗?(文章主要使用的是GPT-2)[3.11]

文本预训练模型真的可以迁移到其他模态吗?

这正是文章所关注的最主要的问题,从海量文本训练出来的文本模型在毫不相干的下游任务上finetune效果如何呢?

文中所涉及的几个任务:Bit Memory和Bit XOR是基于bit string的任务,分别要求模型恢复masked bit string和计算两个bit string的异或值;ListOps是预测一串操作的结果,如;MINST是手写数字识别;CIFAR-10和CIFAR-10 LRA(C10 LRA)是常见的图片识别数据集和Long Range Arena提出的变种,主要改变的图片序列化的方法,具体可以参见往期Transformer哪家强?Google爸爸辨优良!;Homology是预测蛋白质折叠。

参与比较的几个模型:FPT是文中所关注的冻结Transformer层的预训练语言模型,Full是全部参数参与finetune训练的语言模型,LSTM是全部参数参与训练的长短时记忆网络。

从结果中可以看出,FPT在各个任务上都有着和全参数参与训练的Full有着相近的能力,甚至在一些任务上有着更优的表现,说明在文本上做预训练的语言模型对于其他模态的任务有着一定的迁移能力,可以选择冻结部分参数而不影响效果。

预训练用哪种模态重要吗?

接下来文章考察的问题是模型迁移能力与预训练模态的关系,此前的FPT都是在文本上做预训练,这是由于文本预训练资源最为丰富、方法最为成熟。然而,近些年多模态预训练模型也有着很多成果,如基于图片的视觉预训练模型等等。于是,这部分实验对比了在不同模态上做预训练的模型向其余任务的迁移能力,这里对比的主要有原本在文本上做预训练的FPT、在图片上做与预训练的ViT、在Bit Memory任务上做预训练的Bit和随机初始化的Random。从结果中可以看出在文本上做预训练的模型FPT具有相对更好的结果,在多个任务上达到了最优,虽然在图片上做预训练的ViT能够在视觉任务(C10、C10 LRA)上超过FPT,但是在其他大部分任务上落后于FPT,尤其是蛋白质分类任务(Homology)上,FPT大大超越了ViT,作者猜测这是应该蛋白质序列和语言相近有着的所谓“语法”结构。

文本预训练与随机初始化相比能够提高训练效率吗?

预训练虽然有着优越的性能,但往往代价昂贵,虽然人人均知大力出奇迹,但是也只有大公司才可能烧得起经费,所以训练效率是finetune的重要指标,本身finetune就是希望利用到预训练的信息,进而规避昂贵的训练过程。于是,这部分实验中,作者对比了FPT和Random的拟合速度,即进行梯度下降的步数。答案显而易见,FPT拟合数据集的速度相比Random有着极大的提升,更何况,参照前文有关预训练模态的实验,在Bit Memory任务上,Random (75.8%s)的效果远低于FPT (100%)。

模型表现会随着模型大小提升吗?

我们平时使用的语言模型,往往有着不同的版本,比如Bert-base和Bert-large,XLNet-base和XLNet-large,一方面对模型规格的约定让模型间对比起来更加公平,同时也要求更大规模的模型意味着更优的性能,因为如果模型设计不够精准合理,增加模型规格,同时意味着更多的参数、更慢的拟合、更复杂的训练,可能效果还不及简单的模型。

于是,这部分实验中,作者设计了三种规格的FPT:small、medium、large,分别为12层、24层、36层,分别对比了这些模型在CIFAR-10任务上的结果。从结果中可以看出,随着层数的增加,模型的效果在不断提升,这说明FPT的表达能力能够随着层数的增加而提高,也说明冻结中间Transformer层的手段并不会应该冻结层数的增加而影响模型在下游任务中的效果。

在finetune阶段哪些参数最为重要?

FPT特别之处在于它冻结中间的Transformer层,而只对很小一部分参数进行优化,那么冻结哪些参数比较合理呢?这一部分实验考察究竟哪些参数对finetune比较重要,那么以后在下游任务中就可以有选择的进行优化。

首先,作者增加了Transformer层中的FeedForward层和Attention部分的参数进行finetune,结果如下。

进一步,对比了其他参数的效果。

综合上述结果,增加FeedForward层确实能够提升效果,但是优化Attention部分参数却会分散模型能力,降低结果。此外,layer norm的参数对finetune结果最为重要。

在其他语言模型上,这样的结果可以继续保持吗?

本文作者提出的FPT是基于GPT-2的语言模型加上冻结Transfomer层的策略,而我们知道现在语言模型品种繁多、各有千秋,于是作者采取相同的冻结策略,考察了以上结论在其他语言模型中的情况。

对比实验中选取了BERT、T5、Longformer,这些模型各有侧重,BERT是autoencoder模型,T5是seq2seq模型,这里作者只用其中的encoder,Longformer是针对长文本提出的模型。从结果中可以看出,不同的Transformer结果对结果的影响不大,只有T5相比其他模型在ListOps上有所下降。


本文所涉及的实验众多,得到结果也十分丰富,从多方面考察了FPT的冻结策略对模型效果的影响,一方面启发了借助文本预训练对其他模态任务的迁移,另一方面也让NLPer对预训练语言模型的各个组件有了更加深刻的理解,了解他们各自对结果的贡献的区别,从某个角度上说,也让缺少显存的程序员放心冻结庞大的预训练语言模型的部分参数,而不必担心以效果换显存了。

萌屋作者:子龙(Ryan)

本科毕业于北大计算机系,曾混迹于商汤和MSRA,现在是宅在家里的UCSD(Social Dead)在读PhD,主要关注多模态中的NLP和data mining,也在探索更多有意思的Topic,原本只是贵公众号的吃瓜群众,被各种有意思的推送吸引就上了贼船,希望借此沾沾小屋的灵气,paper++,早日成为有猫的程序员!

作品推荐:

1.别再搞纯文本了!多模文档理解更被时代需要!

2.Transformer哪家强?Google爸爸辨优良!

后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/478789.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

monk js_对象检测-使用Monk AI进行文档布局分析

原文链接:https://blog.csdn.net/weixin_26752075/article/details/108494230 monk js 计算机视觉 (Computer Vision) 介绍 (Introduction) This is an article on how Object Detection can help us in predicting various regions of a document. It can be usefu…

LeetCode 2019 力扣杯全国秋季编程大赛

文章目录1. 比赛结果2. 题目解析2.1 猜数字 Easy2.2 分式化简 Esay2.3 机器人大冒险 Medium2.4 覆盖 Hard2.5 发 LeetCoin Hard1. 比赛结果 2019.9.24晚,第一次参加线上比赛 比赛排名结果:582/1541,做出了2道题。。。 我证明了:…

美团广告实时索引的设计与实现

背景 在线广告是互联网行业常见的商业变现方式。从工程角度看,广告索引的结构和实现方式直接决定了整个系统的服务性能。本文以美团的搜索广告系统为蓝本,与读者一起探讨广告系统的工程奥秘。 领域问题 广告索引需具备以下基本特性: 层次化的…

论文浅尝 - AAAI2020 | 多通道反向词典模型

论文笔记整理:朱珈徵,天津大学硕士,自然语言处理方向。链接:https://arxiv.org/pdf/1912.08441.pdf动机反向词典将一段描述作为输入,并一起输出与该描述匹配的其他词,具有重要实用价值和自然语言处理研究价…

拒绝暴力调参!推荐一个模型Debug神器!

近些年深度学习在视觉、自然语言处理、语音等各个技术方向都诞生了不少创新应用,如智能识别医疗图像中的病灶,辅助医生做病情诊断;智能判别生产线上有质量问题的产品,减轻人工质检压力;对政务、金融等流程中的证件票据…

论文浅尝 - IJCAI2020 | Mucko:基于事实的多层跨模态知识推理视觉问答

论文笔记整理:陈卓,浙江大学计算机科学与技术系,博士研究生。论文链接:https://arxiv.org/pdf/2006.09073代码:https://github.com/astro-zihao/mucko发表会议:IJCAI 2020任务定义及背景VQA(视觉…

LeetCode 40. 组合总和 II(排列组合 回溯)

1. 题目 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次。 说明: 所有数字(包括目标数)都是正整数。 解集不能包含重…

质量运营在智能支付业务测试中的初步实践

背景 毋庸置疑,质量是决定产品能否成功、企业能否持续发展的关键因素之一。对于“质量时代”下的互联网企业,如何在快速迭代的节奏中兼顾质量,真正落地“人人重视质量、人人创造质量、人人享受质量”,这是对QA的要求,也…

新手手册:Pytorch分布式训练

文 | 花花机器学习算法与自然语言处理单位 | SenseTime 算法研究员目录0X01 分布式并行训练概述0X02 Pytorch分布式数据并行0X03 手把手渐进式实战A. 单机单卡B. 单机多卡DPC. 多机多卡DDPD. Launch / Slurm 调度方式0X04 完整框架 Distribuuuu0X05 Reference文中所有教学代码和…

Hotel booking酒店预订——数据分析与建模

Hotel booking酒店预订——数据分析与建模:https://zhuanlan.zhihu.com/p/196757364?utm_sourcewechat_session 写文章Hotel booking酒店预订——数据分析与建模(转载翻译自kaggle)海上泊舟数据分析师数据源:https://www.science…

论文浅尝 - ICLR2020 | Pretrained Encyclopedia: 弱监督知识预训练语言模型

论文笔记整理:陈想,浙江大学博士,研究方向为自然语言处理,知识图谱。Wenhan Xiong, Jingfei Du, William Yang Wang, Veselin Stoyanov.Pretrained Encyclopedia: Weakly Supervised Knowledge-Pretrained Language Model来源&…

LeetCode 216. 组合总和 III(排列组合 回溯)

1. 题目 找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。 说明: 所有数字都是正整数。 解集不能包含重复的组合。 示例 1: 输入: k 3, n 7 输出: [[1,2,4]]示例 2: 输入: k 3, n 9 输出…

“小众”之美——Ruby在QA自动化中的应用

前言 关于测试领域的自动化,已有很多的文章做过介绍,“黑科技”也比比皆是,如通过Java字节码技术实现接口的录制,Fiddler录制内容转Python脚本,App中的插桩调试等,可见角度不同,对最佳实践的理解…

软考中级 软件设计师资料(考点分析+复习笔记+历年真题+电子版课本)

软考中级 软件设计师资料(考点分析复习笔记历年真题电子版课本): https://blog.csdn.net/weixin_44754772/article/details/113763165 软件设计师是软考中级职称,相比高级的难度而言,中级难度较低,每个人花…

关于NLP相关技术全部在这里:预训练模型、图神经网络、模型压缩、知识图谱、信息抽取、序列模型、深度学习、语法分析、文本处理...

神器推荐NLP近几年非常火,且发展特别快。像BERT、GPT-3、图神经网络、知识图谱等技术应运而生。我们正处在信息爆炸的时代、面对每天铺天盖地的网络资源和论文、很多时候我们面临的问题并不是缺资源,而是找准资源并高效学习。但很多时候你会发现&#xf…

LeetCode 77. 组合(回溯)

1. 题目 给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。 示例:输入: n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4], ]来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/combin…

论文浅尝 - AAAI2020 | 从异质外部知识库中进行基于图的推理实现常识知识问答...

会议:AAAI2020论文链接:https://arxiv.org/pdf/1909.05311.pdf摘要常识问答旨在回答需要背景知识的问题,而背景知识并未在问题中明确表达。关键的挑战是如何从外部知识中获取证据并根据证据做出预测。最近的研究要么从昂贵的人类注释中生成证…

插件化、热补丁中绕不开的Proguard的坑

文章主体部分已经发表于《程序员》杂志2018年2月期,内容略有改动。 ProGuard简介 ProGuard是2002年由比利时程序员Eric Lafortune发布的一款优秀的开源代码优化、混淆工具,适用于Java和Android应用,目标是让程序更小,运行更快&…

互联网高端社畜行话大全(表情包)

作者 | 洋气的圆圆君前几天,字节跳动CEO张一鸣发表的演讲刷屏朋友圈,其中不忘开讽互联网黑话。燃鹅,作为一只卑微的互联网社畜,哪天被父母问起来我们行业常说的“抓手”、“赋能”都是啥,答不好的话那是要被challenge自…

论文浅尝 | DeCLUTR: 无监督文本表示的深度对比学习

Giorgi, J. M., O. Nitski, G. D. Bader and B. Wang (2020). "DeCLUTR: Deep Contrastive Learning for Unsupervised Textual Representations." arXiv preprint arXiv:2006.03659.原文链接:https://arxiv.org/pdf/2006.03659GitHub项目地址&#xff1a…