NLP模型优化方法、装置以及计算机设备制造方法及图纸

技术编号:26172155 阅读:26 留言:0更新日期:2020-10-31 13:48
本申请提供了一种NLP模型优化方法、装置以及计算机设备,涉及神经网络模型技术领域,缓解了目前的NLP模型的预测速度较慢的技术问题。该方法包括:获取待优化NLP模型;通过对所述待优化NLP模型进行剪枝处理,建立所述待优化NLP模型的稀疏化模型;对所述稀疏化模型进行量化处理,得到所述稀疏化模型的压缩后模型;对所述压缩后模型的部分代码转换为预设语言代码,并基于代码转换后的模型进行编译,得到编译后模型;所述预设语言代码的运行速度大于所述部分代码的运行速度;通过异步处理方式对所述编译后模型部署FastAPI,得到优化后的NLP模型。

【技术实现步骤摘要】
NLP模型优化方法、装置以及计算机设备
本申请涉及神经网络模型
,尤其是涉及一种NLP模型优化方法、装置以及计算机设备。
技术介绍
目前,深度学习模型需要大量算力、内存和电量,尤其以自然语言处理(NaturalLanguageProcessing,简称NLP)领域的模型更为突出,前期需要加入大量预处理成分,例如,遍历、正则和分词等。再者,NLP领域的新兴模型越来越来多,例如,BERT、XLNET等,NLP模型的前期预测过程便更为繁琐,耗时较长。因此,目前的NLP模型的预测过程速度较慢。
技术实现思路
本专利技术的目的在于提供一种NLP模型优化方法、装置以及计算机设备,以缓解目前的NLP模型的预测速度较慢的技术问题。第一方面,本申请实施例提供了一种NLP模型优化方法,所述方法包括:获取待优化NLP模型;通过对所述待优化NLP模型进行剪枝处理,建立所述待优化NLP模型的稀疏化模型;对所述稀疏化模型进行量化处理,得到所述稀疏化模型的压缩后模型;对所述压缩后模型的部分代码转换为预设语言代码,并基于代码转换后的模型进行编译,得到编译后模型;所述预设语言代码的运行速度大于所述部分代码的运行速度;通过异步处理方式对所述编译后模型部署FastAPI,得到优化后的NLP模型。在一个可能的实现中,所述待优化NLP模型包括下述任意一项或多项:TextCNN模型、BERT模型、fasttext模型。在一个可能的实现中,获取待优化NLP模型的步骤,包括:对初始NLP模型进行预处理,得到待优化NLP模型;其中,预处理的过程包括正则、循环遍历以及分词中的任意一项或多项。在一个可能的实现中,通过对所述待优化NLP模型进行剪枝处理,建立所述待优化NLP模型的稀疏化模型的步骤,包括:根据所述待优化NLP模型中神经元的作用数据对所述神经元进行排序,将排序结果中处于预设排名之后的神经元移除,基于移除后保留的神经元建立所述待优化NLP模型的稀疏化模型。在一个可能的实现中,对所述稀疏化模型进行量化处理,得到所述稀疏化模型的压缩后模型的步骤,包括:通过tensorflowlite对所述稀疏化模型进行量化压缩处理,得到所述稀疏化模型的压缩后模型。在一个可能的实现中,所述预设语言代码中的预设语言为Cython语言。在一个可能的实现中,所述异步处理方式包括结合反向代理的处理方式。第二方面,提供了一种NLP模型优化装置,包括:获取模块,用于获取待优化NLP模型;剪枝模块,用于通过对所述待优化NLP模型进行剪枝处理,建立所述待优化NLP模型的稀疏化模型;量化模块,用于对所述稀疏化模型进行量化处理,得到所述稀疏化模型的压缩后模型;编译模块,用于对所述压缩后模型的部分代码转换为预设语言代码,并基于代码转换后的模型进行编译,得到编译后模型;所述预设语言代码的运行速度大于所述部分代码的运行速度;部署模块,用于通过异步处理方式对所述编译后模型部署FastAPI,得到优化后的NLP模型。第三方面,本申请实施例又提供了一种计算机设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的第一方面所述方法。第四方面,本申请实施例又提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述的第一方面所述方法。本申请实施例带来了以下有益效果:本申请实施例提供的一种NLP模型优化方法、装置以及计算机设备,能够通过对获取到的待优化NLP模型进行剪枝处理来建立所述待优化NLP模型的稀疏化模型,然后,对所述稀疏化模型进行量化处理从而得到所述稀疏化模型的压缩后模型,之后对所述压缩后模型的部分代码转换为预设语言代码,并基于代码转换后的模型进行编译从而得到编译后模型,其中的所述预设语言代码的运行速度大于所述部分代码的运行速度,最后通过异步处理方式对所述编译后模型部署FastAPI从而得到优化后的NLP模型。本方案中,通过结合剪枝、量化、编译以及异步处理的整体过程对NLP模型进行压缩部署,能够提高模型的预测速度,缓解模型耗能的问题,实现了既可以使用开源大模型,又可以提高预测速率。为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种NLP模型优化方法的流程示意图;图2为本申请实施例提供的一种NLP模型优化方法的另一流程示意图;图3为本申请实施例提供的一种NLP模型优化装置的结构示意图;图4示出了本申请实施例所提供的一种计算机设备的结构示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请实施例中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。目前,深度学习模型需要大量算力、内存和电量,尤其以NLP领域更为突出,前期需要加入大量预处理成分,例如,遍历、正则和分词等,再加上NLP新兴模型越来越来多,例如,BERT、XLNET等。当需要执行实时推断、在设备端运行模型、在计算资源有限的情况下运行浏览器时,这便形成了瓶颈。能耗是目前对于当前深度学习模型的主要担忧,而解决这一问题的方法之一是提高推断效率。由此可见,随着目前模型的越来越大,内存消耗和预测速度都会受到影响。再者,文本数据越来越复杂,预处理过程也更加频繁且复杂。现有NLP模型普遍通过fine-tuning模式建立,为了提高各方面准确率,引用目前很多的预训练好的大模型,如BERT等,单方面提高了准确率。但是也带来缺点,如能耗增加、内存爆炸、预测速度缓慢等一系列问题。在实际应用中,Python代码本身效率并不高,尤其对于循环遍历等处理方式速度更加缓慢,目前的文本数据集随着时代的发展以及不同人之间的表述不同导致数据集本身越来越复杂多样,需要经过大量的不可避免的预测过程,这部分需本文档来自技高网...

【技术保护点】
1.一种NLP模型优化方法,其特征在于,所述方法包括:/n获取待优化NLP模型;/n通过对所述待优化NLP模型进行剪枝处理,建立所述待优化NLP模型的稀疏化模型;/n对所述稀疏化模型进行量化处理,得到所述稀疏化模型的压缩后模型;/n对所述压缩后模型的部分代码转换为预设语言代码,并基于代码转换后的模型进行编译,得到编译后模型;所述预设语言代码的运行速度大于所述部分代码的运行速度;/n通过异步处理方式对所述编译后模型部署FastAPI,得到优化后的NLP模型。/n

【技术特征摘要】
1.一种NLP模型优化方法,其特征在于,所述方法包括:
获取待优化NLP模型;
通过对所述待优化NLP模型进行剪枝处理,建立所述待优化NLP模型的稀疏化模型;
对所述稀疏化模型进行量化处理,得到所述稀疏化模型的压缩后模型;
对所述压缩后模型的部分代码转换为预设语言代码,并基于代码转换后的模型进行编译,得到编译后模型;所述预设语言代码的运行速度大于所述部分代码的运行速度;
通过异步处理方式对所述编译后模型部署FastAPI,得到优化后的NLP模型。


2.根据权利要求1所述的方法,其特征在于,所述待优化NLP模型包括下述任意一项或多项:
TextCNN模型、BERT模型、fasttext模型。


3.根据权利要求1所述的方法,其特征在于,获取待优化NLP模型的步骤,包括:
对初始NLP模型进行预处理,得到待优化NLP模型;其中,预处理的过程包括正则、循环遍历以及分词中的任意一项或多项。


4.根据权利要求1所述的方法,其特征在于,通过对所述待优化NLP模型进行剪枝处理,建立所述待优化NLP模型的稀疏化模型的步骤,包括:
根据所述待优化NLP模型中神经元的作用数据对所述神经元进行排序,将排序结果中处于预设排名之后的神经元移除,基于移除后保留的神经元建立所述待优化NLP模型的稀疏化模型。


5.根据权利要求1所述的方法,其特征在于,对所述稀疏化模型进行量化处理,得到所述稀疏化模型的压缩后模型的步...

【专利技术属性】
技术研发人员:陈喜旺章水鑫
申请(专利权)人:南京三百云信息科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1