写点什么

解读预训练大模型的 2021 年:人们正在驯服这些“庞然大物”

  • 2022-01-10
  • 本文字数:6180 字

    阅读完需:约 20 分钟

解读预训练大模型的2021年:人们正在驯服这些“庞然大物”

宝剑锋从磨砺出,预训练大模型持续发力


概述


距离 BERT 发布至今已经过了 2 年多,以预训练语言模型为核心的技术也层出不穷,已经从预训练预研模型以 pre-training 为基础,以 fine tuning 为调试模式的传统模式,升级为以更为多样有效地预训练方式为基础,以编译、引擎、硬件优化为性能支撑,以学习存储、推理预测机理的理论研究基础的一套应对 NLP 甚至更多场景的完整技术体系,形成从学术界的前沿研究逐步落地到工业界的可靠技术。


对内,预训练模型的知识表示和学习机理逐步明确,通过对比学习等方式让预训练模型更好地学习到更通用或更加专注业务的知识;对外,更灵活的任务定制化和优化能让具体业务场景问题处理的更好,甚至成功出圈,与 CV 等技术携手迈进,处理更多复杂的多模态问题。

回顾和总结

知识表示和学习机理进一步创新突破


要想进一步提升预训练模型对知识的掌握能力,断然不能把它当做黑盒使用。在 2021 年,人们对预训练模型自身有了很多深入的研究,有其语义空间的特性,也有创新的预测和学习方法,在这些研究的引导下,预训练模型无论是获取知识还是表达知识的能力都得到了大幅提升。


2021 年初最受关注的应该是 BERT 表征空间的分析和研究,该方向其实从 2020 年就已经开始(BERT-flow),比较统一的观点是 BERT 语义的编码表征会出现“坍缩”现象以及“各向异性”现象,不利于语义的表征和下游的计算。


更有研究指出表征效果甚至不如 GloVe,以此为突破口,研究者们开始进一步探究预训练模型的预测机理和预测空间特点,并设计了一系列方案让语义编码分布更符合应用需求。


苏剑林提出了 BERT-whitening(Su 等,2021),针对“各向异性”问题,提出白化的方式将 BERT 的预测结果转化为各向同性语义空间,并通过实验展示了各向同性空间对表征能力的提升;


美团在 ACL2021 上提出了 ConSERT(Yan 等,2021),分析发现 BERT 对句子的表征会集中在一个比较小的区域,主要原因是高频词会在预测过程中主导句子表征任务,从而影响句子表征,文章通过构造增强样本进行对比学习的方式弱化高频词主导的因素,从而 BERT 的表征能力;


ACL2021 的 best paper 花落字节跳动等的联合项目(Xu 等,2021),论文从词表入手,通过信息论的方式筛选最适合的词典大小,实验显示通过筛选的方式降低 70%的词典大小能获得 0.5BLEU 的提升,笔者认为这一结论和 ConSERT 中对高频词主导句子表征任务具有很高的联系。


今年 7 月,一篇有关 Prompt 的综述得到了广泛关注(Liu 等,2021),Prompt 是一种类似“完形填空”的任务,将给定句子转化为一个被“挖空”的模板句,然后通过模型的方式预测该空格内需要填入的内容来完成预测任务,实质上是将 NLP 的任务统一为 MLM 任务,同时因为预训练语言模型的训练方式就以 MLM 任务为主,这无疑让多样的预训练模型更适配复杂多变的 NLP 任务。


Prompt 的出现一方面为预训练模型本身的学习提供了新的思路,另一方面也让使用预训练模型的下游任务有了新的调试方法,可见该方式具有重要意义。


此后的 2021 年下半年乃至年末 ACL2022 刚公布的投搞论文里,出现了大量有关 Prompt 的研究,说明 Prompt 已经成为一个新的研究热点。当然,针对 Prompt 也有一些批评的声音,如当前 Prompt 对模板构造形式过于敏感,难以调试等,相信在日后的工作研究中将会找到解决方案。


此外,人们并不满足于让预训练语言模型学习基本的语言信息,还希望能够学习到更多抽象、综合的“知识”。


知识图谱方兴未艾,其可解释性、准确性的优势令其在 NLP 领域同样大放光彩,然而其构建结构的复杂性、灵活性均不足,这些缺点正好是预训练语言模型的优势,因此两者结合将会产生强烈的“化学”反应。


EMNLP2021 上综述(Safavi 等,2021)详细分析了知识图谱和预训练语言模型的优缺点,总结并整理了近年来多种将知识点输送到预训练语言模型的方法。该文章指出,一方面希望能有更多强大的语言模型和知识库融合,另一方面也希望更多的知识库资源能够从语言模型中产生,两者能形成更好的共同发展态势。


随着对预训练模型的深入理解,预训练模型的知识学习和表征的机理逐步明确,人们得以更加顺利地往模型里注入需要它学习的知识。在这些知识的加持下,对复杂任务的应对能力的到了大幅提升。

对比学习、自监督和知识增强


对比学习在 CV 中并非是一个老概念,至今仍有很大的探索空间。


CVPR2020 的 Circle Loss、ICML2020 的 SimCLR 都引起了很大反响,而在 2021 年,以可迁移性、知识表征等为出发点的研究大迈步前进,对比学习作为 NLP 下的“舶来品”得到了很多尝试。


随之而来的自监督和知识增强研究也逐步深入,数据增强能从数据样本中自己生成新的样本,用以进行对比学习训练,整个闭环流程则形成了一套自监督学习方案。这种自监督的学习模式,能让众多无数据、少数据的场景得以开始尝试引入预训练模型,也能让多数据的场景得到更好的适配,从而大幅降低迁移成本。


美团的 Consert(Yan 等,2021)对 BERT“坍缩”问题的解决方案源于对比学习,因为对比学习能让语义空间的分布更接近实际语义远近的分布。但要进行对比学习,必须要构造一定数量的对比学习样本,数据增强称为构造对比学习样本的重要途径,作者进行一系列实验论证这一关系和效果,并对多种数据增强方式做了大量实验;


SimCSE(Gao 等,2021)通过 dropout 的方式构造模糊的正样本用于进行对比学习,同样值得注意的是,这里的损失函数是 SimCLR 的 NT-Xent,能引入 L2 正则做归一化并使用温度参数拉开正负样本之间的距离;


R-drop(Liang 等,2021)则更进一步,采用两次 dropout 的方式构造模糊样本,将 dropout 增强样本的方式从对比和表征学习推广到更多 NLP 任务中,论文中对多个任务进行了实验,结果显示能有效提升模型的鲁棒性。


近期,OPPO 小布助手对登顶千言文本相似度的技术方案进行了解释,提到了对 ASoftmax、AMSoftmax、ArcFace 等对比损失函数的使用,有利于形成类内更汇聚,类间更可分的语义表征空间。


以对比学习为中心,多种增强方法为工具的方式能进一步提升预训练模型的语义理解和表征能力,增强方法的深入能让模型自监督成为可能,让对比学习对样本,尤其是正样本的依赖降低,数据依赖的降低势必让模型对少样本甚至无样本任务的适应性提升,模型能更好地完成这类型的任务,这将让预训练模型落地的成本再降低一个层次。

预训练模型的业务定制优化和应用


预训练语言模型的出发点是一个通用的语言模型,具有语义的解析能力,可以理解为一个处理语言的神经中枢。从第一个预训练语言模型 BERT 发布至今,已经在多个热门任务下得到应用,逐步从一种“潮流”变成前沿技术的“基本操作”。


以机器翻译为例,ACL2021 中字节跳动 AI lab 的一篇“使用对比学习任务对机器翻译任务进行优化”的论文受到关注(Pan 等,2021),文章提出的 mRASP2 在多语言翻译是在 multilingual Transformer 模型的基础上进行改进的,而且在实验阶段也对比了 mBART、XLM 等优秀的预训练模型,这表明预训练模型已经在机器翻译领域内处于至关重要的地位。


同样值得关注的还有,李磊和王明轩在 ACL2021 上对预训练模型在神经机器翻译领域的使用进行了非常详细的讲解,综述和教程的提出往往意味着技术的成熟和体系化,可见机器翻译领域对预训练模型的依赖性很高,预训练模型已经成为了基础的关键技术。


除此之外,预训练模型也成为大系统中的一部分,发挥着其语义理解的优势。


KDD21 中,Facebook 在它的语义模块中使用了自己提出的 XLM Encoder 用作于语义优化(Liu 等,2021),文章还对 XLM Encoder 的使用做了消融实验,结果显示效果十分显著;


同样是在 KDD21,淘宝的电商搜索方案中(Li 等,2021),query 理解模块里使用了 Transformer,从词、n-gram 等多个粒度对 query 信息进行了解析。而由于电商场景的搜索通常带有一定的推荐性质,作者将用户行为和 query 理解得到的信息进行了充分融合,形成了完整的“User Tower”,用以对用户当前、短期、长期等多个粒度的需求进行全面理解,为给用户返回精准的结果提供扎实的基础。在这里可以充分看到,在现实应用场景下,预训练模型的使用方式已经非常灵活,其一可以提现多粒度的信息,其二则可以通过组装的方式融入到业务巨型模型中。


当然,PTM 作为重要的技术手段,也已经被用在大量的场景中。除了当下热门的任务和领域外,在很多小领域中,预训练语言模型都在发挥作用。并且经过特定的适配,在小领域下 BERT 仍能有很大收益,如复旦大学在 2021 年提出的 SpellBERT 在纠错上的应用,SpellBERT 旨在解决中文文本中视觉或语音相似的错误,因此加入了部首和拼音作为特征,并采用了类似掩码的训练方式,在 OCR 等任务中获得了 SOTA 的效果。


当前多模态正是研究热点,语言是重要的沟通技术,代表 NLP 能力的预训练模型也发挥着重要作用。


百度提出的 UNIMO(Li 等,2021)创新性地提出了一个统一多模态和单模态的预训练模型,既能解决单模态问题,也可以解决多模态问题。其核心点在于使用了一种基于对比学习的 Cross-Modal Contrastive Learning(CMCL)任务完成了图片和文本信息表征的对齐,让图片和文本信息的表征在统一框架下都得到加强,并刷新了多个生成任务的 sota。


观点分析和摘要是一项十分实用的技术,ACL2021 中一项被称为 MultimodalSum 的技术被提出,使用自监督的方式解决了该问题,该框架在 Yelp 和 Amazon 数据集取得了 SOTA 的成绩。


可见无论是工业界还是科研界,对预训练模型的使用方式逐渐灵活,能从预训练模型中拆解出适合任务的部分并组装到自己的实际任务模型中,说明人们正在逐渐驯服这个“庞然大物”,让它更好地在现实中发挥作用。

预训练大模型的性能优化


从压缩、剪枝、蒸馏到编译、引擎、硬件的优化,预训练模型的优势得到更加充分的释放。


时至今日,对预训练大模型的性能优化仍未终止,在学界,仍有大量的研究在预训练模型的落地能力上努力,压缩、剪枝、蒸馏的工作仍起到重要的作用。


为了综合地评估预训练模型的落地能力尤其是在效率上的能力,一套完整的评估方案在今年被提出 —— ELUE(Efficient Language Understanding Evaluation),在这个评估方法下,算法准召等基本的效果将不是唯一的判断标准,这无疑是一个重要的里程碑,在该评估方法的引导下,将会有更多强化预训练模型效率的方案产生。


然而预训练大模型性能的优化绝对不止于算法本身,在编译、引擎、硬件的优化上也在大步迈进。


由于新冠疫情等原因,深度学习所需要的显卡出现供货严重紧缺,因此很多提升都被放在了引擎和编译优化上。


无论是企业还是高校,都开始尝试更为经济实惠的加速加速方案。一方面,作为编译加速的代表,TVM 和 ONNX 的使用逐渐普及,甚至出现在各种算法竞赛上,如天池全球人工智能技术创新大赛中对选手要求推理速度,选手们则使用了 ONNX 等手段提升预测效率,成功完成了任务。


另一方面,硬件和底层引擎优化同样是优化的重点,NVIDIA 在 2021 年初发布 30 系显卡,年末发布 40 显卡,让深度学习的性能进一步提升的同时,也更加普及化;高通发布的新一代骁龙芯片让 AI 在移动端设备的落地能力进一步提升;苹果在 M1 芯片的基础上发布了 M1 Pro 和 M1 Max,尽管深度学习领域并未高度适配,但未来可期;OPPO 在年末的发布会中发布首个芯片 NPU,推动各项 AI 技术更好地在移动端中落地使用。


因此,在算法、软硬件等多领域的大步迈进下,PTM 在算法上的效果能得到更大程度的释放,落地场景也将会更加丰富。

未来展望


经过多年的发展,预训练模型已经渗透到 NLP 甚至更多领域内,随着软硬件性能提升,算法效果优化,适配性的增强,预训练模型的落地成本得到很大程度的下降,能够应用在更多领域。


一方面,针对现有的数据匮乏、策略复杂的问题,会有更多的增强和自监督手段解决,从而让预训练模型对问题兼容性大幅提高。另一方面,软硬件的训练和推理速度提升,极大利好更多落地场景,甚至是相对较弱的移动端设备,相信也有会有大量的应用。


正因为软硬件性能的提升和算法效果的优化,由于要在更多领域使用 PTM,除了各个场景的定制,通用统一的预训练模型将会得到进一步发展,有各种复杂知识的加持,通用性和可靠性将会成为它的特点,甚至会出现高度统一的预训练模型中台,为多个场景提供强大的语言理解、解析甚至是生成能力。OPPO 小布助手深耕开放域智能对话技术,预训练方案早已落地,但针对泛娱乐、百科、客服、系统等多领域、多场景的需求下,一个任务一个预训练模型的模式并不现实,因此将持续探索更好的通用性落地技术方案。


考虑到预训练的概念并非 NLP 领域特有,CV、推荐系统也逐步有了自己的预训练模型甚至预训练系统,EMNLP 2021 上的 3 篇文章均和数据集有关,尤其是长论文中提出的“多语言、多文化的数据集”,数据集的产生和认可意味着需求的逐步明确和重要性的提升,这对多模态、多语言技术的长足发展具有重大的促进作用,也预示着这个方向将会进一步发展,结合现在商业对“虚拟人”、“元宇宙”技术的追求,一个综合的“大脑型”技术将会在不久的将来实现。


参考文献


1. Su, Jianlin, et al. "Whitening sentence representations for better semantics and faster retrieval." arXiv preprint arXiv:2103.15316 (2021).


2. Yan, Yuanmeng, et al. "ConSERT: A Contrastive Framework for Self-Supervised Sentence Representation Transfer." arXiv preprint arXiv:2105.11741 (2021).


3. Xu, Jingjing, et al. "Vocabulary learning via optimal transport for neural machine translation." Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers). 2021.


4. Liu, Pengfei, et al. "Pre-train, prompt, and predict: A systematic survey of prompting methods in natural language processing." arXiv preprint arXiv:2107.13586 (2021).


5. Safavi, Tara, and Danai Koutra. "Relational world knowledge representation in contextual language models: A review." arXiv preprint arXiv:2104.05837 (2021).


6. Gao, Tianyu, Xingcheng Yao, and Danqi Chen. "SimCSE: Simple Contrastive Learning of Sentence Embeddings." arXiv preprint arXiv:2104.08821 (2021).


7. Liang, Xiaobo, et al. "R-drop: regularized dropout for neural networks." arXiv preprint arXiv:2106.14448 (2021).


8. Pan, Xiao, et al. "Contrastive learning for many-to-many multilingual neural machine translation." arXiv preprint arXiv:2105.09501 (2021).


9. Liu, Yiqun, et al. "Que2Search: Fast and Accurate Query and Document Understanding for Search at Facebook." Proceedings of the 27th ACM SIGKDD Conference on Knowledge Discovery & Data Mining. 2021.


10. Li, Sen, et al. "Embedding-based Product Retrieval in Taobao Search." arXiv preprint arXiv:2106.09297 (2021).


11. Li, W. , et al. "UNIMO: Towards Unified-Modal Understanding and Generation via Cross-Modal Contrastive Learning." (2020).

作者介绍


曾冠荣,OPPO 小布智能中心 NLP 算法工程师。2019 年毕业于北京科技大学,主要研究方向有自然语言处理、深度学习、应用时间序列分析,在学期间先后发表论文 6 篇。毕业即加入 OPPO,负责数据挖掘、自然语言处理、深度学习研发工作,发表专利 3 篇。知乎博主“机智的叉烧”,有关深度学习、搜索对话方向撰文 200 余篇,关注量 1 万余人。

2022-01-10 13:335628
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 537.9 次阅读, 收获喜欢 1977 次。

关注

评论

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

书画装裱物料与选择参考

boshi

业余爱好 七日更

深入浅出函数式编程:Stream流水线的实现原理

码农架构

Java 架构 微服务

【STM32】串口通信---用代码与芯片对话

AXYZdong

硬件 stm32 2月春节不断更

架构师训练营 4 期 第7周

引花眠

架构师训练营 4 期

日记 2021年2月14日(周日)

Changing Lin

2月春节不断更

写一个用例(第四周)

mas

第十二周 数据应用一 作业 「架构师训练营 3 期」

胡云飞

JDBC速查手册

jiangling500

Java JDBC

「架构师训练营 4 期」 第七周 - 001&2

凯迪

架构师训练营 4 期

聊聊大公司创新的机制:饱和攻击

boshi

创新 七日更

gradle中的build script详解

程序那些事

maven Gradle 程序那些事 构建脚本 构建程序

Elasticsearch Mapping Overview

escray

elastic 七日更 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

熬夜总结了 “HTML5画布” 的知识点(共10条)

我是哪吒

学习 读书笔记 程序员 随笔杂谈 2月春节不断更

《我们脑中挥之不去的问题》 - 卓克科普(2)

石云升

读书笔记 科普 2月春节不断更

9. Python 学习过程的第一个山坡,99%的人都倒在了山坡下

梦想橡皮擦

Python 2月春节不断更 python入门 python学习

还傻傻分不清楚equals和==的区别吗?看完就明白了

codevald

Java 源码分析 string Object

Java SE最佳实践

jiangling500

Java 最佳实践 Java SE

Tomcat速查手册

jiangling500

Java tomcat

日记 2021年2月13日(周六)

Changing Lin

2月春节不断更

写一个用例(总结)第四周

mas

盘点关于程序员的那些经典案例

孙叫兽

程序员 程序人生 话题讨论 薪水 计算机原理

《我们脑中挥之不去的问题》- 卓克科普(1)

石云升

读书笔记 科普 2月春节不断更

Chrome浏览器多进程架构3个必会知识点

梁龙先森

面试 大前端 浏览器

性能压测的时候,随着并发压力的增加,系统响应时间和吞吐量如何变化,为什么?

跳蚤

并发编程系列:线上问题定位

程序员架构进阶

Java 并发 问题排查 七日更 2月春节不断更

Scrum Patterns:梳理产品待办列表(译)

Bruce Talk

敏捷开发 译文 Agile Scrum Patterns

Spring框架源码:BeanFactory与Bean的生命周期

程序员架构进阶

Java spring 源码阅读 七日更 2月春节不断更

浅谈性能优化

跳蚤

LeetCode 数据库刷题 - 1179. 重新格式化部门表

小马哥

七日更 二月春节不断更

机器学习·笔记之:

Nydia

杨明越:Kubernetes的下一仗可能是提升标准化程度

杨明越

解读预训练大模型的2021年:人们正在驯服这些“庞然大物”_AI&大模型_曾冠荣_InfoQ精选文章