CN116911350B - 基于图神经网络模型的量化方法、任务处理方法及装置 - Google Patents
基于图神经网络模型的量化方法、任务处理方法及装置 Download PDFInfo
- Publication number
- CN116911350B CN116911350B CN202311168927.1A CN202311168927A CN116911350B CN 116911350 B CN116911350 B CN 116911350B CN 202311168927 A CN202311168927 A CN 202311168927A CN 116911350 B CN116911350 B CN 116911350B
- Authority
- CN
- China
- Prior art keywords
- target
- neural network
- graph
- network model
- data
- 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.)
- Active
Links
- 238000003062 neural network model Methods 0.000 title claims abstract description 257
- 238000000034 method Methods 0.000 title claims abstract description 93
- 238000012545 processing Methods 0.000 title claims description 54
- 238000003672 processing method Methods 0.000 title claims description 10
- 238000011002 quantification Methods 0.000 title description 4
- 238000013139 quantization Methods 0.000 claims description 229
- 238000012549 training Methods 0.000 claims description 132
- 239000011159 matrix material Substances 0.000 claims description 73
- 230000015654 memory Effects 0.000 claims description 27
- 239000013598 vector Substances 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 21
- 230000007246 mechanism Effects 0.000 claims description 9
- 238000005070 sampling Methods 0.000 claims description 8
- 230000000694 effects Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 abstract description 17
- 238000010586 diagram Methods 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005295 random walk Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000011692 calcium ascorbate Substances 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000000542 fatty acid esters of ascorbic acid Substances 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 229940050561 matrix product Drugs 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- PPASLZSBLFJQEF-RKJRWTFHSA-M sodium ascorbate Substances [Na+].OC[C@@H](O)[C@H]1OC(=O)C(O)=C1[O-] PPASLZSBLFJQEF-RKJRWTFHSA-M 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
-
- 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
- Feedback Control In General (AREA)
Abstract
本发明提供了基于图神经网络模型的量化方法、任务处理方法及装置,本申请实施例提供的方法通过利用硬件加速器的资源预算量对期望量化分配信息调整,并按照调整后的第一目标量化分配信息量化图神经网络模型和图数据。以此保证图神经网络模型和图数据在硬件加速器上运行的稳定性。后续利用硬件加速器反馈的准确度继续对第一目标量化分配信息进行优化,从而得到第二目标量化分配信息,最终通过第二目标量化分配信息对图神经网络模型和图数据进行量化压缩,一方面减少存储空间,另一方面,结合硬件加速器的并行计算和可编程特性,能够实现高效率、低功耗的计算,同时保证了图神经网络模型的精度。
Description
技术领域
本发明涉及数据处理领域,具体涉及一种基于图神经网络模型的量化方法、任务处理方法及装置。
背景技术
现有技术中存在许多关于图神经网络模型(Graph Convolutional Networks,缩写:GNN)量化的工作,目前对GNN模型进行量化的方案主要存在以下问题:(1)对所有数据选择简单但激进的统一量化,以最小化内存和功耗成本,从而导致无法满足高精度需求。(2)选择非常保守的量化方案来保持准确性,导致占用较多存储空间。(3)忽略了不同的硬件架构,以统一的方式量化GNN模型,导致GNN模型无法在一些硬件架构上无法进行高效运算。
发明内容
有鉴于此,本发明实施例提供了一种基于图神经网络模型的量化方法、任务处理方法及装置,以解决现有的量化方案无法满足高精度需求,占用存储空间较多等问题。
第一方面,本发明实施例提供了一种基于图神经网络模型的量化方法,应用于智能设备,所述方法包括:
获取期望量化分配信息,所述期望量化分配信息包括:分别针对于原始图神经网络模型对应的第一期望量化数据以及原始图数据对应的第二期望量化数据;
利用硬件加速器对应的资源预算量对所述期望量化分配信息进行调整,得到所述原始图神经网络模型以及原始图数据对应的第一目标量化分配信息;
按照所述第一目标量化分配信息对所述原始图神经网络模型以及原始图数据进行量化操作,得到量化后的目标图神经网络模型以及目标图数据;
将所述目标图神经网络模型以及所述目标图数据部署至硬件加速器,以使所述硬件加速器基于所述目标图神经网络模型以及所述目标图数据执行处理任务;
获取所述硬件加速器反馈的所述处理任务对应的准确度,并根据所述准确度差值对所述第一目标量化分配信息进行优化,直至得到第二目标量化分配信息。
进一步的,在获取期望量化分配信息之前,所述方法还包括:
获取当前指定的动作向量,其中,所述动作向量包括:所述原始图神经网络模型中各层权重对应的量化位宽和小数点位,所述原始图神经网络模型中各层输出特征对应的量化位宽和小数点位,所述原始图数据中节点特征对应的量化位宽和小数点位,以及节点邻接矩阵对应的量化位宽和小数点位;
基于所述动作向量触发定点量化机制生效,其中,所述定点量化机制用于对所述原始图神经网络模型以及所述原始图数据进行定点量化。
进一步的,所述获取期望量化分配信息,包括:
基于所述原始图神经网络模型中各层权重对应的量化位宽和小数点位,以及所述原始图神经网络模型中各层输出特征对应的量化位宽和小数点位,生成所述原始图神经网络模型对应的第一期望量化数据;
基于原始图数据中节点特征对应的量化位宽和小数点位,以及节点邻接矩阵对应的量化位宽和小数点位,生成所述原始图数据对应的第二期望量化数据;
利用所述第一期望量化数据生成所述第二期望量化数据生成所述期望量化分配信息。
进一步的,所述利用硬件加速器对应的资源预算量对所述期望量化分配信息进行调整,得到所述原始图神经网络模型以及原始图数据对应的第一目标量化分配信息,包括:
基于所述期望量化分配信息预测第一图神经网络模型处理第一图数据消耗的第一硬件资源量,其中,所述第一图神经网络模型是按照所述第一期望量化数据对所述原始图神经网络模型进行量化得到的,所述第一图数据是按照所述第二期望量化数据对所述原始图数据进行量化得到的;
在所述第一硬件资源量低于所述资源预算量的情况下,利用所述第一期望量化数据和所述第二期望量化数据生成为所述第一目标量化分配信息。
进一步的,在所述第一硬件资源量超过所述资源预算量的情况下,所述方法还包括:
对所述期望量化分配信息中的第一期望量化数据和所述第二期望量化数据进行优化,得到优化后的期望量化分配信息;
基于优化后的期望量化分配信息预测第二图神经网络模型对应的第二硬件资源量,其中,所述第二图神经网络模型是优化后的期望量化分配信息对应的图神经网络模型;
在所述第二硬件资源量低于所述资源预算量的情况下,将优化后的期望量化分配信息确定为所述第一目标量化分配信息。
进一步的,所述对所述期望量化分配信息进行优化,得到优化后的期望量化分配信息,包括:
按照预设梯度减少所述第一期望量化数据中所述原始图神经网络模型中各层权重对应的量化位宽和小数点位以及输出特征对应的量化位宽和小数点位,得到优化后第一期望量化数据;
按照预设梯度减少第二期望量化数据中节点特征对应的量化位宽和小数点位以及节点邻接矩阵对应的量化位宽和小数点位,得到优化后的第二期望量化数据;
基于优化后第一期望量化数据以及优化后的第二期望数据得到所述优化后的期望量化分配信息。
进一步的,所述按照所述第一目标量化分配信息对所述原始图神经网络模型以及原始图数据进行量化操作,得到量化后的目标图神经网络模型以及目标图数据,包括:
从所述第一目标量化分配信息中获取第一子量化数据,第二子量化数据,第三子量化数据以及第四子量化数据;
利用所述第一子量化数据对所述原始图神经网络模型的权重进行定点量化,以及利用所述第二子量化数据对所述原始图神经网络模型的输出特征进行定点量化,得到所述目标图神经网络模型;
利用所述第三子量化数据对所述原始图数据中的节点特征进行定点量化,以及利用所述第四子量化数据对所述原始图数据对应的邻接矩阵进行定点量化,得到所述目标图数据。
进一步的,所述根据所述准确度差值对所述第一目标量化分配信息进行优化,直至得到第二目标量化分配信息,包括:
获取预设准确度,并计算所述准确度与所述预设准确度之间的准确度差值;
根据所述准确度差值对所述第一目标量化分配信息进行优化,直至得到第二目标量化分配信息。
第二方面,本发明实施例提供了一种基于图神经网络模型的任务处理方法,应用硬件加速器,所述方法包括:
获取智能设备发送的目标图神经网络模型以及目标图数据,其中,所述目标图神经网络模型以及所述目标图数据是所述智能设备按照第一目标量化分配信息对所述原始图神经网络模型以及原始图数据进行量化操作得到的;
利用所述目标图数据对所述目标图神经网络模型进行训练,得到训练后的目标图神经网络模型;
利用训练后的目标图神经网络模型执行处理任务,得到所述处理任务对应的准确度;
将所述准确度反馈至所述智能设备,以使所述智能设备根据所述准确度对所述第一目标量化分配信息进行优化。
进一步的,所述利用所述目标图数据对所述目标图神经网络模型进行训练,得到训练后的目标图神经网络模型,包括:
对所述目标图数据进行采样,得到多个子图数据;
从多个子图数据中选择N个子图数据作为目标子图数据,其中,N为大于1的整数;
利用所述目标子图数据对所述目标图神经网络模型进行训练,得到训练后的目标图神经网络模型。
进一步的,所述对所述目标图数据进行采样,得到多个子图数据,包括:
获取所述目标图数据对应的全图结构,并对所述全图结构进行划分,得到多个子图结构,其中,所述子图结构包括:多个训练节点和训练节点之间的边;
获取每个所述子图结构中各个所述训练节点对应的节点特征和所述边对应的边特征;
基多个所述训练节点的节点特征和所述边的边特征进行融合,得到所述子图结构对应的子图数据。
进一步的,所述利用所述目标子图数据对所述目标图神经网络模型进行训练,得到训练后的目标图神经网络模型,包括:
获取所述目标子图数据对应的目标子图结构,并将所述目标子图结构中携带标签的节点确定为训练节点;
获取所述训练节点对应的目标邻接矩阵,其中,所述目标邻接矩阵是根据所述训练节点在所述目标子图结构中邻居节点的目标节点特征计算得到的;
利用所述训练节点的节点特征以及所述邻接矩阵确定所述训练节点对应的训练损失;
利用所述训练损失对所述图神经网络模型进行迭代训练,直至达到目标迭代次数,得到训练好的图神经网络模型。
进一步的,在获取所述训练节点对应的目标邻接矩阵之前,所述方法还包括:
获取历史训练过程中所述子图结构中各个节点对应邻居节点的节点特征,并根据所述节点特征进行计算得到邻接矩阵;
获取所述子图结构对应的子图编号,并将所述子图编号与所述邻接矩阵关联存储至硬盘。
进一步的,所述获取所述训练节点对应的目标邻接矩阵,包括:
获取所述训练节点所在目标子图结构对应的目标子图编号;
从所述硬盘中获取所述目标子图编号对应的各个邻接矩阵,并从各个邻接矩阵中获取与所述目标训练节点相匹配的目标邻接矩阵,其中,所述邻接矩阵是根据各个节点在所述目标子图结构中邻居节点的邻居节点特征计算得到的。
进一步的,所述方法还包括:
确定所述目标子图结构中训练节点对应的节点数量;
根据所述节点数量确定所述目标子图数据对应的目标迭代次数。
第三方面,本发明实施例提供了一种基于图神经网络模型的任务处理系统,所述系统包括:智能设备以及硬件加速器,所述智能设备用于执行上述方法,所述硬件加速器用于执行上述方法。
第四方面,本发明实施例提供了一种基于图神经网络模型的量化装置,所述装置包括:
获取模块,用于获取期望量化分配信息,所述期望量化分配信息包括:分别针对于原始图神经网络模型对应的第一期望量化数据以及原始图数据对应的第二期望量化数据;
确定模块,用于利用硬件加速器对应的资源预算量对所述期望量化分配信息进行调整,得到所述原始图神经网络模型以及原始图数据对应的第一目标量化分配信息;
处理模块,用于按照所述第一目标量化分配信息对所述原始图神经网络模型以及原始图数据进行量化操作,得到量化后的目标图神经网络模型以及目标图数据;
部署模块,用于将所述目标图神经网络模型以及所述目标图数据部署至硬件加速器,以使所述硬件加速器基于所述目标图神经网络模型以及所述目标图数据执行处理任务;
优化模块,用于获取所述硬件加速器反馈的所述处理任务对应的准确度差值,并根据所述准确度差值对所述第一目标量化分配信息进行优化,直至得到第二目标量化分配信息。
第五方面,本发明实施例提供了一种基于图神经网络模型的任务处理装置,所述装置包括:
接收模块,用于获取智能设备发送的目标图神经网络模型以及目标图数据,其中,所述目标图神经网络模型以及所述目标图数据是所述智能设备按照第一目标量化分配信息对所述原始图神经网络模型以及原始图数据进行量化操作得到的;
训练模块,用于利用所述目标图数据对所述目标图神经网络模型进行训练,得到训练后的目标图神经网络模型;
执行模块,用于利用训练后的目标图神经网络模型执行处理任务,得到所述处理任务对应的准确度;
反馈模块,用于将所述准确度反馈至所述智能设备,以使所述智能设备根据所述准确度对所述第一目标量化分配信息进行优化。
第六方面,本发明实施例提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的方法。
第七方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的方法。
本申请实施例提供的方法通过利用硬件加速器的资源预算量对期望量化分配信息调整,并按照调整后的第一目标量化分配信息量化图神经网络模型和图数据。以此保证图神经网络模型和图数据在硬件加速器上运行的稳定性。后续利用硬件加速器反馈的准确度继续对第一目标量化分配信息进行优化,从而得到第二目标量化分配信息,最终通过第二目标量化分配信息对图神经网络模型和图数据进行量化压缩,一方面减少存储空间,另一方面,结合硬件加速器的并行计算和可编程特性,能够实现高效率、低功耗的计算,同时保证图神经网络模型的精度。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明一些实施例的基于图神经网络模型的量化方法的流程示意图;
图2是根据本发明一些实施例的图神经网络模型的结构示意图;
图3是根据本发明一些实施例的图神经网络模型中隐藏层的结构示意图;
图4是根据本发明一些实施例的图神经网络模型的定点量化示意图;
图5是根据本发明一些实施例的基于图神经网络模型的任务处理方法的流程示意图;
图6是根据本发明一些实施例的基于图神经网络模型的任务处理系统的示意图;
图7是根据本发明实施例的基于图神经网络模型的量化装置的结构框图;
图8是根据本发明实施例的基于图神经网络模型的任务处理装置的结构框图;
图9是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明实施例,提供了一种基于图神经网络模型的量化方法、任务处理方法及装置,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种基于图神经网络模型的量化方法,图1是根据本发明实施例的一种基于图神经网络模型的量化方法的流程图,如图1所示,该流程包括如下步骤:
步骤S11,获取期望量化分配信息,期望量化分配信息包括:分别针对于原始图神经网络模型对应的第一期望量化数据以及原始图数据对应的第二期望量化数据。
本申请实施例提供的方法应用于智能设备,智能设备上部署有智能模型,智能模型可理解为强化学习中Soft Actor Critic(缩写SAC)智能体。智能模型用于根据硬件加速器中图神经网络模型的当前状态分配相匹配的量化分配信息,当前状态可以包括硬件加速器中图神经网络模型的准确度,网络参数存储规模以及计算量规模等等。量化分配信息包括图神经网络模型中各层权重对应的量化位宽和小数点位,图神经网络模型中各层输出特征对应的量化位宽和小数点位,节点特征对应的量化位宽和小数点位,以及节点邻接矩阵对应的量化位宽和小数点位。
具体的,在获取针对于原始图神经网络模型以及原始图数据对应的期望量化分配信息之前,方法还包括以下步骤A1-A2:
步骤A1,获取当前指定的动作向量,其中,动作向量包括:原始图神经网络模型中各层权重对应的量化位宽和小数点位,原始图神经网络模型中各层输出特征对应的量化位宽和小数点位,节点特征对应的量化位宽和小数点位,以及节点邻接矩阵对应的量化位宽和小数点位。
在本申请实施例中,智能设备用于获取硬件加速器反馈的图神经网络模型的准确度,网络参数存储规模以及计算量规模。根据准确度,网络参数存储规模以及计算量规模确定图神经网络模型的当前状态,例如:准确度低于预设阈值,网络参数存储规模以及计算量规模均大于相应的预设规模,则确定当前状态为待优化状态。此时智能模型从策略库中获取待优化状态对应的策略,并按照该策略给出相应的动作向量。
作为一个示例:动作向量中包括多个向量,具体如下:
其中,表示定点量化位宽,/>表示定点量化小数点位,/>表示集合。
“”向量表示为属于节点特征分配量化位宽/>和小数点位/>。
“”向量表示为属于节点邻接矩阵分配量化位宽/>和小数点位/>。
“”向量表示为属于图神经网络模型各层权重分配量化位宽/>和小数点位/>。
“”向量表示为属于各个图神经网络模型各层输出特征分配量化位宽和小数点位/>。
步骤A2,基于动作向量触发定点量化机制生效,其中,定点量化机制用于对原始图神经网络模型以及原始图数据进行定点量化。
在本申请实施例中,智能模型在输出动作向量后,智能设备会根据动作向量自动触发定点量化机制生效,即智能设备会按照动作向量所携带的各个向量进行定点量化,便于得到图神经网络模型以及图数据的第二目标量化分配信息,第二目标量化分配信息可以理解为是图神经网络模型以及图数据的最佳量化分配信息。
在本申请实施例中,获取期望量化分配信息,包括:基于原始图神经网络模型中各层权重对应的量化位宽和小数点位,以及原始图神经网络模型中各层输出特征对应的量化位宽和小数点位,生成原始图神经网络模型对应的第一期望量化数据。基于原始图数据中节点特征对应的量化位宽和小数点位,以及节点邻接矩阵对应的量化位宽和小数点位,生成原始图数据对应的第二期望量化数据。利用第一期望量化数据生成第二期望量化数据生成期望量化分配信息。
本申请实施例中智能设备能够根据图神经网络模型的准确度,网络参数存储规模以及计算量规模确定其状态,并根据其状态给出相应的动作向量,最终根据动作向量确定相应的期望量化分配信息,以此根据图神经网络模型的状态能够准确的输出期望量化分配信息。
步骤S12,利用硬件加速器对应的资源预算量对期望量化分配信息进行调整,得到原始图神经网络模型以及原始图数据对应的第一目标量化分配信息。
在本申请实施例中,利用期望量化分配信息以及硬件加速器对应的资源预算量,确定原始图神经网络模型以及原始图数据对应的第一目标量化分配信息,包括以下步骤C1-C2:
步骤C1,基于期望量化分配信息预测第一图神经网络模型处理第一图数据所需的第一硬件资源量,其中,第一图神经网络模型是第一期望量化数据对应的图神经网络模型,第一图数据是第二期望量化数据对应的图数据。
在本申请实施例中,为了保证最终得到的量化分配信息能够与硬件加速器的硬件资源量相匹配。首先利用期望量化分配信息中的第一期望量化数据从历史任务处理记录中获取相应的图神经网络模型,并将该图神经网络模型确定为第一图神经网络模型。同时获取是否存在第二期望量化数据对应的第二图数据,如果存在,则查询第一图神经网络模型处理第二图数据所需的第一硬件资源量。如果没有相第二期望量化数据对应的第二图数据,则根据期望量化数据与硬件资源量之间的关联关系,预测第一期望量化数据与第二期望量化数据对应的硬件资源量,并将该硬件资源量作为第一图神经网络模型处理第一图数据所需的第一硬件资源量。
步骤C2,在第一硬件资源量低于资源预算量的情况下,利用第一期望量化数据和第二期望量化数据生成为第一目标量化分配信息。
在本申请实施例中,将第一硬件资源量与资源预算量进行对比,如果第一硬件资源量低于资源预算量,将期望量化分配信息确定为第一目标量化分配信息。需要说明的是,如果第一硬件资源量小于资源预算量,则说明按照期望量化分配信息量化的图神经网络模型与硬件加速器相匹配。此时可以直接将期望量化分配信息确定为第一目标量化分配信息。
在本申请实施例中,方法还包括:在第一硬件资源量超过资源预算量的情况下,首先,对期望量化分配信息中的第一期望量化数据和第二期望量化数据进行优化,得到优化后的期望量化分配信息。
具体的,如果第一硬件资源量超过预算资源量,则说明硬件加速器的资源量不支持第一图神经网络模型的运算,因此需要对期望量化分配信息进行优化,优化过程可以是:按照预设梯度减少第一期望量化数据中权重对应的量化位宽和小数点位以及输出特征对应的量化位宽和小数点位,得到优化后第一期望量化数据;按照预设梯度减少第二期望量化数据中节点特征对应的量化位宽和小数点位以及节点邻接矩阵对应的量化位宽和小数点位,得到优化后的第二期望量化数据;基于优化后第一期望量化数据以及优化后的第二期望数据得到优化后的期望量化分配信息。
其次,基于优化后的期望量化分配信息预测第二图神经网络模型对应的第二硬件资源量,其中,第二图神经网络模型是优化后的期望量化分配信息对应的图神经网络模型;将第二硬件资源量继续与预算资源量进行对比,能够确定第二图神经网络模型是否能够满足硬件加速器的资源量。如果第二硬件资源量低于资源预算量,直接将优化后的期望量化分配信息确定为第一目标量化分配信息。如果第二硬件资源量超过资源预算量,则继续对优化后的期望量化分配信息进行优化,直至得到满足硬件加速器的资源量的第一目标量化分配信息。
步骤S13,按照第一目标量化分配信息对原始图神经网络模型以及原始图数据进行量化操作,得到量化后的目标图神经网络模型以及目标图数据。
在本申请实施例中,按照第一目标量化分配信息对原始图神经网络模型以及原始图数据进行量化操作,得到量化后的目标图神经网络模型以及目标图数据,包括:从第一目标量化分配信息中获取第一子量化数据,第二子量化数据,第三子量化数据以及第四子量化数据。需要说明的是,第一目标量化分配信息包括:第一子量化数据,第二子量化数据,第三子量化数据以及第四子量化数据。第一子量化数据中包括:原始图神经网络模型中各层权重对应的量化位宽和小数点位。第二子量化数据中包括:原始图神经网络模型的各层输出特征对应的量化位宽和小数点位。第三子量化数据中包括:原始图数据中的节点特征对应的量化位宽和小数点位。第四子量化数据中包括:原始图数据对应的邻接矩阵对应的量化位宽和小数点位。
基于此直接利用第一子量化数据对原始图神经网络模型中各层权重进行定点量化,以及利用第二子量化数据对原始图神经网络模型中各层输出特征进行定点量化,得到目标图神经网络模型。利用第三子量化数据对原始图数据中的节点特征进行定点量化,以及利用第四子量化数据对原始图数据对应的邻接矩阵进行定点量化,得到目标图数据。
需要说明的是,本申请实施例图神经网络模型的结构如图2所示,图神经网络模型包括3层隐藏层,隐藏层之间的消息传递是通过一个改进PPMI矩阵来捕获节点的全局信息。通过PPMI矩阵捕获节点的全局信息能够解决不同类别的相邻节点被归为一个类别的问题。其中,每个隐藏层的结构如图3所示,i输入数据,权重数据,矩阵乘积dot,邻接矩阵Adj。邻接矩阵是利用PPMI矩阵对邻接表进行计算得到的。PPMI矩阵的计算过程中需要先获取一个频率矩阵F,在邻接表A上使用节点的随机游走的方式采样得到节点之间的相关连的频率值,邻接表A上节点与节点相邻时值为1,即节点随机游走到相邻节点的概率值都是相等的,因相邻节点可能属于不同类别,从根节点游走到相邻节点的概率应是不平均的。所以本申请使用节点之间特征的欧式距离作为相似性概率值,来判断一个节点跳到另一个节点的概率,使用带概率值的随机游走方式计算PPMI矩阵。下面是节点之间特征的欧式距离作为相似性概率值具体的计算公式:
式中,为别是节点i在第k个特征维度的特征和节点j在第k个特征维度的特征,n是特征维度的数量,/>为节点i和节点j之间的欧式距离。
在计算相似度的过程中,欧氏距离越小,相似度就越大,欧氏距离越大,相似度就越小。一般习惯于将相似度与1类比,相似度在数值上反映为0<=Pi,j<=1,越接近1,相似度越高。计算公式如下:
步骤S14,将目标图神经网络模型以及目标图数据部署至硬件加速器,以使硬件加速器基于目标图神经网络模型以及目标图数据执行处理任务。
在本申请实施例中,在得到满足硬件加速器的硬件资源量的目标图神经网络模型以及目标图数据后,智能设备会将目标图神经网络模型以及目标图数据部署至硬件加速器,硬件加速器后续可以直接根据量化后的目标图神经网络模型以及目标图数据执行处理任务。硬件加速器可以是FPGA硬件设备,处理任务可以是定点数运算。
作为一个示例,对输入输出数据进行混合精度的定点量化方案,输入数据以及输出数据位宽和小数点位参数可以各不相同,如图4所示,输入的图数据位宽是3bit/8bit,表示8位二进制数,一位符号位,4位整数位,3位小数位;输入的权重数据位宽是5bit/10bit,表示10位二进制数,一位符号位,4位整数位,5位小数位;输出的特征数据位宽是4bit/12bit,表示12位二进制数,一位符号位,7位整数位,4位小数位,
步骤S15,获取硬件加速器反馈的处理任务对应的准确度,并根据准确度对第一目标量化分配信息进行优化,直至得到第二目标量化分配信息。
在本申请实施例中,硬件加速器在利用目标图神经网络模型以及目标图数据执行处理任务后,会向智能设备反馈处理任务对应的准确度。智能设备根据准确度对第一目标量化分配信息进行优化,直至得到第二目标量化分配信息,具体包括:获取预设准确度,并计算准确度与预设准确度之间的准确度差值;根据准确度差值对第一目标量化分配信息进行优化,直至得到第二目标量化分配信息,第二目标量化分配信息可以理解为是图神经网络模型以及图数据在资源预算量下的最佳量化分配信息。
需要说明的是,如果准确度差值小于或等于预设阈值,则确定目标图神经网络模型不需要进行优化。如果准确度差值大于预设阈值,则确定目标图神经网络模型需要进行优化,优化的过程可以是:按照预设梯度减少目标图神经网络模型中各层权重对应的量化位宽和小数点位以及输出特征对应的量化位宽和小数点位;按照预设梯度减少目标图数据的量化位宽和小数点位以及节点邻接矩阵对应的量化位宽和小数点位,直至硬件加速器反馈的准确度与预设准确度之间的准确度差值小于预设阈值,则确定得到第二目标量化分配信息。
本申请实施例提供的方法通过利用硬件加速器的资源预算量对期望量化分配信息调整,并按照调整后的第一目标量化分配信息量化图神经网络模型和图数据。以此保证图神经网络模型和图数据在硬件加速器上运行的稳定性。后续利用硬件加速器反馈的准确度继续对第一目标量化分配信息进行优化,从而得到第二目标量化分配信息,最终通过第二目标量化分配信息对图神经网络模型和图数据进行量化压缩,一方面减少存储空间,另一方面,结合硬件加速器的并行计算和可编程特性,能够实现高效率、低功耗的计算,同时保证图神经网络模型的精度。
在本实施例中提供了一种基于图神经网络模型的任务处理方法,图5是根据本发明实施例的一种基于图神经网络模型的任务处理方法的流程图,如图5所示,该流程包括如下步骤:
步骤S21,获取智能设备发送的目标图神经网络模型以及目标图数据,其中,目标图神经网络模型以及目标图数据是智能设备按照第一目标量化分配信息对原始图神经网络模型以及原始图数据进行量化操作得到的;
本申请实施例提供的方法应用于硬件加速器,硬件加速器接收智能设备发送的目标图神经网络模型以及目标图数据。目标图神经网络模型以及目标图数据是智能设备按照第一目标量化分配信息对原始图神经网络模型以及原始图数据进行量化操作得到的,第一目标量化分配信息是智能设备按照期望量化分配信息进度调整得到的,调整过程如上述实施例。
步骤S22,利用目标图数据对目标图神经网络模型进行训练,得到训练后的目标图神经网络模型。
需要说明的是,对图神经网络模型进行量化,而消息传递使用的邻接矩阵,需要对全图结构进行计算,假设全图结构有111 059 956个节点,1 615 685 872条边,计算邻接矩阵需要超过1TGB的内存空间,过于耗费资源而且硬件加速器的资源量有限。基于此,现有技术中使用子图训练的方法,将全图结构划分成1000个子图结构,每个子图结构约11万节点,每次运行一个子图进行训练,但因子图结构在训练、验证、测试节点分布不均衡,导致训练效果不理想。
基于此,本申请实施例使用子图采样的方式,一次随机选择多个子图结构参与训练,具体的,利用目标图数据对目标图神经网络模型进行训练,得到训练后的目标图神经网络模型,包括以下步骤E1-E3:
步骤E1,对目标图数据进行采样,得到多个子图数据。
在本申请实施例中,对目标图数据进行采样,得到多个子图数据,包括以下步骤:获取目标图数据对应的全图结构,并对全图结构进行划分,得到多个子图结构,其中,子图结构包括:多个训练节点和训练节点之间的边;获取每个子图结构中各个训练节点对应的节点特征和边对应的边特征; 基多个训练节点的节点特征和边的边特征进行融合,得到子图结构对应的子图数据。
步骤E2,从多个子图数据中选择N个子图数据作为目标子图数据,其中,N为大于1的整数。
在本申请实施例中,通过从全图结构中的多个子图结构随机选择一部分子图结构作为目标子图数据参与训练,后续训练过程中每层的节点间消息传递时各自使用子图结构的邻接矩阵进行传递,从而防止训练的不均衡问题。而且每次采样后迭代的次数根据采样到节点中训练节点的数量来设定,训练节点越多,单独迭代的次数越多,反之训练节点越少,单独迭代的次数越少。
步骤E3,利用目标子图数据对目标图神经网络模型进行训练,得到训练后的目标图神经网络模型。
在本申请实施例中,利用目标子图数据对目标图神经网络模型进行训练,得到训练后的目标图神经网络模型,包括以下步骤E301-E304:
步骤E301,获取目标子图数据对应的目标子图结构,并将目标子图结构中携带标签的节点确定为训练节点。
在本申请实施例中,可以确定目标子图数据对应的目标子图结构,并遍历目标子图结构中携带的标签的节点,并将该节点作为训练节点,通过为节点添加标签的方式可以减少子图结构在训练过程中的资源消耗。
步骤E302,获取训练节点对应的目标邻接矩阵,其中,目标邻接矩阵是根据训练节点在目标子图结构中邻居节点的目标节点特征计算得到的。
在本申请实施例中,在获取训练节点对应的目标邻接矩阵之前,方法还包括:获取子图结构中各个节点对应邻居节点的节点特征,并根据节点特征进行计算得到邻接矩阵;获取子图结构对应的子图编号,并将子图编号与邻接矩阵关联存储至硬盘。
在本申请实施例中,获取训练节点对应的目标邻接矩阵,包括:获取历史训练过程中训练节点所在目标子图结构对应的目标子图编号;从硬盘中获取目标子图编号对应的各个邻接矩阵,并从各个邻接矩阵中获取与目标训练节点相匹配的目标邻接矩阵,其中,邻接矩阵是根据各个节点在目标子图结构中邻居节点的邻居节点特征计算得到的。
需要说明的是,由于每个训练节点在加载完成后需要根据节点特征计算邻接矩阵,每次计算耗时较多,因此在训练过程中将每一个子图结构计算后的邻接矩阵保存到硬盘,之后从硬盘文件中可以加载邻接矩阵,无需再进行临界矩阵的计算,提高了训练效率。另外,在训练过程中加载子图编号时,可以对子图编号队列内的数据打乱顺序,使训练数据更均衡,利于提高图神经网络性能。
步骤E303,利用训练节点的节点特征以及邻接矩阵确定训练节点对应的训练损失。
在本申请实施例中,利用训练节点的节点特征以及邻接矩阵计算出该训练节点在当前在训练过程中的训练损失。
步骤E304,利用训练损失对图神经网络模型进行迭代训练,直至达到目标迭代次数,得到训练好的图神经网络模型。
在本申请实施例中,在对图神经网络模型进行迭代训练之前,首先确定目标子图结构中训练节点对应的节点数量;根据节点数量确定目标子图数据对应的目标迭代次数。其次,利用训练损失对图神经网络模型进行迭代训练,直至达到目标迭代次数,从而得到训练好的图神经网络模型。
需要说明的是,每个子图中训练节点标签数量不一致,根据训练节点标签数量设定单个子图训练的次数,如epoch=10、20、30。子图结构中训练节点越少的训练的次数越少,训练节点越多的训练次数越多,从而使得网络能够对大多数训练节点进行重点调整,提高多训练节点的子图训练性能在整个图结构中的占比。如果多个训练节点的子图结构训练出的性能越好,能变相的提高全图结构的训练性能,同时对于少训练节点的子图训练也不会出现过拟合现象。
步骤S23,利用训练后的目标图神经网络模型执行处理任务,得到处理任务对应的准确度;
在本申请实施例中,硬件加速器可以直接使用训练后的目标图神经网络模型执行处理任务,处理任务可以是:定点数运算。例如:硬件加速器利用训练后的目标图神经网络模型执行100次定点数运算,得到100个计算结果,将100个计算结果分别与标准计算结果进行对比,确定确定满足标准计算结果的结果数量。根据该结果数量与计算结果总数的比值得到准确度。
步骤S24,将准确度反馈至智能设备,以使智能设备根据准确度对第一目标量化分配信息进行优化。
在本申请实施例中,硬件加速器在利用目标图神经网络模型以及目标图数据执行处理任务后,会向智能设备反馈处理任务对应的准确度。智能设备根据准确度对第一目标量化分配信息进行优化,直至得到第二目标量化分配信息,具体包括:智能设备获取预设准确度,并计算准确度与预设准确度之间的准确度差值;根据准确度差值对第一目标量化分配信息进行优化,直至得到第二目标量化分配信息。后续智能设备会将按照第二目标量化分配信息进行量化的图神经网络模型以及图数据部署在硬件加速器。
本申请实施例还提供了一种基于图神经网络模型的任务处理系统,如图6所示,系统包括:智能设备10以及硬件加速器20,智能设备10用于执行上述实施例基于图神经网络模型的量化方法,硬件加速器20用于执行上述实施例的方法。
在本实施例中还提供了一种基于图神经网络模型的量化装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种基于图神经网络模型的量化装置,如图7所示,包括:
获取模块71,用于获取期望量化分配信息,期望量化分配信息包括:分别针对于原始图神经网络模型对应的第一期望量化数据以及原始图数据对应的第二期望量化数据;
确定模块72,用于利用硬件加速器对应的资源预算量对期望量化分配信息进行调整,得到原始图神经网络模型以及原始图数据对应的第一目标量化分配信息;
处理模块73,用于按照第一目标量化分配信息对原始图神经网络模型以及原始图数据进行量化操作,得到量化后的目标图神经网络模型以及目标图数据;
部署模块74,用于将目标图神经网络模型以及目标图数据部署至硬件加速器,以使硬件加速器基于目标图神经网络模型以及目标图数据执行处理任务;
优化模块75,用于获取硬件加速器反馈的处理任务对应的准确度差值,并根据准确度差值对第一目标量化分配信息进行优化,直至得到第二目标量化分配信息。
在本申请实施例中,装置还包括:触发模块,用于获取当前指定的动作向量,其中,动作向量包括:原始图神经网络模型中各层权重对应的量化位宽和小数点位,原始图神经网络模型中各层输出特征对应的量化位宽和小数点位,原始图数据中节点特征对应的量化位宽和小数点位,以及节点邻接矩阵对应的量化位宽和小数点位;基于动作向量触发定点量化机制生效,其中,定点量化机制用于对原始图神经网络模型以及原始图数据进行定点量化。
在本申请实施例中,获取模块71,用于基于原始图神经网络模型中各层权重对应的量化位宽和小数点位,以及原始图神经网络模型中各层输出特征对应的量化位宽和小数点位,生成原始图神经网络模型对应的第一期望量化数据;基于原始图数据中节点特征对应的量化位宽和小数点位,以及节点邻接矩阵对应的量化位宽和小数点位,生成原始图数据对应的第二期望量化数据;利用第一期望量化数据生成第二期望量化数据生成期望量化分配信息。
在本申请实施例中,确定模块72,用于基于期望量化分配信息预测第一图神经网络模型处理第一图数据消耗的第一硬件资源量,其中,第一图神经网络模型是按照第一期望量化数据对原始图神经网络模型进行量化得到的,第一图数据是按照第二期望量化数据对原始图数据进行量化得到的;在第一硬件资源量低于资源预算量的情况下,利用第一期望量化数据和第二期望量化数据生成为第一目标量化分配信息。
在本申请实施例中,确定模块72,还用于对期望量化分配信息中的第一期望量化数据和第二期望量化数据进行优化,得到优化后的期望量化分配信息;基于优化后的期望量化分配信息预测第二图神经网络模型对应的第二硬件资源量,其中,第二图神经网络模型是优化后的期望量化分配信息对应的图神经网络模型;在第二硬件资源量低于资源预算量的情况下,将优化后的期望量化分配信息确定为第一目标量化分配信息。
在本申请实施例中,确定模块72,具体用于按照预设梯度减少第一期望量化数据中原始图神经网络模型中各层权重对应的量化位宽和小数点位以及输出特征对应的量化位宽和小数点位,得到优化后第一期望量化数据;按照预设梯度减少第二期望量化数据中节点特征对应的量化位宽和小数点位以及节点邻接矩阵对应的量化位宽和小数点位,得到优化后的第二期望量化数据;基于优化后第一期望量化数据以及优化后的第二期望数据得到优化后的期望量化分配信息。
在本申请实施例中,处理模块73,用于从第一目标量化分配信息中获取第一子量化数据,第二子量化数据,第三子量化数据以及第四子量化数据;利用第一子量化数据对原始图神经网络模型的权重进行定点量化,以及利用第二子量化数据对原始图神经网络模型的输出特征进行定点量化,得到目标图神经网络模型;利用第三子量化数据对原始图数据中的节点特征进行定点量化,以及利用第四子量化数据对原始图数据对应的邻接矩阵进行定点量化,得到目标图数据。
在本申请实施例中,优化模块75,用于获取预设准确度,并计算准确度与预设准确度之间的准确度差值;根据准确度差值对第一目标量化分配信息进行优化,直至得到第二目标量化分配信息。
在本实施例中还提供了一种基于图神经网络模型的任务处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种基于图神经网络模型的任务处理装置,如图8所示,包括:
接收模块81,用于获取智能设备发送的目标图神经网络模型以及目标图数据,其中,目标图神经网络模型以及目标图数据是智能设备按照第一目标量化分配信息对原始图神经网络模型以及原始图数据进行量化操作得到的;
训练模块82,用于利用目标图数据对目标图神经网络模型进行训练,得到训练后的目标图神经网络模型;
执行模块83,用于利用训练后的目标图神经网络模型执行处理任务,得到处理任务对应的准确度;
反馈模块84,用于将准确度反馈至智能设备,以使智能设备根据准确度对第一目标量化分配信息进行优化。
在本申请实施例中,训练模块82,用于对目标图数据进行采样,得到多个子图数据;从多个子图数据中选择N个子图数据作为目标子图数据,其中,N为大于1的整数;利用目标子图数据对目标图神经网络模型进行训练,得到训练后的目标图神经网络模型。
在本申请实施例中,训练模块82,具体用于获取目标图数据对应的全图结构,并对全图结构进行划分,得到多个子图结构,其中,子图结构包括:多个训练节点和训练节点之间的边;获取每个子图结构中各个训练节点对应的节点特征和边对应的边特征; 基多个训练节点的节点特征和边的边特征进行融合,得到子图结构对应的子图数据。
在本申请实施例中,训练模块82,具体用于获取目标子图数据对应的目标子图结构,并将目标子图结构中携带标签的节点确定为训练节点;获取训练节点对应的目标邻接矩阵,其中,目标邻接矩阵是根据训练节点在目标子图结构中邻居节点的目标节点特征计算得到的;利用训练节点的节点特征以及邻接矩阵确定训练节点对应的训练损失;利用训练损失对图神经网络模型进行迭代训练,直至达到目标迭代次数,得到训练好的图神经网络模型。
在本申请实施例中,装置还包括:存储模块,用于获取历史训练过程中子图结构中各个节点对应邻居节点的节点特征,并根据节点特征进行计算得到邻接矩阵;获取子图结构对应的子图编号,并将子图编号与邻接矩阵关联存储至硬盘。
在本申请实施例中,训练模块82,具体用于获取训练节点所在目标子图结构对应的目标子图编号;从硬盘中获取目标子图编号对应的各个邻接矩阵,并从各个邻接矩阵中获取与目标训练节点相匹配的目标邻接矩阵,其中,邻接矩阵是根据各个节点在目标子图结构中邻居节点的邻居节点特征计算得到的。
在本申请实施例中,训练模块82,具体用于确定目标子图结构中训练节点对应的节点数量;根据节点数量确定目标子图数据对应的目标迭代次数。
请参阅图9,图9是本发明可选实施例提供的一种计算机设备的结构示意图,如图9所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,所述存储器20存储有可由至少一个处理器10执行的指令,以使所述至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据一种小程序落地页的展现的计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (20)
1.一种基于图神经网络模型的量化方法,其特征在于,应用于智能设备,所述方法包括:
获取期望量化分配信息,所述期望量化分配信息包括:分别针对于原始图神经网络模型对应的第一期望量化数据以及原始图数据对应的第二期望量化数据;
利用硬件加速器对应的资源预算量对所述期望量化分配信息进行调整,得到所述原始图神经网络模型以及原始图数据对应的第一目标量化分配信息;
按照所述第一目标量化分配信息对所述原始图神经网络模型以及原始图数据进行量化操作,得到量化后的目标图神经网络模型以及目标图数据;
将所述目标图神经网络模型以及所述目标图数据部署至硬件加速器,以使所述硬件加速器基于所述目标图神经网络模型以及所述目标图数据执行处理任务;
获取所述硬件加速器反馈的所述处理任务对应的准确度,并根据所述准确度差值对所述第一目标量化分配信息进行优化,直至得到第二目标量化分配信息。
2.根据权利要求1所述的方法,其特征在于,在获取期望量化分配信息之前,所述方法还包括:
获取当前指定的动作向量,其中,所述动作向量包括:所述原始图神经网络模型中各层权重对应的量化位宽和小数点位,所述原始图神经网络模型中各层输出特征对应的量化位宽和小数点位,所述原始图数据中节点特征对应的量化位宽和小数点位,以及节点邻接矩阵对应的量化位宽和小数点位;
基于所述动作向量触发定点量化机制生效,其中,所述定点量化机制用于对所述原始图神经网络模型以及所述原始图数据进行定点量化。
3.根据权利要求2所述的方法,其特征在于,所述获取期望量化分配信息,包括:
基于所述原始图神经网络模型中各层权重对应的量化位宽和小数点位,以及所述原始图神经网络模型中各层输出特征对应的量化位宽和小数点位,生成所述原始图神经网络模型对应的第一期望量化数据;
基于原始图数据中节点特征对应的量化位宽和小数点位,以及节点邻接矩阵对应的量化位宽和小数点位,生成所述原始图数据对应的第二期望量化数据;
利用所述第一期望量化数据生成所述第二期望量化数据生成所述期望量化分配信息。
4.根据权利要求1所述的方法,其特征在于,所述利用硬件加速器对应的资源预算量对所述期望量化分配信息进行调整,得到所述原始图神经网络模型以及原始图数据对应的第一目标量化分配信息,包括:
基于所述期望量化分配信息预测第一图神经网络模型处理第一图数据所需的第一硬件资源量,其中,所述第一图神经网络模型是所述第一期望量化数据对应的图神经网络模型,所述第一图数据是第二期望量化数据对应的图数据;
在所述第一硬件资源量低于所述资源预算量的情况下,利用所述第一期望量化数据和所述第二期望量化数据生成为所述第一目标量化分配信息。
5.根据权利要求4所述的方法,其特征在于,在所述第一硬件资源量超过所述资源预算量的情况下,所述方法还包括:
对所述期望量化分配信息中的第一期望量化数据和所述第二期望量化数据进行优化,得到优化后的期望量化分配信息;
基于优化后的期望量化分配信息预测第二图神经网络模型对应的第二硬件资源量,其中,所述第二图神经网络模型是优化后的期望量化分配信息对应的图神经网络模型;
在所述第二硬件资源量低于所述资源预算量的情况下,将优化后的期望量化分配信息确定为所述第一目标量化分配信息。
6.根据权利要求5所述的方法,其特征在于,所述对所述期望量化分配信息中的第一期望量化数据和所述第二期望量化数据进行优化,得到优化后的期望量化分配信息,包括:
按照预设梯度减少所述第一期望量化数据中权重对应的量化位宽和小数点位以及输出特征对应的量化位宽和小数点位,得到优化后第一期望量化数据;
按照预设梯度减少第二期望量化数据中节点特征对应的量化位宽和小数点位以及节点邻接矩阵对应的量化位宽和小数点位,得到优化后的第二期望量化数据;
基于优化后第一期望量化数据以及优化后的第二期望数据得到所述优化后的期望量化分配信息。
7.根据权利要求1所述的方法,其特征在于,所述按照所述第一目标量化分配信息对所述原始图神经网络模型以及原始图数据进行量化操作,得到量化后的目标图神经网络模型以及目标图数据,包括:
从所述第一目标量化分配信息中获取第一子量化数据,第二子量化数据,第三子量化数据以及第四子量化数据;
利用所述第一子量化数据对所述原始图神经网络模型中各层权重进行定点量化,以及利用所述第二子量化数据对所述原始图神经网络模型中各层输出特征进行定点量化,得到所述目标图神经网络模型;
利用所述第三子量化数据对所述原始图数据中的节点特征进行定点量化,以及利用所述第四子量化数据对所述原始图数据对应的邻接矩阵进行定点量化,得到所述目标图数据。
8.根据权利要求1所述的方法,其特征在于,所述根据所述准确度差值对所述第一目标量化分配信息进行优化,直至得到第二目标量化分配信息,包括:
获取预设准确度,并计算所述准确度与所述预设准确度之间的准确度差值;
根据所述准确度差值对所述第一目标量化分配信息进行优化,直至得到第二目标量化分配信息。
9.一种基于图神经网络模型的任务处理方法,其特征在于,应用硬件加速器,所述方法包括:
获取智能设备发送的目标图神经网络模型以及目标图数据,其中,所述目标图神经网络模型以及所述目标图数据是所述智能设备按照第一目标量化分配信息对原始图神经网络模型以及原始图数据进行量化操作得到的;
利用所述目标图数据对所述目标图神经网络模型进行训练,得到训练后的目标图神经网络模型;
利用训练后的目标图神经网络模型执行处理任务,得到所述处理任务对应的准确度;
将所述准确度反馈至所述智能设备,以使所述智能设备根据所述准确度对所述第一目标量化分配信息进行优化。
10.根据权利要求9所述的方法,其特征在于,所述利用所述目标图数据对所述目标图神经网络模型进行训练,得到训练后的目标图神经网络模型,包括:
对所述目标图数据进行采样,得到多个子图数据;
从多个子图数据中选择N个子图数据作为目标子图数据,其中,N为大于1的整数;
利用所述目标子图数据对所述目标图神经网络模型进行训练,得到训练后的目标图神经网络模型。
11.根据权利要求10所述的方法,其特征在于,所述对所述目标图数据进行采样,得到多个子图数据,包括:
获取所述目标图数据对应的全图结构,并对所述全图结构进行划分,得到多个子图结构,其中,所述子图结构包括:多个训练节点和训练节点之间的边;
获取每个所述子图结构中各个所述训练节点对应的节点特征和所述边对应的边特征;
基多个所述训练节点的节点特征和所述边的边特征进行融合,得到所述子图结构对应的子图数据。
12.根据权利要求11所述的方法,其特征在于,所述利用所述目标子图数据对所述目标图神经网络模型进行训练,得到训练后的目标图神经网络模型,包括:
获取所述目标子图数据对应的目标子图结构,并将所述目标子图结构中携带标签的节点确定为训练节点;
获取所述训练节点对应的目标邻接矩阵,其中,所述目标邻接矩阵是根据所述训练节点在所述目标子图结构中邻居节点的目标节点特征计算得到的;
利用所述训练节点的节点特征以及所述邻接矩阵确定所述训练节点对应的训练损失;
利用所述训练损失对所述图神经网络模型进行迭代训练,直至达到目标迭代次数,得到训练好的图神经网络模型。
13.根据权利要求12所述的方法,其特征在于,在获取所述训练节点对应的目标邻接矩阵之前,所述方法还包括:
获取历史训练过程中所述子图结构中各个节点对应邻居节点的节点特征,并根据所述节点特征进行计算得到邻接矩阵;
获取所述子图结构对应的子图编号,并将所述子图编号与所述邻接矩阵关联存储至硬盘。
14.根据权利要求13所述的方法,其特征在于,所述获取所述训练节点对应的目标邻接矩阵,包括:
获取所述训练节点所在目标子图结构对应的目标子图编号;
从所述硬盘中获取所述目标子图编号对应的各个邻接矩阵,并从各个邻接矩阵中获取与目标训练节点相匹配的目标邻接矩阵,其中,所述邻接矩阵是根据各个节点在所述目标子图结构中邻居节点的邻居节点特征计算得到的。
15.根据权利要求12所述的方法,其特征在于,所述方法还包括:
确定所述目标子图结构中训练节点对应的节点数量;
根据所述节点数量确定所述目标子图数据对应的目标迭代次数。
16.一种基于图神经网络模型的任务处理系统,其特征在于,所述系统包括:智能设备以及硬件加速器,所述智能设备用于执行上述权利要求1-8任意一项所述的方法,所述硬件加速器用于执行上述权利要求9-15任意一项所述的方法。
17.一种基于图神经网络模型的量化装置,其特征在于,所述装置包括:
获取模块,用于获取期望量化分配信息,所述期望量化分配信息包括:分别针对于原始图神经网络模型对应的第一期望量化数据以及原始图数据对应的第二期望量化数据;
确定模块,用于利用硬件加速器对应的资源预算量对所述期望量化分配信息进行调整,得到所述原始图神经网络模型以及原始图数据对应的第一目标量化分配信息;
处理模块,用于按照所述第一目标量化分配信息对所述原始图神经网络模型以及原始图数据进行量化操作,得到量化后的目标图神经网络模型以及目标图数据;
部署模块,用于将所述目标图神经网络模型以及所述目标图数据部署至硬件加速器,以使所述硬件加速器基于所述目标图神经网络模型以及所述目标图数据执行处理任务;
优化模块,用于获取所述硬件加速器反馈的所述处理任务对应的准确度差值,并根据所述准确度差值对所述第一目标量化分配信息进行优化,直至得到第二目标量化分配信息。
18.一种基于图神经网络模型的任务处理装置,其特征在于,所述装置包括:
接收模块,用于获取智能设备发送的目标图神经网络模型以及目标图数据,其中,所述目标图神经网络模型以及所述目标图数据是所述智能设备按照第一目标量化分配信息对原始图神经网络模型以及原始图数据进行量化操作得到的;
训练模块,用于利用所述目标图数据对所述目标图神经网络模型进行训练,得到训练后的目标图神经网络模型;
执行模块,用于利用训练后的目标图神经网络模型执行处理任务,得到所述处理任务对应的准确度;
反馈模块,用于将所述准确度反馈至所述智能设备,以使所述智能设备根据所述准确度对所述第一目标量化分配信息进行优化。
19.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至15中任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至15中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311168927.1A CN116911350B (zh) | 2023-09-12 | 2023-09-12 | 基于图神经网络模型的量化方法、任务处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311168927.1A CN116911350B (zh) | 2023-09-12 | 2023-09-12 | 基于图神经网络模型的量化方法、任务处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116911350A CN116911350A (zh) | 2023-10-20 |
CN116911350B true CN116911350B (zh) | 2024-01-09 |
Family
ID=88367155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311168927.1A Active CN116911350B (zh) | 2023-09-12 | 2023-09-12 | 基于图神经网络模型的量化方法、任务处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116911350B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117494759A (zh) * | 2023-11-24 | 2024-02-02 | 深圳市蓝鲸智联科技股份有限公司 | 一种微型硬件机器学习方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110097186A (zh) * | 2019-04-29 | 2019-08-06 | 济南浪潮高新科技投资发展有限公司 | 一种神经网络异构量化训练方法 |
WO2020057000A1 (zh) * | 2018-09-19 | 2020-03-26 | 深圳云天励飞技术有限公司 | 网络量化方法、业务处理方法及相关产品 |
CN114676825A (zh) * | 2022-04-15 | 2022-06-28 | 上海云从企业发展有限公司 | 一种神经网络模型量化方法、系统、设备及介质 |
CN116502691A (zh) * | 2023-03-22 | 2023-07-28 | 山东海量信息技术研究院 | 一种应用于fpga的深度卷积神经网络混合精度量化方法 |
-
2023
- 2023-09-12 CN CN202311168927.1A patent/CN116911350B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020057000A1 (zh) * | 2018-09-19 | 2020-03-26 | 深圳云天励飞技术有限公司 | 网络量化方法、业务处理方法及相关产品 |
CN110097186A (zh) * | 2019-04-29 | 2019-08-06 | 济南浪潮高新科技投资发展有限公司 | 一种神经网络异构量化训练方法 |
CN114676825A (zh) * | 2022-04-15 | 2022-06-28 | 上海云从企业发展有限公司 | 一种神经网络模型量化方法、系统、设备及介质 |
CN116502691A (zh) * | 2023-03-22 | 2023-07-28 | 山东海量信息技术研究院 | 一种应用于fpga的深度卷积神经网络混合精度量化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116911350A (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220283820A1 (en) | Data parallelism in distributed training of artificial intelligence models | |
US20220276871A1 (en) | Executing large artificial intelligence models on memory-constrained devices | |
US11354579B2 (en) | Dynamic multi-layer execution for artificial intelligence modeling | |
CN116911350B (zh) | 基于图神经网络模型的量化方法、任务处理方法及装置 | |
CN112200296B (zh) | 网络模型量化方法、装置、存储介质及电子设备 | |
CN109993298B (zh) | 用于压缩神经网络的方法和装置 | |
CN112926742A (zh) | 全息量子动力学模拟 | |
CN110706015B (zh) | 一种面向广告点击率预测的特征选取方法 | |
EP3242209A1 (en) | A computer-implemented method of executing a query in a network of data centres | |
US20220121999A1 (en) | Federated ensemble learning from decentralized data with incremental and decremental updates | |
CN114676830B (zh) | 一种基于神经网络编译器的仿真实现方法 | |
CN117132890A (zh) | 一种基于Kubernetes边缘计算集群的遥感图像目标检测方法和系统 | |
WO2022223052A1 (zh) | 加速器、计算机系统和方法 | |
US20140279734A1 (en) | Performing Cross-Validation Using Non-Randomly Selected Cases | |
CN111191789A (zh) | 模型训练方法、系统、芯片、电子设备及介质 | |
CN112700006A (zh) | 网络架构搜索方法、装置、电子设备及介质 | |
CN115131633A (zh) | 一种模型迁移方法、装置及电子设备 | |
CN116151323A (zh) | 模型生成方法、装置、电子设备及存储介质 | |
CN113657453B (zh) | 基于生成对抗网络和深度学习的有害网站的检测方法 | |
Liberis et al. | Pex: Memory-efficient microcontroller deep learning through partial execution | |
CN111967585B (zh) | 网络模型的处理方法及装置、电子设备和存储介质 | |
Campos et al. | End-to-end codesign of Hessian-aware quantized neural networks for FPGAs and ASICs | |
CN115017312A (zh) | 语言模型训练方法、文本处理方法、装置及设备 | |
CN114118411A (zh) | 图像识别网络的训练方法、图像识别方法及装置 | |
CN117496375B (zh) | 面向遥感基础模型的异构npu训练方法及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |