CN115292033A - 模型运行方法、装置、存储介质及电子设备 - Google Patents
模型运行方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN115292033A CN115292033A CN202210786546.9A CN202210786546A CN115292033A CN 115292033 A CN115292033 A CN 115292033A CN 202210786546 A CN202210786546 A CN 202210786546A CN 115292033 A CN115292033 A CN 115292033A
- Authority
- CN
- China
- Prior art keywords
- model
- data
- intermediate data
- compressed data
- training
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
一种模型运行方法、装置、存储介质及电子设备,其中,获取模型运行过程中产生的中间数据;然后对中间数据进行压缩,得到压缩数据;以及将压缩数据存储至预设存储区域;响应于在模型的运行过程中接收到的对中间数据的调用指令,从预设存储区域调取压缩数据进行解压缩。该方法可以大大减少模型运行过程中产生的中间数据存储和搬运所需消耗的资源,提升模型的运行效率。
Description
技术领域
本申请涉及数据处理技术领域,具体涉及一种模型运行方法、装置、存储介质及电子设备。
背景技术
深度学习(DL,Deep Learning)是机器学习(ML,Machine Learning)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能 (AI,ArtificialIntelligence)。深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。
然而,目前深度学习模型在推理过程中产生的数据需要占用大量的存储和搬运资源,需要消耗大量的功耗,使得深度学习模型在资源有限的边缘设备上运行效率较低。
发明内容
本申请提供了一种模型运行方法、装置、存储介质及电子设备,该方法能够对模型运行过程中产生的数据进行压缩,从而降低模型运行过程中对产生的数据进行搬运和存储导致的资源消耗,提升模型的运行能力。
第一方面,本申请提供一种模型运行方法,包括:
获取模型运行过程中产生的中间数据;
对所述中间数据进行压缩,得到压缩数据;
将所述压缩数据存储至预设存储区域;
响应于所述模型的运行过程中接收到的对所述中间数据的调用指令,从所述预设存储区域调取所述压缩数据进行解压缩。
第二方面,本申请提供一种模型运行装置,包括:
获取模块,用于获取模型运行过程中产生的中间数据;
压缩模块,用于对所述中间数据进行压缩,得到压缩数据;
存储模块,用于将所述压缩数据存储至预设存储区域;
应用模块,用于响应于所述模型的运行过程中接收到的对所述中间数据的调用指令,从所述预设存储区域调取所述压缩数据进行解压缩。
第三方面,本申请提供了一种存储介质,其上存储有计算机程序,当该计算机程序被电子设备的处理器加载时执行如本申请提供的任一模型运行方法中的步骤。
第四方面,本申请还提供了一种电子设备,该电子设备包括处理器和存储器,存储器储存有计算机程序,处理器通过加载存储器储存的计算机程序执行如本申请提供的任一模型运行方法中的步骤。
采用本申请所提供的技术方案,首先获取模型运行过程中产生的中间数据;然后对中间数据进行压缩,得到压缩数据;以及将压缩数据存储至预设存储区域;响应于模型的运行过程中接收到的对中间数据的调用指令时,从预设存储区域调取压缩数据进行解压缩,并将解压缩后的数据应用于模型的运行过程。如此,采用本申请提供的模型运行方法,在模型运行过程中产生中间数据时,可以及时对产生的中间数据进行压缩与存储,在需要使用到中间数据时,也可以将存储的压缩数据进行解压缩以使用,如此在进行转运和存储时只需转运以及存储压缩后的数据即可,从而可以大大减少中间数据的存储和搬运所需消耗的资源,进而提升了模型的运行效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的模型运行方法的一流程示意图。
图2是是本申请实施例提供的模型运行方法的另一流程示意图。
图3是本申请实施例中对模型权重进行更新方法的流程示意图。
图4是本申请实施例提供的模型运行装置的结构框图。
图5是本申请实施例提供的电子设备的结构框图。
具体实施方式
应当说明的是,本申请中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是某些实施例还包括没有列出的步骤或模块,或某些实施例还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例提供一种模型运行方法、装置、存储介质及电子设备,其中模型运行方法的执行主体可以是本申请实施例提供的模型运行装置,或者集成了该模型运行装置的电子设备,其中该模型运行装置可以采用硬件或者软件的方式实现。其中,电子设备可以是智能手机、平板电脑、掌上电脑、笔记本电脑以及车载终端等配置有处理器而具有数据处理能力的设备。电子设备也可以为服务器,服务器可以为区块链中的一个节点。
请参照图1,图1为本申请实施例提供的模型运行方法的流程示意图,如图 1所示,本申请实施例提供的模型运行方法的流程可以如下:
在110中,获取模型运行过程中产生的中间数据。
以下以模型运行方法的执行主体为电子设备进行说明。
其中,本申请实施例中的模型可以为深度学习模型或者其他神经网络模型。其中,其他神经网络模型包括循环神经网络模型以及卷积神经网络模型等。神经网络模型的基础是感知器,感知器引入了权重的概念,权重的数值代表了不同的输入值对结果影响力的大小。
模型可以部署在电子设备上并在电子设备上进行运行。由于部署神经网络模型需要占用电子设备较大的存储空间,而且神经网络模型运行时对电子设备的算力要求较高,使得神经网络较难部署在一些存储空间和算力条件较低的电子设备中。例如,将神经网络模型部署到用于边缘计算的边缘设备中就存在较大的困难。其中,边缘计算是指在靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端服务。其应用程序在边缘侧发起,产生更快的网络服务响应,满足行业在实时业务、应用智能、安全与隐私保护等方面的基本需求。边缘计算处于物理实体和工业连接之间,或处于物理实体的顶端。对物联网而言,边缘计算技术取得突破,意味着许多控制将通过本地设备实现而无需交由云端,处理过程将在本地边缘计算层完成。这无疑将大大提升处理效率,减轻云端的负荷。由于更加靠近用户,还可为用户提供更快的响应,将需求在边缘端解决。因此,如何将神经网络模型部署到边缘设备中也是本领域技术人员亟需解决的一个问题。
因此,为了降低将模型部署在电子设备上所需的内存占用,一般会在将模型部署到电子设备上之前对模型进行压缩。具体地,可以对模型的权重数据进行压缩。如此在模型推理的过程中,可以将压缩的权重数据进行解压缩,然后再使用解压缩后的权重数据进行推理。
然而,本申请的发明人在研究中发现,模型在加载了权重数据进行推理的过程中,还会产生大量的中间结果,对这些中间结果进行搬运以及存储耗费了电子设备的大量的功耗。这些功耗已经远远超出了模型计算消耗的功耗,从而导致了模型运行效率的下降。对此,本申请的发明人提出一种模型运行方法,以期能够降低模型运行中产生的功耗,提升模型的运行能力。下面对本申请提供的模型运行方法进行详细的描述。
在本申请实施例提供的模型运行方法中,在模型运行时,电子设备可以实时检测模型运行过程中是否产生了中间数据。当检测到模型运行过程中产生了中间数据后,可以实时获取该中间数据并对该中间数据进行处理。以减小对中间数据的搬运和存储资源消耗,从而提升模型运行能力。
在一些实施例中,获取模型运行过程中产生的中间数据,包括:
1、在模型运行过程中,获取产生的特征图;
2、确定特征图为中间数据。
在本申请实施例中,模型运行过程中产生的中间数据可以为特征图 (FeatureMap,FM)。其中,特征图为深度学习模型在前向传播过程中产生的中间结果。具体地,深度学习模型可以具有多个神经网络层,输入数据在经过每个神经网络层进行处理后,都可以输出对应的数据,这些由神经网络层输出的数据,便可以称之为特征图。本申请的发明人在日常研究中发现,深度学习模型在推理过程中产生的特征图的数据量特别大。在对模型运行过程中的能耗进行分析的过程中发现,在内存中对特征图对应的数据进行搬运产生的能耗,大概占到了模型运行整体能耗的70%。其中,在内存中对特征图对应的数据进行搬运的具体操作可以包括将模型运行产生的特征图存储到内存中,以及在模型运行过程中当需要使用到特征图时从内存中加载特征图。
在120中,对中间数据进行压缩,得到压缩数据。
其中,当检测到模型运行过程中产生了中间数据并获取到这些中间数据后,可以进一步对这些中间数据进行压缩,以减少对中间数据进行搬运以及存储所需要消耗的能耗。
在一些实施例中,对中间数据进行压缩,得到压缩数据,包括:
采用无损压缩算法对中间数据进行压缩,得到压缩数据。
其中,在本申请实施例中,具体可以采用无损压缩的方法对中间数据进行压缩。无损压缩是一种可逆的压缩算法,压缩解压之后的数据与原始数据完全一样。无损压缩是利用数据的统计冗余进行压缩,可完全恢复原始数据而不引起任何失真,但压缩率是受到数据统计冗余度的理论限制,一般为2:1到5:1。这类方法广泛用于文本数据,程序和特殊应用场合的图像数据(如指纹图像,医学图像等)的压缩。
采用无损压缩算法对中间数据进行压缩,可以在一定程度上对中间数据的数据量进行压缩,减少需要搬运的中间数据的数据量,降低搬运导致的能耗。而且,由于无损算法是可逆的算法,采用无损算法对中间数据进行压缩,可以保证模型的精度不受影响,进而保证了模型的推理结果的准确。
在一些实施例中,采用无损压缩算法对中间数据进行压缩,得到压缩数据,包括:
1、采用有损压缩算法对中间数据进行压缩,得到第一过渡压缩数据;
2、采用无损压缩算法对第一过渡压缩数据进行压缩,得到压缩数据。
其中,如前所述,采用无损压缩算法对中间数据进行压缩,虽然可以保证模型的精度不受影响,但是有损压缩算法的压缩能力有限。一般只能实现一般为2:1到5:1的压缩,因此,在本申请实施例中,可以先采用有损压缩算法对中间数据进行适当压缩,得到第一过渡压缩数据,其中该有损压缩的压缩程度可以控制在对模型的精度影响保持在可控范围内。然后,可以再进一步对第一过渡压缩数据进行进一步的无损压缩,以进一步减小中间数据的搬运数据量,降低搬运功耗。
当然,在一些实施例中,也可以先采用无损压缩算法对中间数据进行压缩,得到过渡压缩数据。然后再进一步采用对应设计的有损压缩算法对过渡压缩数据进行压缩。
或者,在一些实施例中,可以只采用有损压缩算法对中间数据进行压缩,提高压缩率,进一步降低需要搬运的中间数据的数据量。当然,如前所属,有损压缩为了追求较高的压缩率,会以牺牲数值的精度作为代价,因此为了避免有损压缩对中间数据的数值精度造成过大影响进而使得模型的推理准确性下降,需要对有损压缩的压缩程度进行控制,使得有损压缩对模型精度的影响控制在可接受的范围内。
在一些实施例中,采用无损压缩算法对中间数据进行压缩,得到压缩数据,包括:
A、对中间数据的统计特性进行调节,得到第二过渡压缩数据;
B、确定与第二过渡压缩数据对应的目标无损压缩算法;
C、采用目标无损压缩算法对第二过渡压缩数据进行压缩,得到压缩数据。
其中,在本申请实施例中,可以仍然只采用无损压缩算法来对中间数据进行压缩。但在无损压缩之前,可以先对中间数据的统计特性进行调节,以使得调节后得到的第二过渡压缩数据能够更加适应无损压缩,以达到提升压缩率的效果。
具体地,中间数据的统计特性可以包括数据的稀疏性和连续性。其中,数据的稀疏性可以为数据中数值0所占的百分比,数据的连续性为相邻数值之间的绝对值差值。一般情况下,数据的稀疏性和连续性越好,对数据进行压缩可以得到更高的压缩率。当中间数据为特征图时,特征图的稀疏性和连续性越好,对特征图进行压缩便可以得到越高的压缩率。因此,在获取到模型运行过程中产生的特征图后,可以先对特征图的统计特性进行调节,得到第二过渡压缩数据。
其中,对中间数据的统计特性进行调节,具体可以为使用简单的移位算法将中间数据原数值的低比特位丢弃一部分,如此可以增加原数值的连续性,从而有利于后续的无损压缩得到更高的压缩率。由于对统计特性进行调节时也会在一定程度上牺牲中间数据的数值精度,因此此处对统计特性进行调整也可以理解为对中间数据进行有损压缩。只是在有损压缩时对有损压缩算法进行一定的设计,使得中间数据在经过有损压缩后可以增强数据的连续性,而在压缩增益上只要保证争取最大即可。
在本申请实施例中,有损压缩与无损压缩的算法可以进行匹配设计,即采用设计的无损压缩算法对中间数据进行压缩后的的统计特性可以与设计的无损压缩算法进行匹配。具体地,可以在对中间数据进行统计特性调节,得到第二过渡压缩数据之后,可以进一步确定第二过渡压缩数据的统计特性,然后根据第二过渡压缩数据的统计特性来确定与第二过渡压缩数据的统计特性匹配的目标无损压缩算法,再进一步使用目标无损压缩算法对第二过渡数据进行压缩,便可以得到最终的压缩数据。
在130中,将压缩数据存储至预设存储区域。
其中,在本申请实施例中,在将模型运行过程中生成的中间数据进行压缩得到压缩数据后,可以对该压缩数据进行存储。具体地,可以将在片上内存中生成的压缩数据发送到片外内存中进行存储。其中片上内存可以为单片机上的存储空间,例如缓存;片外内存可以为单独的存储空间。一般情况下,片上内存的存储空间较小,而片外内存具有较大的存储空间,可以存储更多的数据。
其中,在将压缩数据存储值预设存储区域中时,可以先对每一中间数据对应的压缩数据进行标注,从而获得每一中间数据对应的压缩数据的标签信息。如此在模型运行过程中,当需要使用到某一中间数据时,便可以确定该中间数据对应的标签信息,然后根据该标签信息获取到与该中间数据对应的压缩数据。
在140中,响应于模型的运行过程中接收到的对中间数据的调用指令,从预设存储区域调取压缩数据进行解压缩。
其中,在模型的运行过程中,如果需要使用到先前生成的中间数据时,便可以在预设存储区域中查找与中间数据对应的压缩数据,然后再对该压缩数据进行解压缩,然后将解压缩得到的数据作为模型需要使用的数据进行应用。如此,模型在运行过程中产生了中间数据(例如特征图)后,便无需将完整的中间数据进行存储,而是可以将中间数据进行压缩后得到的压缩数据进行存储。在需要用到某一中间数据时,可以再从存储区域中调取出压缩数据进行解压缩得到中间数据进行模型推理,如此便可以大大减少存储和调用引起的数据搬运的数据量,进而减少了模型运行时的能耗,提升模型的运行能力。
如图2所示,为本申请提供的模型运行方法的另一流程示意图。如图所示,图中结合模型结构对本申请提供的模型运行方法进行进一步的详细描述。如图所示,为模型中任意两个神经网络层之间进行数据处理的流程示意。当第一神经网络层10产生了第一特征图11后,可以对第一特征图11进行压缩,此处压缩操作可以为先进行有损压缩再进行无损压缩,得到第一压缩数据12。然后可以将第一压缩数据12存储到片外内存30中。当在模型推理过程中需要使用到该第一压缩数据12时,可以从片外内存30中调用该第一压缩数据12,再对该第一压缩数据12进行解压缩。其中,此处解压缩的过程可以为先进行与无损压缩对应的解压缩,再进行与有损压缩对应的解压缩,得到第二特征图。然后再将第二特征图输入至第二神经网络层中进行推理。如此,可以无需传输第一特征图 11,只需传输第一压缩数据12即可,大大减少了数据搬运量,节约了能耗,提升了模型运行效率。
在一些实施例中,获取模型运行过程中产生的中间数据之前,还包括:
1、在对模型进行训练时,获取模型训练过程中产生的第一训练中间数据;
2、对第一训练中间数据进行压缩,得到压缩中间数据;
3、对压缩中间数据进行解压缩,得到第二训练中间数据;
4、基于第二训练中间数据对模型进行模型训练。
其中,一般在将模型部署到电子设备上之前,需要先对模型进行训练以保证模型的推理准确性。在本申请实施例中,在对模型进行训练时,可以在模型的神经网络层之间添加压缩和解压缩的操作,然后根据解压缩后的数据来对模型进行训练。
具体地,在模型的训练过程中,将训练数据输入至模型中的神经网络层中进行处理,模型的神经网络层输出第一训练中间数据,此时可以对该第一训练中间数据进行压缩,具体地,此处的压缩可以为有损压缩,使得第一训练中间数据的数据量降低。然后,再对压缩得到的压缩中间数据进行解压缩,得到第二训练中间数据。由于对第一训练中间数据压缩时采用的是有损压缩,因为有损压缩为不可逆的压缩算法,解压之后的数据与原始数据存在误差,因此对压缩中间数据进行解压缩后得到的第二训练中间数据与第一训练中间数据之间会存在一定的误差。如此,采用解压缩后得到的第二训练中间数据对模型进行训练,能够将模型运行过程中的压缩误差纳入考虑范畴,使得训练得到的模型可以更适用压缩算法。
例如,当一个已经训练完的模型的模型权重为初始权重,那么采用本实施例提供的方法可以对该初始权重进行调整,得到更新后的模型权重。具体地,本实施例中可以以中间数据为特征图为例进行说明。对签署已经训练完的模型进行再次训练以调节其模型权重时,可以在模型的神经网络层之间添加有损压缩和解压缩操作。例如,当该模型的某一神经网络层输出了特征图后,可以对该特征图进行有损压缩,得到压缩数据;然后对该压缩数据进行解压缩,得到修正后的特征图。此时可以将修正后的特征图作为下一层神经网络层的输入,如此,在下一个神经网络层输出特征图之后,再对特征图进行压缩和解压缩,如此遍历每一神经网络层,得到模型的输出。此时再基于模型的损失函数将模型的输出与标签数据进行比对,得到差异并不断反传调整模型的权重,便可以对模型的初始权重进行更新,得到更新后的权重。本实施例提供的方法可以再模型训练过程中使得模型权重感知到特征图的有损压缩带来的精度损失。那么当模型部署到电子设备上后进行模型推理时,更新后的模型权重便可以有效补偿精度的损失。进一步地,在本实施例中,应当在压缩率可以接受的情况下尽量选择损失较小的压缩算法,避免模型权重的调整无法拟合压缩导致的精度损失的情况。
具体地,如图3所示,为本申请实施例中对模型权重进行更新方法的流程示意图。如图所示,在对已经训练过的模型的模型权重进行更新训练时,在模型的任意两个神经网络层之间添加有损压缩和解压缩的操作。具体地,当第三神经网络层40产生了中间数据,即第三特征图21后,可以先采用有损压缩算法对第三特征图21进行有损压缩,得到第二压缩数据22。然后,进一步对该第二压缩数据22进行解压缩,得到第四特征图23。此时便可以采用第四特征图23 替代第三特征图21作为第四神经网络层50的输入,如此循环直至模型输出与输入数据对应的输出结果。然后再基于模型的损失函数、输出结果以及标签数据对模型的权重系数进行更新。
在一些实施例中,基于第二训练中间数据对模型进行模型训练,包括:
4.1、获取第一训练中间数据的统计特性;
4.2、基于统计特性更新模型的损失函数,得到目标损失函数;
4.3、基于第二训练中间数据以及目标损失函数对模型进行训练。
其中,在本申请实施例中,在对模型进行进一步训练以调节模型权重,弥补精度损失时,可以将中间数据的统计特性作为一个指标添加到模型的损失函数中。如此,在对模型进行再次训练时,便会通过调整模型的权重来不断优化中间数据的统计特性。具体地,可以使得中间数据的稀疏性和连续性在模型权重的更新过程中不断进行提升。如此,对模型进行再次训练得到的新的模型权重,不仅能够修复模型推理过程中对中间数据的压缩导致的精度损失,还可以对模型推理过程中产生的中间数据的统计特性进行优化,使得模型推理过程中产生的中间数据更适合后续的压缩操作,从而能够提升压缩率,进一步降低需要传输的数据量,提升模型的运行效率。
在一些实施例中,当在模型训练过程中在模型的损失函数中添加了中间数据的统计特性来对中间数据的统计特性进行优化时,那么当将模型部署到电子设备上之后,便可以无需再采用有损压缩来对模型的统计特性进行调整,可以直接采用无损压缩来对模型中产生的中间数据进行压缩。如此可以在保证压缩率的同时,进一步提升模型的运行效率。
根据上述描述可知,本申请提供的模型运行方法,通过获取模型运行过程中产生的中间数据;然后对中间数据进行压缩,得到压缩数据;以及将压缩数据存储至预设存储区域;响应于模型的运行过程中接收到的对中间数据的调用指令,从预设存储区域调取压缩数据进行解压缩。如此,采用本申请提供的模型运行方法,在模型运行过程中产生中间数据时,可以及时对产生的中间数据进行压缩与存储,在需要使用到中间数据时,也可以将存储的压缩数据进行解压缩以使用,如此在进行转运和存储时只需转运以及存储压缩后的数据即可,从而可以大大减少中间数据的存储和搬运所需消耗的资源,进而能够提升模型的运行效率。
请参照图4,图4为本申请实施例提供的模型运行装置200的一结构示意图。该模型运行装置200应用于本申请提供的电子设备。如图4所示,该模型运行装置200可以包括:
获取模块210,用于获取模型运行过程中产生的中间数据;
压缩模块220,用于对中间数据进行压缩,得到压缩数据;
存储模块230,用于将压缩数据存储至预设存储区域;
应用模块240,用于响应于模型的运行过程中接收到的对中间数据的调用指令时,从预设存储区域调取压缩数据进行解压缩。
可选地,在一实施例中,本申请提供的模型运行装置,还包括:
第一获取子模块,用于在对模型进行训练时,获取模型训练过程中产生的第一训练中间数据;
第一压缩子模块,用于对第一训练中间数据进行压缩,得到压缩中间数据;
解压缩子模块,用于对压缩中间数据进行解压缩,得到第二训练中间数据;
训练子模块,用于基于第二训练中间数据对模型进行模型训练。
可选地,在一实施例中,获取模块,包括:
第二获取子模块,用于在模型运行过程中,获取产生的特征图;
确定子模块,用于确定特征图为中间数据。
可选地,在一实施例中,压缩模块,还可以用于:
采用无损压缩算法对中间数据进行压缩,得到压缩数据。
可选地,在一实施例中,压缩模块,包括:
第二压缩子模块,用于采用有损压缩算法对中间数据进行压缩,得到第一过渡压缩数据;
第三压缩子模块,用于采用无损压缩算法对第一过渡压缩数据进行压缩,得到压缩数据。
可选地,在一实施例中,第三压缩子模块,还用于:
对中间数据的统计特性进行调节,得到第二过渡压缩数据;
确定与第二过渡压缩数据对应的目标无损压缩算法;
采用目标无损压缩算法对第二过渡压缩数据进行压缩,得到压缩数据。
可选地,在一实施例中,训练子模块,还用于:
获取第一训练中间数据的统计特性;
基于统计特性更新模型的损失函数,得到目标损失函数;
基于第二训练中间数据以及目标损失函数对模型进行训练。
应当说明的是,本申请实施例提供的模型运行装置200与上文实施例中的模型运行方法属于同一构思,其具体实现过程详见以上相关实施例,此处不再赘述。
本申请实施例提供一种存储介质,其上存储有计算机程序,当其存储的计算机程序在本申请实施例提供的电子设备的处理器上执行时,使得电子设备的处理器执行以上任一适于电子设备的模型运行方法中的步骤。其中,存储介质可以是磁碟、光盘、只读存储器(Read Only Memory,ROM)或者随机存取器(Random Access Memory,RAM)等。
本申请还提供一种电子设备,请参照图5,电子设备300包括处理器310 和存储器320。
本申请实施例中的处理器310可以是通用处理器,比如ARM架构的处理器。
存储器320中存储有计算机程序,其可以为高速随机存取存储器,还可以为非易失性存储器,比如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件等。相应地,存储器320还可以包括存储器控制器,以提供处理器 301对存储器320的访问。处理器310通过执行存储器320中的计算机程序,用于执行以上任一模型运行方法,比如:
获取模型运行过程中产生的中间数据;然后对中间数据进行压缩,得到压缩数据;以及将压缩数据存储至预设存储区域;响应于模型的运行过程中接收的到对中间数据的调用指令,从预设存储区域调取压缩数据进行解压缩。
以上对本申请所提供的一种模型运行方法、装置、存储介质及电子设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种模型运行方法,其特征在于,所述方法包括:
获取模型运行过程中产生的中间数据;
对所述中间数据进行压缩,得到压缩数据;
将所述压缩数据存储至预设存储区域;
响应于所述模型的运行过程中接收到的对所述中间数据的调用指令,从所述预设存储区域调取所述压缩数据进行解压缩。
2.根据权利要求1所述的方法,其特征在于,所述获取模型运行过程中产生的中间数据之前,还包括:
在对所述模型进行训练时,获取所述模型训练过程中产生的第一训练中间数据;
对所述第一训练中间数据进行压缩,得到压缩中间数据;
对所述压缩中间数据进行解压缩,得到第二训练中间数据;
基于所述第二训练中间数据对所述模型进行模型训练。
3.根据权利要求1或2所述的方法,其特征在于,所述获取模型运行过程中产生的中间数据,包括:
在模型运行过程中,获取产生的特征图;
确定所述特征图为中间数据。
4.根据权利要求3所述的方法,其特征在于,所述对所述中间数据进行压缩,得到压缩数据,包括:
采用无损压缩算法对所述中间数据进行压缩,得到压缩数据。
5.根据权利要求4所述的方法,其特征在于,所述采用无损压缩算法对所述中间数据进行压缩,得到压缩数据,包括:
采用有损压缩算法对所述中间数据进行压缩,得到第一过渡压缩数据;
采用无损压缩算法对所述第一过渡压缩数据进行压缩,得到压缩数据。
6.根据权利要求4所述的方法,其特征在于,所述采用无损压缩算法对所述中间数据进行压缩,得到压缩数据,包括:
对所述中间数据的统计特性进行调节,得到第二过渡压缩数据;
确定与所述第二过渡压缩数据对应的目标无损压缩算法;
采用所述目标无损压缩算法对所述第二过渡压缩数据进行压缩,得到压缩数据。
7.根据权利要求2所述的方法,其特征在于,所述基于所述第二训练中间数据对所述模型进行模型训练,包括:
获取所述第一训练中间数据的统计特性;
基于所述统计特性更新所述模型的损失函数,得到目标损失函数;
基于所述第二训练中间数据以及所述目标损失函数对所述模型进行训练。
8.一种模型运行装置,其特征在于,包括:
获取模块,用于获取模型运行过程中产生的中间数据;
压缩模块,用于对所述中间数据进行压缩,得到压缩数据;
存储模块,用于将所述压缩数据存储至预设存储区域;
应用模块,用于响应于所述模型的运行过程中接收到的对所述中间数据的调用指令,从所述预设存储区域调取所述压缩数据进行解压缩。
9.一种存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序被电子设备的处理器加载时执行如权利要求1-7任一项所述的模型运行方法中的步骤。
10.一种电子设备,所述电子设备包括处理器和存储器,所述存储器储存有计算机程序,其特征在于,所述处理器通过加载所述计算机程序执行如权利要求1-7任一项所述的模型运行方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210786546.9A CN115292033A (zh) | 2022-07-04 | 2022-07-04 | 模型运行方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210786546.9A CN115292033A (zh) | 2022-07-04 | 2022-07-04 | 模型运行方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115292033A true CN115292033A (zh) | 2022-11-04 |
Family
ID=83822952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210786546.9A Pending CN115292033A (zh) | 2022-07-04 | 2022-07-04 | 模型运行方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115292033A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116185307A (zh) * | 2023-04-24 | 2023-05-30 | 之江实验室 | 一种模型数据的存储方法、装置、存储介质及电子设备 |
-
2022
- 2022-07-04 CN CN202210786546.9A patent/CN115292033A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116185307A (zh) * | 2023-04-24 | 2023-05-30 | 之江实验室 | 一种模型数据的存储方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108304921B (zh) | 卷积神经网络的训练方法及图像处理方法、装置 | |
EP3627397B1 (en) | Processing method and apparatus | |
US10929746B2 (en) | Low-power hardware acceleration method and system for convolution neural network computation | |
CN110807362B (zh) | 一种图像检测方法、装置和计算机可读存储介质 | |
CN111783974A (zh) | 模型构建及图像处理方法、装置、硬件平台及存储介质 | |
CN112883149A (zh) | 一种自然语言处理方法以及装置 | |
US20190370642A1 (en) | Processing method and device, operation method and device | |
CN110874627B (zh) | 数据处理方法、数据处理装置及计算机可读介质 | |
CN115081588A (zh) | 一种神经网络参数量化方法和装置 | |
CN114692745A (zh) | 数据处理方法、装置、集成芯片、电子设备及存储介质 | |
CN114677548A (zh) | 基于阻变存储器的神经网络图像分类系统及方法 | |
CN115292033A (zh) | 模型运行方法、装置、存储介质及电子设备 | |
CN116737895A (zh) | 一种数据处理方法及相关设备 | |
CN116401552A (zh) | 一种分类模型的训练方法及相关装置 | |
CN109697507B (zh) | 处理方法及装置 | |
US20200242467A1 (en) | Calculation method and calculation device for sparse neural network, electronic device, computer readable storage medium, and computer program product | |
CN117807472A (zh) | 一种数据处理方法及相关装置 | |
CN115983362A (zh) | 一种量化方法、推荐方法以及装置 | |
CN116362301A (zh) | 一种模型的量化方法以及相关设备 | |
CN115905546A (zh) | 基于阻变存储器的图卷积网络文献识别装置与方法 | |
CN113222121B (zh) | 一种数据处理方法、装置及设备 | |
CN113378866B (zh) | 图像分类方法、系统、存储介质及电子设备 | |
CN116227332A (zh) | 一种transformer混合比特量化方法及系统 | |
CN117764190A (zh) | 一种数据处理方法及其装置 | |
CN112036554B (zh) | 神经网络模型的处理方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |