总25期
New IT in Users Eyes    AI驭智
New IT in Users Eyes    AI驭智
预训练语言模型的进展与趋势
文/袁智

近年来,随着智慧类应用的不断普及,以及社会各界对人工智能技术的关注,人工智能迎来了飞速发展阶段。人工智能按照模拟人类智能行为的水平,可以分为四个层级:计算智能、感知智能、认知智能、创造智能。

图1 人工智能的能力等级

在探索认知智能的道路上,进展一直比较缓慢。人类语言是认知智能的重要表现,传统的基于符号逻辑和统计学的方法来处理人类语言,并没有带来太理想的效果。直到近阶段,预训练语言模型(Pre-Trained Language Models,PLM)的出现,为处理语言的能力提供了一种新的思路,未来将会推动认知智能迎来更大的发展。

什么是预训练语言模型?

自然语言就是我们日常生活中进行交流和传递信息所使用的方式,包括汉语、英语、日语等各类的语言。自然语言处理(Natural Language Processing, NLP)则是一门研究如何处理及运用人类自然语言的学科,主要包括自然语言理解和自然语言生成两大类基本任务。

预训练模型的概念在计算机视觉领域并不陌生,通常我们可以在大规模图像数据集上预先训练出一个通用模型,之后再迁移到类似的具体任务上去,这样在减少对图像样本需求的同时,也加速了模型的开发速度。

同样,预训练语言模型就是预训练方法在自然语言处理领域中的应用,本质上是对自然语言的表示学习,是将自然语言转化为让机器可以处理的数据表达形式。预训练语言模型先通过大量的语料(通常是无标注的数据)进行训练,得到一个通用的语言表征模型,然后再使用面向具体任务的少量语料,就可以完成下游任务的训练。

图2 预训练语言模型

预训练语言模型发展历史

什么是语言模型?通俗来讲,语言模型是利用计算机对自然语言进行抽象数学建模,通常用一串词序列或句子的概率分布,来表示这段文本存在的可能性或者语句的通顺程度。语言模型是许多NLP下游任务的基础。而构筑语言模型最关键的就是如何表达每一个词汇单元。目前比较主流的是采用词嵌入(Word Embedding)的方式,即用一个低维稠密向量来表示一个单词文本的含义,通过这种方式把不可计算的文本形式转化为可计算的向量表达形式。

自然语言处理的预训练模型发展主要经历了两个阶段:词向量阶段和预训练阶段。

图3 预训练语言模型的发展历程

第一阶段:词向量模型

以Word2Vec、GloVe、FastText等模型为代表,其中Word2Vec模型是Google在2013年提出来的词嵌入模型,具有里程碑意义。

这阶段的词嵌入方式一般采用浅层模型,虽然大幅提升了单词的语义表示能力,但无法解决一词多义的问题。例如Word2Vec模型生成的词嵌入就是一个固定的向量,不会随着上下文的改变而变化,属于词的静态表示。

第二阶段:预训练语言模型阶段

这个阶段的典型代表是ELMo、GPT、BERT、XLNet等模型,以学习语句中的上下文相关动态词嵌入为主,这种方法是现阶段的主流方法,一般都是采用深层模型来实现的,综合了词的上下文信息,形成的表征更为合理,表达的语义更加精准,可以有效解决一词多义的问题。

其中BERT模型是谷歌在2018年提出的预训练模型,在一些基础NLP任务上取得了突破性成绩,引发了预训练语言模型的研究热潮,具有里程碑意义。实践表明,这种“大规模语料+大规模参数”的方式训练出来的BERT模型,具备强大的表示学习能力和多任务泛化能力,曾在11项NLP测试基准上取得重大突破。

在BERT模型的影响下,再加上AI算力的不断增强,各种改进版的预训练语言模型不断涌现,对NLP领域的研究发展起到重大推动作用。

预训练语言模型的关键技术

现阶段预训练语言模型之所以能取得如此好的效果,以下几方面技术起到了关键作用。

第一,Transformer特征提取器。传统的NLP一般都采用RNN、LSTM等模型来处理序列问题。这类模型不利于大规模并行计算,不能充分利用大规模的语料。

Transformer是谷歌在2017年提出来的,由编码器和解码器两部分组成的。Transformer在处理NLP任务时表现出两大优势,一是并行处理序列问题,效率极高;二是采用多头自注意力机制(Multi-headed Self-Attention),具有学习长依赖关系的能力。

另外,相对比Transformer受到输入上下文的长度固定限制, Transformer-XL架构可以用于学习超长的上下文关系,在用于长文档的时候效果表现更为突出。

第二,自监督学习机制。不同于监督学习需要大量的标注数据来训练模型,自监督学习主要是通过预先设置的任务来自动生成自我监督信息,再从大规模的、无标注的数据中,通过这种构造的监督信息对模型进行训练,学习到对众多下游任务有价值的特征表示。自监督学习从形式上可以归类为无监督学习的范畴,但本质上是有监督信号的。

构造监督信号的方法很多,例如BERT模型中采用的MLM(Masked Language Model,掩码语言模型)+NSP(Next Sentence Prediction,下一句预测)任务来构建监督信号进行模型训练的。

再比如在图像领域中,采用对比学习的方式来自动构造正例和负例图像数据,从而形成监督信号,比较典型的模型如SimCLR和MoCo模型,都取得了较好的效果。

第三,下游任务微调。在使用大量无标注的数据训练出预训练通用模型之后,针对下游任务的数据集再次进行训练后,即可适用于下游任务。

预训练模型使用方式有很多种,常见的有两种:一种是直接利用预训练模型提取的文本特征,作为特征向量,提供给下游的模型。这种方式下,预训练模型不参与下游任务的训练,预训练模型本体的参数不做调整,效果有限;另外一种比较主流的方式,是对预训练模型的部分或全部参数进行再次微调,可以充分适应下游任务的语料数据,但带来的问题是算力和存储资源的消耗比较大。

图4 预训练语言模型关键技术

另外,最近比较热门MoE(Mixture-of-Experts,多专家模型)方法,在超大规模的模型训练中也起到关键作用。

预训练语言模型的未来发展趋势

预训练模型目前已经成为NLP领域的主流方法,大幅提升了机器对自然语言的处理能力,推进了认知智能的实现进程。未来以下几个趋势方向值得关注。

第一,探索通用智能,超大规模预训练模型成为趋势。随着2018年谷歌的BERT预训练模型取得重大突破,沿着大模型方向发展已成为一个趋势。今年6月智源研究院发布的悟道2.0模型,拥有1.75万亿的参数,在9项重要的评测指标项上取得了新的突破。

超大规模的预训练,相较于传统定制化的模型在通用性和性能方面都表现出优势。这些超大规模预训练模型经过适当的微调,可用于多类下游任务中,不仅在一定程度上缓解了模型碎片化的问题,而且在不少的NLP任务上,表现出接近人类的水平。

图5 大规模预训练模型

但是要完成超大规模预训练模型的训练,对算力、存储、通信资源的消耗十分惊人,比如GPT3模型,训练数据是570GB,训练一次的成本达460亿美元。因此,面向AI的高效大算力解决方案,将会成为今后算力基础设施建设的重点考虑方向,包括研究AI加速硬件、可靠高效的无损传输网络、多节点的协同训练通信机制、软硬件协同优化等方面的内容。

第二,多模态融合的预训练模型,提升模型应对复杂场景的能力。多模态融合,是指通过机器学习的方法,来提升模型处理和理解图像、视频、语音、文字等不同模态信息的能力。这些模态间的信息本身就存在一定程度的相关性和互补性,通过语义级的融合后,可提升预训练模型的性能和鲁棒性。

基于Transformer的结构在应用于主流视觉问题上(检测、分类、分割领域上的DETR、ViT、SETR模型等),也取得了不错的效果,计算机视觉和自然语言处理领域的问题均可采用基于Transformer的同一种架构来处理,更有利于多模态的统一建模。

另外,多种语言融合的模型也是多模态融合的研究重点方向,将汉语、英文、日语等多语种在一个语义向量空间中进行表示,一方面提升模型的跨语言能力,另一方面促进不同语言间的信息互补。

图6 多模态融合

第三,预训练模型的低资源化,推动应用实际落地。预训练模型在向超大规模发展的同时,研究如何实用化落地也是业内研究的重点。鉴于超大规模预训练模型耗费资源惊人,为了降低参数量,模型压缩是一个技术途径。

常见的模型压缩方法包括对神经网络模型进行量化、剪枝、参数共享、知识蒸馏等方法,其中知识蒸馏方法,也即由大模型(教师模型)来指导小模型(学生模型)进行学习,使得小模型性能接近大模型,达到知识迁移的目的,同时也可以满足实际生产部署的低碳化需求。

图7 知识蒸馏

第四,预训练模型和知识图谱相结合,增强模型鲁棒性。预训练模型中,通过大规模的语料数据,可以学习到部分知识,但本质上还是个概率模型,所以在实际应用中也可能会出现一些常识性的错误。

知识图谱是一种大规模的语义网络,属于对人类友好的显性知识模型,推理能力和可解释性强,广泛用于搜索、推荐、问答等场景。

预训练模型和知识图谱融合,本质上是人工智能历史上的两大学派(符号学派、联结学派)的技术上融合,相互取长补短。知识图谱可以提升预训练模型的可解释性,解决常识性和逻辑推理的问题,弥补领域知识不足;而预训练模型反过来可以辅助知识图谱构建过程中的知识提取等环节,提高知识获取的准确性。目前在这个方向上已经有不少的研究探索。

图8 预训练模型融合知识

除了以上这些趋势外,科研工作者仍在探索新的方法,如最近比较火热的Prompt(提示),是对“预训练+微调”的方式做了优化改进,形成“预训练+Prompt+预测”新范式,通过文本提示来进一步增强预训练模型适应下游任务的性能,是一种新的改进思路。

预训练语言模型的应用场景

由于预训练模型对文本和图像的强大表征能力,使得其在应用中效果显著,未来将会广泛地用于多种场景。

在网络智能运维场景中,设备的故障告警、日志信息等很多任务都是以文本为载体的,通常数据量非常巨大且有价值的信息密度低,而预训练语言模型具备很强的文本信息理解能力,可以更好地挖掘信息潜在关系,能从海量的运维数据中感知运维系统的健康状态,可以很好地适用于故障定位、根因分析等。未来面向更高等级的智能运维中,基于自然语言的人机交互中,使用预训练语言模型可以更加精准地理解用户所表述的意图,生成合理的配置来控制整个网络系统的运行。

在电商的场景中,多模态预训练模型可以用于推荐和搜索,针对用户输入的文字信息,可以精准地在商品的图片和视频中,检索到对应的商品,尤其是对于一些长尾检索场景中更为突出。多模态预训练模型具备强大的图文映射能力,可以用于广告文案的生成,在商家给定宣传的图片或视频的情况下,模型会自动生成不同风格的广告宣传文案;还可以用于由文字生成图片或视频方面,比如根据文字描述或图片的约束要求生成一些设计创意图以供设计者参考,激发创作灵感等等。

另外,对话问答、文艺创作、舆情分析等多个场景中,也是预训练语言模型大展身手的地方,相比较传统模型效果大幅提升。

总之,探索认知智能还处于初级阶段,有很多问题亟待解决和突破。预训练语言模型方法已被验证是一种有效的途径,学术界和工业界的科技工作者在此方向上正在不断地深入探索和研究。未来随着理论算法的不断完善,人机交互、智能决策等高层次AI应用场景的效果将会大幅提升,我们也将迎来一个更加智能和便捷的世界。

分享到
关闭