2019 年,自然处理领域最受关注的模型便是 BERT。这一年,各大公司和高校陆续发布了自己的预训练语言模型,如:Facebook 发布的 RoBERTa,CMU 发布的 XLNet,Stanford 发布的 ELECTRA,还有百度的 ERNIE 模型等,不断刷新自然语言理解任务的最高表现。2020 年,我们又迎来了 GPT-3 的发布,该模型自出现便引起了开发者圈内的激烈讨论,到底该模型的出现会对整个领域带来哪些值得注意的变化?展望未来,哪些技术是开发者应该关注的?各大公司的动向又是如何?本文,InfoQ 采访了明略科技资深科学家于政,对自然语言处理领域过去一年的重大事件进行总结、回顾与探讨,也欢迎同行业的学者,专家交流指正。
概 述
近几年,自然语言处理遵循一个规律或者说方法论,大部分在做 Pre-training(预训练),用更复杂的模型、更大的数据量、更多的计算资源进行模型预训练。然后针对领域或者特定任务进行 Fine tuning(微调),还会遇到解决样本量不足、小样本等问题。在落地应用时,如果使用前期预训练非常大的模型,对计算资源依赖度又非常高,如何通过知识蒸馏得到小模型,最后将小模型应用到实际领域,也是学术界和工业界重点研究的方向。具体而言:
模型的轻量化:让深度学习模型能够在硬件资源不足的移动端设备使用。
- 基于知识蒸馏的预训练语言模型压缩:小模型通过拟合大模型的行为,完成知识迁移,主要包括 MiniLM(2020),MobileBERT(2020) 等模型。
- 基于剪枝的预训练语言模型压缩:基于一定的准则,比如重要性排序,去掉参数矩阵中冗余的部分,主要包括非结构化剪枝 Compressing BERT(2020),面向层的剪枝 Poor Man`s BERT(2020) 模型。
- 基于量化的预训练语言模型压缩:通过减少数值所需要的比特数来降低模型的大小,主要包括参数矩阵选择 2 或者 3bit,activation 采用 8bit 的 QBERT(2019) 模型和参数矩阵和词向量采用 2bit,activation 采用 8bit 的 TernaryBERT(2020)。
融入知识的预训练语言模型:将外部的知识融入预训练的语言模型。
- 基于知识图的支持知识的语言表示模型 K-BERT(2019),该模型将三元组作为领域知识注入到句子中。
- 通过 Knowledge Attention and Recontextualization component 将知识库里的结构化信息融入大规模预训练模型 Know-BERT(2019)。
- 在预训练语言模型中加入实体的同时也加入它的上下文,CoLAKE(2020) 模型允许模型在不同语境下关注实体的不同邻居,同时学习文本和知识的上下文表示。
从商业视角看,自然处理领域多年来已经吸引了很多公司的投入。无论体量大小,这些投身者都找到了生存空间。根据多年观察,于政表示,在自然语言处理领域进行投资的公司主要有三类:互联网大厂,NLP 创业公司,传统巨头。
具体而言,互联网大厂主要做平台研发,发布预训练模型,依托强大算力、海量数据、超大规模的计算集群来训练更大、更复杂的模型,从而形成技术壁垒;NLP 创业公司,受限于自身算力限制,不会将资源放在训练更大、更复杂的预训练模型,而是基于开源社区、互联网大厂的预训练模型,聚焦在垂直赛道开发相关的 NLP 模型或应用;NLP 创业公司则比互联网大厂更专注,效果更好,在技术先进和前沿性上或优于传统行业巨头;传统行业巨头受益于开源社区的贡献,NLP 门槛的逐步降低,未来有可能自建研发团队,做适合自身行业需求和特点的应用,但是这些团队技术经验积累和 NLP 创业公司、互联网大厂相比有一些差距。
具体到 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 没有在研究方面推动全球发展,但证明了现有技术的可扩展性,也积累了大模型训练经验。
未来展望
目前,自然语言处理领域较为成熟的方向是传统任务,比如文本分类、情感分析和机器翻译。在商业销售领域,还存在一些对认知能力要求高,技术挑战大的场景,比如话术分析,自然语言生成、理解、问答等,这些场景将产生巨大的商业价值,这也是明略科技重点投入的研发领域。
此外,于政表示,多模态自然语言处理肯定是未来的重要方向之一。人工智能领域发展到现在,已经有很多无法通过单一数据解决的问题出现。工业界比较热的数据中台、知识图谱解决的核心问题之一就是打通多源异构数据,将数据和知识链接起来,进而发挥数据价值,从这个维度看,多模态自然语言处理技术将发挥重要作用。例如:在对话系统场景下,多模态模型能够融合并理解用户输入的图片、文本和语音等信息,并以多模态的形式进行回复,多模态技术能给用户带来丰富的交互体验。在语音交互场景下,通过声学信号和文字信号,能够准确地识别用户交流中的情绪变化等。
未来几年,上述挑战将是自然语言处理领域重点发展和探索的方向,只要其中的相关技术得到解决,对学术界、工业界的贡献将是巨大的。
嘉宾介绍:
于政,博士,明略科技资深科学家,工业产品线负责人。2016 年毕业于华东师范大学软件工程与计算机学院,主要研究方向有自然语言处理、深度学习和知识图谱,累计在 IJCAI15、TKDE16、ICDE16 等国际期刊和会议上发表多篇论文,荣获上海市优秀毕业生、优秀博士论文。于政博士加入明略科技后,先后担任算法中心负责人,明略科学院信息检索实验室主任和工业产品线负责任,主持、设计、研发了多项数据挖掘、自然语言处理、知识图谱、机器学习等行业项目和产品,拥有丰富的 AI 和大数据解决方案与产品研发经验。
本文转自 公众号:AI前线 ,作者钰莹,点击阅读原文