解读自然语言处理领域的2020年:“大力出奇迹”的GPT-3证明了大算力、大模型的价值

2020 年 12 月 28 日

解读自然语言处理领域的2020年:“大力出奇迹”的GPT-3证明了大算力、大模型的价值

本文是 InfoQ“解读 2020”年终技术盘点系列文章之一。


2019 年,自然处理领域最受关注的模型便是 BERT。这一年,各大公司和高校陆续发布了自己的预训练语言模型,如:Facebook 发布的 RoBERTa,CMU 发布的 XLNet,Stanford 发布的 ELECTRA,还有百度的 ERNIE 模型等,不断刷新自然语言理解任务的最高表现。2020 年,我们又迎来了 GPT-3 的发布,该模型自出现便引起了开发者圈内的激烈讨论,到底该模型的出现会对整个领域带来哪些值得注意的变化?展望未来,哪些技术是开发者应该关注的?各大公司的动向又是如何?本文,InfoQ 采访了明略科技资深科学家于政,对自然语言处理领域过去一年的重大事件进行总结、回顾与探讨,也欢迎同行业的学者,专家交流指正。

概述


近几年,自然语言处理遵循一个规律或者说方法论,大部分在做 Pre-training(预训练),也就是用更复杂的模型、更大的数据量、更多的计算资源进行模型的预先训练。然后针对领域或者特定任务进行 Fine tuning(微调),还会遇到解决样本量不足、小样本等问题。在落地应用时,如果使用前期预训练非常大的模型,对计算资源依赖度又非常高,如何通过知识蒸馏得到小模型,最后将小模型应用到实际领域,也是学术界和工业界重点研究的方向。具体而言:


1.模型的轻量化:让深度学习模型能够在硬件资源不足的移动端设备使用。


  • 基于知识蒸馏的预训练语言模型压缩:小模型通过拟合大模型的行为,完成知识迁移,主要包括MiniLM(2020),MobileBERT(2020)等模型。


  • 基于剪枝的预训练语言模型压缩:基于一定的准则,比如重要性排序,去掉参数矩阵中冗余的部分,主要包括非结构化剪枝Compressing BERT(2020),面向层的剪枝Poor Man`s BERT(2020)模型。


  • 基于量化的预训练语言模型压缩:通过减少数值所需要的比特数来降低模型的大小,主要包括参数矩阵选择2或者3bit,activation采用8bit的QBERT(2019)模型和参数矩阵和词向量采用2bit,activation采用8bit的TernaryBERT(2020)。


2.融入知识的预训练语言模型:将外部的知识融入预训练的语言模型。


  • 基于知识图的支持知识的语言表示模型K-BERT(2019),该模型将三元组作为领域知识注入到句子中。


  • 通过Knowledge Attention and Recontextualization component将知识库里的结构化信息融入大规模预训练模型Know-BERT(2019)。


  • 在预训练语言模型中加入实体的同时也加入它的上下文,CoLAKE(2020)模型允许模型在不同语境下关注实体的不同邻居,同时学习文本和知识的上下文表示。


从商业视角看,自然处理领域多年来已经吸引了很多公司的投入。无论体量大小,这些投身者都找到了生存空间。根据多年观察,于政表示,在自然语言处理领域进行投资的公司主要有三类:互联网大厂,NLP 创业公司,传统巨头。


具体而言,互联网大厂主要做平台研发,发布预训练模型,依托强大算力、海量数据、超大规模的计算集群来训练更大、更复杂的模型,从而形成技术壁垒;NLP 创业公司,受限于自身算力限制,不会将资源放在训练更大、更复杂的预训练模型,而是基于开源社区、互联网大厂的预训练模型,聚焦在垂直赛道开发相关的 NLP 模型或应用;NLP 创业公司则比互联网大厂更专注,效果更好,在技术先进和前沿性上或优于传统行业巨头;传统行业巨头受益于开源社区的贡献,NLP 门槛的逐步降低,未来有可能自建研发团队,做适合自身行业需求和特点的应用,但是这些团队技术经验积累和 NLP 创业公司、互联网大厂相比有一些差距。


具体到 2020 年,于政表示:“这一年,学术界和工业界对自然语言处理的理解和认知更进一步,在追求更大的模型,更广的参数,以及模型和数据的使用效率方面逐步做到了极限。”

2020 年,GPT-3 的发布证明了现有技术的可扩展性


2018 年,BERT 诞生,其在 11 项 NLP 任务上达到最高水平,被认为开启了自然语言处理的新篇章。BERT 一个革命性的工作是将 Transformer 的架构引入了预训练语言模型,并开启了 Pretraining-Finetuning 的框架,这让 2019 年涌现了一大批有效、实用并且带给人启发的预训练语言模型方面的成果。根据介绍,该框架在预训练阶段基于大规模无监督语料进行两个预训练任务,分别是词级别和句子级别的,一个是 MLM(Masked Language Modeling),另外一个是 NSP(Next Sentence Prediction),MLM 是从一个部分被 Mask 的句子恢复这些被 Mask 掉的确实词,NSP 是判断一个句对是不是上下句,从而获取基于上下文的词和句子的表示。在 Finetune 阶段,针对具体的下游任务,BERT 会微调中间层参数以调整词的 Embedding 以及调整预测层的参数,成功的将预训练学到的词和句子的表示迁移到下游任务中,实现了对低资源任务的有效支撑。


在于政看来,自 BERT 问世,大部分自然语言处理模型基本遵循了类似结构,以 Transformer 或者 attention 的模型机制进行相关变化。从 GPT-1 到 GPT-2,再到 GPT-3 又让大家逐步认识到增大数据量、模型,以计算流的方式将计算发挥到极致,可以解决很多问题。当前,学术界、工业界的趋势之一是如何用更大的数据训练更复杂的算法系统去解决相关问题。但是,面对领域、细分行业的特殊任务,大的模型并不适用,要基于 pre-training 模型做领域的 fine-tuning。具体而言:


  • 基于BERT的模型压缩,让小模型在训练过程从大模型的嵌入层、注意力矩阵以及输出层学习知识,通过减少transformer层数获得更快的推理速度,同时模型的精度损失有限。


  • 基于知识图谱的BERT模型,BERT在大规模的通用语料上做预训练,但是在特定领域下效果不好,通过将特定领域知识图谱的信息融入BERT,获得特定领域的BERT模型。


在 2020 年,GPT-3 的论文一经发表就引发了业内轰动,因为这一版本模型有着巨大的 1750 亿参数量。事实上,GPT-2 凭借将近 30 亿条参数的规模已经在 2019 年拿下了“最强 NLP 模型”的称号,而 GPT-3 更甚:放大了 100 倍(96 层和 1,750 亿个参数),并且接受了更多数据的训练(CommonCrawl,一个包含大量 Internet 的数据库,以及一个庞大的图书库和所有 Wikipedia),支持的任务广泛且旨在测试快速适应不太可能直接包含在训练集中的任务的几个新任务。



于政表示,GPT-3 是一种自回归模型,基于单向 transformer,采用只有解码器的体系结构,使用下一个单词预测目标进行训练。GPT-3 属于少样本学习语言模型,只需要少量标注数据,不管是 Zero-shot、One-shot 还是 Few-shot 都无需再进行微调。GPT-3 聚焦于更通用的 NLP 模型,主要目标是用更少的领域数据、且不经过精调步骤去解决问题。简单来说,GPT-3 是 GPT-2 的进化版,惊人的模型参数、训练数据和工作量以及结果证明了“大力出奇迹”的道理,扩展了 NLP 领域的想象力。虽然,GPT-3 没有在研究方面推动全球发展,但证明了现有技术的可扩展性,也积累了大模型训练经验。

未来展望


目前,自然语言处理领域较为成熟的方向是传统任务,比如文本分类、情感分析和机器翻译。在商业销售领域,还存在一些对认知能力要求高,技术挑战大的场景,比如话术分析,自然语言生成、理解、问答等,这些场景将产生巨大的商业价值,这也是明略科技重点投入的研发领域。


此外,于政表示,多模态自然语言处理肯定是未来的重要方向之一。人工智能领域发展到现在,已经有很多无法通过单一数据解决的问题出现。工业界比较热的数据中台、知识图谱解决的核心问题之一就是打通多源异构数据,将数据和知识链接起来,进而发挥数据价值,从这个维度看,多模态自然语言处理技术将发挥重要作用。例如:在对话系统场景下,多模态模型能够融合并理解用户输入的图片、文本和语音等信息,并以多模态的形式进行回复,多模态技术能给用户带来丰富的交互体验。在语音交互场景下,通过声学信号和文字信号,能够准确地识别用户交流中的情绪变化等。


未来几年,上述挑战将是自然语言处理领域重点发展和探索的方向,只要其中的相关技术得到解决,对学术界、工业界的贡献将是巨大的。


相关文章:


《解读预训练语言模型的2019:爆款新模型井喷,BERT要被全面碾压了吗?》


嘉宾介绍:


于政,博士,明略科技资深科学家,工业产品线负责人。2016 年毕业于华东师范大学软件工程与计算机学院,主要研究方向有自然语言处理、深度学习和知识图谱,累计在 IJCAI15、TKDE16、ICDE16 等国际期刊和会议上发表多篇论文,荣获上海市优秀毕业生、优秀博士论文。于政博士加入明略科技后,先后担任算法中心负责人,明略科学院信息检索实验室主任和工业产品线负责任,主持、设计、研发了多项数据挖掘、自然语言处理、知识图谱、机器学习等行业项目和产品,拥有丰富的 AI 和大数据解决方案与产品研发经验。


2020 年 12 月 28 日 08:00486
用户头像
赵钰莹 InfoQ高级编辑

发布了 648 篇内容, 共 383.7 次阅读, 收获喜欢 2082 次。

关注

评论

发布
暂无评论
发现更多内容

阿里内部超流行的“SpringBoot+微服务指南”,理论与实战双管齐下

Java成神之路

Java 编程 程序员 Spring Cloud Spring Boot 2

第三周作业

Vincent

极客大学

Spring 5 中文解析测试篇-集成测试之概要和注解

青年IT男

单元测试 Spring5

【原创】经验分享:一个Content-Length引发的血案(almost....)

一枝花算不算浪漫

正在走进现实的“飞行汽车”,能否颠覆地面交通?

脑极体

架构师课作业 - 第十二周

Tulane

深入浅出java虚拟机

AI乔治

Java 架构 性能优化 JVM JVM原理

万字长文 | 23 个问题 TCP 疑难杂症全解析

yes的练级攻略

TCP 计算机网络

week 13 学习总结

Geek_2e7dd7

19.解决 Flink 升级1.11 报错 No ExecutorFactory found to execute the application

小知识点

scala 大数据 flink

架构师训练营-week13-作业

晓-Michelle

极客大学架构师训练营

太赞了!华为工程师终于总结出了Linux归纳笔记,提供开放下载

小Q

喷一喷坑爹的面向UI编程

架构师修行之路

太牛了,这份神仙级面试笔记把所有Java知识面试题都详解出来了

Java成神之路

Java redis 编程 程序员 面试

用 Python 实现一个简易版的 Pong 游戏 (二)

Matrix Chan

Python Python Turtle Python 游戏编程

敏捷教练的软技能

技术管理Jo

软技能 敏捷教练 引导者

同事跳槽阿里,临走甩给一份上千页的Linux源码笔记,真香

周老师

Java 编程 程序员 架构 面试

抽象可能从未停止过

架构师修行之路

系统设计 抽象 抽象思维

就靠这几段代码,带你玩转rpc通信协议,不信你学不明白

小Q

Java 架构 面试 RPC 网络

读《阿里工程师的自我修养》的读后感

雨夜的博客

程序员人生 自我管理 自我思考 程序员成长

第三周学习总结

Vincent

极客大学

面试不会微服务没关系,跟着我4天学会微服务!

小Q

Java spring 架构 分布式 微服务

甲方日常 9

句子

Java 运维 工作 随笔杂谈 日常

oeasy 教您玩转 linux 010207 黑客帝国 matrix

o

使用amoeba实现mysql读写分离

小Q

Java MySQL 编程 程序员

嘿,我想要寄一封挂号信,收件时间是 6 年后,标题是: 让 6 年后的我,加倍奉还。

叶小鍵

学习 成功学 心理学 李笑来

你认为高级程序员应该具备那些技术技能树呢?

雨夜的博客

技术技能树 技术书籍

USDT承兑商币支付系统搭建,USDT跑分承兑商app

13823153121

面试官:TCP/IP 协议到底在讲什么?想彻底搞懂TCP协议:还得从 TCP 三次握手四次挥手说起

云流

编程 程序员 互联网 计算机网络 面试求职

week13 作业

Geek_2e7dd7

JavaScript七大语言类型你知多少?

Walker

Java 前端 编程语言

解读自然语言处理领域的2020年:“大力出奇迹”的GPT-3证明了大算力、大模型的价值-InfoQ