CN117454930B - 一种针对图神经网络的表达特征数据输出方法和装置 - Google Patents
一种针对图神经网络的表达特征数据输出方法和装置 Download PDFInfo
- Publication number
- CN117454930B CN117454930B CN202311785863.XA CN202311785863A CN117454930B CN 117454930 B CN117454930 B CN 117454930B CN 202311785863 A CN202311785863 A CN 202311785863A CN 117454930 B CN117454930 B CN 117454930B
- Authority
- CN
- China
- Prior art keywords
- data
- weight
- network
- node
- matrix
- 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
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 48
- 239000011159 matrix material Substances 0.000 claims abstract description 142
- 230000001133 acceleration Effects 0.000 claims abstract description 54
- 230000015654 memory Effects 0.000 claims description 50
- 238000004364 calculation method Methods 0.000 claims description 37
- 238000004891 communication Methods 0.000 claims description 21
- 230000002787 reinforcement Effects 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 37
- 239000010410 layer Substances 0.000 description 24
- 239000003795 chemical substances by application Substances 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 230000009471 action Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000000605 extraction Methods 0.000 description 6
- 239000002356 single layer Substances 0.000 description 6
- 238000000547 structure data Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013075 data extraction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 102100029212 Putative tetratricopeptide repeat protein 41 Human genes 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000006916 protein interaction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000000007 visual effect Effects 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/04—Architecture, e.g. interconnection topology
- G06N3/0495—Quantised networks; Sparse networks; Compressed 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
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种针对图神经网络的表达特征数据输出方法和装置,涉及图神经网络的表达特征数据输出技术领域,通过从稀疏数据块中确定出非零元素;以多个计算节点不超过负载上限,且多个计算节点之间负载均衡为约束条件,将权重数据划分为多个权重数据组;将权重数据组发送至与权重数据组对应的计算节点,并将输入特征数据和邻接矩阵数据发送至片上网络多节点加速架构;通过片上网络多节点加速架构输出针对图神经网络的表达特征数据,通过将权重数据划分为多个权重数据组,减少待计算权重数据包在NOC网络中的无效流转,实现了通过NOC提升针对图神经网络的表达特征数据的输出效率。
Description
技术领域
本发明涉及针对图神经网络的表达特征数据输出技术领域,特别是涉及一种针对图神经网络的表达特征数据输出方法、一种针对图神经网络的表达特征数据输出装置、一种电子设备以及一种计算机可读存储介质。
背景技术
图(Graph)是一种基于实体及其关系构成的网络,现实世界中有很多复杂系统都可以使用图的相关特性进行描述和分析,比如社交网络,电子商务,文献引用网络,蛋白质交互网络,城市交通网络,知识图谱等。
相比于欧几里得空间中的数据,图计算是研究人类世界的事物和事物之间的关系,对其进行描述、刻画、分析和计算的一门技术。图是计算机科学中常用的一类抽象数据结构,在结构和语义方面更具有一般性表达能力。图结构数据广泛存在于生活的方方面面。例如电商场景中,用户和商品可以看作两种类型的顶点,它们之间的浏览、加购、购买等关系可以看作不同类型的边。如何提升针对图的特征表达的提取效率,成为本领域技术人员需要克服的技术问题。
发明内容
本发明实施例是提供一种针对图神经网络的表达特征数据输出方法、装置、电子设备以及计算机可读存储介质,以克服上述问题或者至少部分地解决上述问题。
本发明实施例公开了一种针对图神经网络的表达特征数据输出方法,其特征在于,所述图神经网络配置有片上网络多节点加速架构,所述片上网络多节点加速架构包括多个计算节点,所述方法包括:
获取稀疏数据块;
从稀疏数据块中确定出非零元素;所述非零元素包括输入特征数据、邻接矩阵数据和权重矩阵数据;
以多个所述计算节点不超过负载上限,且多个所述计算节点之间负载均衡为约束条件,将所述权重矩阵数据划分为多个权重数据组;多个所述权重数据组与多个所述计算节点一一对应;
将所述权重数据组发送至与所述权重数据组对应的计算节点,并将所述输入特征数据和所述邻接矩阵数据发送至所述片上网络多节点加速架构;
通过所述片上网络多节点加速架构输出针对所述图神经网络的表达特征数据。
可选地,所述从稀疏数据块中确定出非零元素的步骤包括:
从所述稀疏数据块中确定目标非零元素簇;所述目标非零元素簇包含非零元素;
确定多个针对所述目标非零元素簇的第一矩形选取框;多个所述第一矩形选取框的重叠部分包含一个所述非零元素;
从多个所述第一矩形选取框中提取所述非零元素。
可选地,所述第一矩形选取框具有对应的矩形框形状,所述从多个所述第一矩形选取框中提取所述非零元素的步骤包括:
在所述第一矩形选取框中确定首元素,并对所述首元素添加绝对坐标值;
基于所述绝对坐标值和矩形框形状,确定针对所述第一矩形选取框中除首元素以外的其他元素的相对坐标值;
基于所述绝对坐标值和所述相对坐标值提取所述非零元素。
可选地,还包括:
从所述稀疏数据块中确定出除所述目标非零元素簇以外的其他非零元素簇;所述其他非零元素簇为离散状态的元素簇;
确定针对所述其他非零元素簇的第二矩形选取框;
从多个所述第二矩形选取框中提取所述非零元素。
可选地,所述权重数据包括多个权重数量块,所述约束条件通过如下方式确定:
确定针对所述权重数量块的权重数量块数量和权重数据块负载量;
确定针对所述计算节点的负载上限和计算节点数量;
通过所述权重数量块数量和所述权重数据块负载量计算针对所述计算节点的计算节点负载量;多个所述计算节点负载量之间负载均衡,且所述计算节点负载量小于或等于负载上限。
可选地,所述片上网络多节点加速架构包括矩阵乘和输入输出单元,所述计算节点包括顶角计算节点,还包括:
控制所述矩阵乘和输入输出单元和所述顶角计算节点连接。
可选地,所述将所述权重矩阵数据划分为多个权重数据组的步骤包括:
确定由所述权重数据组生成的待计算权重数据包到达所述计算节点的流转路径延时时长;
确定所述计算节点针对所述待计算权重数据包的节点计算用时时长;
确定所述待计算权重数据包的待计算权重数据包数量;
通过所述流转路径延时时长、所述节点计算用时时长和所述待计算权重数据包数量计算出数据包总传播路径延时时长、数据包总计算用时时长和模型处理总用时时长;
通过所述数据包总传播路径延时时长、所述数据包总计算用时时长和所述模型处理总用时时长将所述权重矩阵数据划分为多个权重数据组。
可选地,所述片上网络多节点加速架构包括数据包分发缓存单元,所述数据包分发缓存单元包括数据包生成单元,所述数据包生成单元用于,基于所述权重数据组生成待计算权重数据包;基于所述输入特征数据生成待计算输入特征数据包;基于所述邻接矩阵数据生成待计算邻接矩阵数据包。
可选地,所述将所述权重数据组发送至与所述权重数据组对应的计算节点,并将所述输入特征数据和所述邻接矩阵数据发送至所述片上网络多节点加速架构的步骤包括:
采用所述数据包分发缓存单元将所述待计算权重数据包发送至与所述权重数据组对应的计算节点,并将所述待计算输入特征数据包和所述待计算邻接矩阵数据包发送至所述片上网络多节点加速架构。
可选地,所述计算节点包括矩阵计算单元,所述通过所述片上网络多节点加速架构输出针对所述图神经网络的表达特征数据的步骤包括:
采用所述矩阵计算单元基于所述权重数据组、所述输入特征数据和所述邻接矩阵数据进行矩阵块计算,生成针对所述图神经网络的表达特征数据。
可选地,所述数据包分发缓存单元配置包括多通道全局存储器和访存互联网络,所述方法还包括:
通过所述访存互联网络将所述表达特征数据储存至所述多通道全局存储器。
可选地,所述访存互联网络包括纵横式交换矩阵网络、贝奈斯网络和蝶形网络。
可选地,所述纵横式交换矩阵网络内配置有代理层;所述代理层和所述多通道全局存储器连接;
所述贝奈斯网络和所述蝶形网络中配置有中间互联层;所述中间互联层用于构建多个所述计算节点之间的连接关系,以及所述计算节点和所述多通道全局存储器连接之间的连接关系。
可选地,所述片上网络多节点加速架构包括多个平面模组构成,所述平面模组具有独立的计算节点,以及矩阵乘和输入输出单元。
可选地,还包括:
确定针对平面模组的圆心坐标;
通过所述圆心坐标从所述平面模组的计算节点中确定出最大半径节点和最小半径节点;
控制所述最大半径节点和所述最小半径节点连接。
可选地,多个所述平面模组共用相同的数据包分发缓存单元。
可选地,所述计算节点包括针对输入特征数据的输入特征数据缓存设备,和针对邻接矩阵数据的邻接矩阵数据缓存设备,和针对权重矩阵数据的权重矩阵数据缓存设备;所述输入特征数据缓存设备、所述邻接矩阵数据缓存设备和所述权重矩阵数据缓存设备分别用于,在向所述矩阵计算单元发送所述权重数据组、所述输入特征数据和所述邻接矩阵数据之前,储存所述权重数据组、所述输入特征数据和所述邻接矩阵数据。
本发明实施例还公开了一种针对图神经网络的表达特征数据输出装置,所述图神经网络配置有片上网络多节点加速架构,所述片上网络多节点加速架构包括多个计算节点,所述装置包括:
稀疏数据块获取模块,用于获取稀疏数据块;
非零元素确定模块,用于从稀疏数据块中确定出非零元素;所述非零元素包括输入特征数据、邻接矩阵数据和权重矩阵数据;
权重数据组划分模块,用于以多个所述计算节点不超过负载上限,且多个所述计算节点之间负载均衡为约束条件,将所述权重矩阵数据划分为多个权重数据组;多个所述权重数据组与多个所述计算节点一一对应;
权重数据组发送模块,用于将所述权重数据组发送至与所述权重数据组对应的计算节点,并将所述输入特征数据和所述邻接矩阵数据发送至所述片上网络多节点加速架构;
表达特征数据输出模块,用于通过所述片上网络多节点加速架构输出针对所述图神经网络的表达特征数据。
本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。
本发明实施例还公开了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
本发明实施例包括以下优点:
本发明实施例通过从稀疏数据块中确定出非零元素;所述非零元素包括输入特征数据、邻接矩阵数据和权重矩阵数据;以多个所述计算节点不超过负载上限,且多个所述计算节点之间负载均衡为约束条件,将所述权重矩阵数据划分为多个权重数据组;多个所述权重数据组与多个所述计算节点一一对应;将所述权重数据组发送至与所述权重数据组对应的计算节点,并将所述输入特征数据和所述邻接矩阵数据发送至所述片上网络多节点加速架构;通过所述片上网络多节点加速架构输出针对所述图神经网络的表达特征数据,通过将权重数据划分为多个权重数据组,减少待计算权重数据包在NOC网络中的无效流转,实现了通过NOC提升针对图神经网络的表达特征数据的输出效率。
附图说明
图1是本发明实施例中提供的一种针对图神经网络的表达特征数据输出方法的步骤流程图;
图2是本发明实施例中提供的一种单层片上网络的结构示意图;
图3是本发明实施例中提供的一种针对强化学习的流程示意图;
图4是本发明实施例中提供的一种稀疏矩阵非零元素划分结构示意图;
图5是本发明实施例中提供的一种数据包分发缓存单元内部结构示意图;
图6是本发明实施例中提供的一种纵横式交换矩阵网络的结构示意图;
图7是本发明实施例中提供的另一种纵横式交换矩阵网络的结构示意图;
图8是本发明实施例中提供的一种贝奈斯网络的结构示意图;
图9是本发明实施例中提供的一种蝶形网络的结构示意图;
图10是本发明实施例中提供的一种片上网络多节点加速架构的结构示意图;
图11是本发明实施例中提供的一种多层NOC平面的结构示意图;
图12是本发明实施例中提供的另一种多层NOC平面的结构示意图;
图13是本发明实施例中提供的一种计算节点的结构示意图;
图14是本发明实施例中提供的一种针对稀疏数据块的格式示意图;
图15是本发明实施例中提供的一种针对选取框的坐标列表示意图;
图16是本发明实施例中提供的一种针对图神经网络的表达特征数据输出装置的结构框图;
图17是本发明实施例中提供的一种电子设备的硬件结构框图;
图18是本发明实施例中提供的一种计算机可读介质的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
自然界中广泛存在的非欧式拓扑数据,即图(Graph)的研究得到了广泛关注,为了有效提取图的特征表达,图神经网络(GNN)等一类优秀的模型被提出,并适用于广泛的应用场景,如社交网络、推荐系统、智慧医疗以及城市规划。
arXiv是一个收集物理学、数学、计算机科学与生物学的论文预印本的网站,Cluster-GCN是一种用于训练深度和大型图卷积网络的高效算法,在对引文网络的分类应用中,使用大型引文网络数据集Ogbn-papers100M有向图,有1.11亿个节点(包括150万个arxiv论文节点),表示arxiv上计算机科学论文之间的引用关系。节点表示论文,边表示论文的引用关系,每篇论文都有一个将词在标题和摘要中的嵌入量平均得到128维特征向量,通过 WORD 2 VEC 模型获得嵌入。它比现有的OGB数据集还要大几个数量级,主要是来预测arxiv论文的类别,是一个172分类问题。
在实际应用中,由于该数据集过于庞大,通常使用Cluster-GCN的子图采样的方式进行,把大图拆分成300个子图,每个子图平均约有370000个节点。
由上可知,在针对图的特征表达的提取过程中,当前问题一是邻接矩阵规模较大,二是邻接矩阵和权重矩阵都具有很高的稀疏性,稀疏度达到了90%。如何针对该模型特性进行有效的计算加速是本领域亟待解决的问题。
参照图1,示出了本发明实施例中提供的一种针对图神经网络的表达特征数据输出方法的步骤流程图,具体可以包括如下步骤:
步骤101,获取稀疏数据块;
步骤102,从稀疏数据块中确定出非零元素;所述非零元素包括输入特征数据、邻接矩阵数据和权重矩阵数据;
步骤103,以多个所述计算节点不超过负载上限,且多个所述计算节点之间负载均衡为约束条件,将所述权重矩阵数据划分为多个权重数据组;多个所述权重数据组与多个所述计算节点一一对应;
步骤104,将所述权重数据组发送至与所述权重数据组对应的计算节点,并将所述输入特征数据和所述邻接矩阵数据发送至所述片上网络多节点加速架构;
步骤105,通过所述片上网络多节点加速架构输出针对所述图神经网络的表达特征数据。
在实际应用中,图神经网络(Graph Neural Network,GNN)是一类用于处理图结构数据的深度学习模型。图结构数据中的实体以节点的形式表示,实体之间的关系以边的形式表示。GNN的目标是从图结构数据中学习有用的表示,并利用这些表示进行各种任务,例如节点分类、图分类、链接预测等。
NOC(Net on Chip,片上网络)可以定义为在单一芯片上实现的基于网络通讯的多处理器系统,是用来设计IP 内核和系统芯片之间的通信子系统的方法。NOC 包括计算和通讯两类节点。计算节点(又称为资源,Resource)完成广义的计算任务,它们既可以是SoC,也可以是各种单一功能的IP;通讯节点(又称交换开关,Switch) 负责计算节点之间的数据通讯。通讯节点及其之间的网络称为OCN(On—ChipNetwork),它借鉴了分布式计算机系统的通讯方式,用路由和分组交换技术替代传统的总线技术完成通讯任务。
本发明实施例的图神经网络可以配置有片上网络多节点加速架构,具体地,本发明实施例的片上网络多节点加速架构可以由多层片上网络NOC结构组成,在实际应用中,层片上网络NOC的计算节点可以由矩阵乘单元(Matrix Multiply Unit)构成,参考图2,图2是本发明实施例中提供的一种单层片上网络的结构示意图,片上网络NOC可以由多个计算节点、多个矩阵乘和输入输出单元和和数据包分发缓存单元组成。
在具体实现中,本发明实施例可以获取稀疏数据块,从稀疏数据块中确定出非零元素,其中,非零元素可以包括输入特征数据、邻接矩阵数据和权重矩阵数据。
在实际应用中,稀疏数据块是指,数据框中绝大多数数值缺失或者为零的数据;邻接矩阵可以用于表示图中节点之间的连接关系;输入特征数据可以用于表示图中每个节点的初始特征;权重矩阵数据可以用于针对每个计算节点分配不同的权重。
在确定出非零元素后,本发明实施例可以以多个计算节点不超过负载上限,且多个计算节点之间负载均衡为约束条件,将权重矩阵数据划分为多个权重数据组,其中,多个权重数据组可以与多个计算节点一一对应。
参考图3,图3是本发明实施例中提供的一种针对强化学习的流程示意图;
在实际应用中,强化学习系统由智能体(Agent)、状态(state)、奖赏(reward)、动作(action)和环境(Environment)五部分组成,示例性地,可以以多个计算节点不超过负载上限,且多个计算节点之间负载均衡为约束条件作为强化学习系统由智能体Agent,使用强化学习将不同大小的权重数据块按计算节点数进行分组,从而得到多个权重数据组action。
在具体实现中,在完成将权重数据划分为多个权重数据组后,本发明实施例可以通过数据包分发缓存单元将权重数据组发送至与权重数据组对应的计算节点,并将输入特征数据和邻接矩阵数据发送至片上网络多节点加速架构,并通过片上网络多节点加速架构输出针对图神经网络的表达特征数据。
本发明实施例,通过获取稀疏数据块;
本发明实施例通过从稀疏数据块中确定出非零元素;所述非零元素包括输入特征数据、邻接矩阵数据和权重矩阵数据;以多个所述计算节点不超过负载上限,且多个所述计算节点之间负载均衡为约束条件,将所述权重矩阵数据划分为多个权重数据组;多个所述权重数据组与多个所述计算节点一一对应;将所述权重数据组发送至与所述权重数据组对应的计算节点,并将所述输入特征数据和所述邻接矩阵数据发送至所述片上网络多节点加速架构;通过所述片上网络多节点加速架构输出针对所述图神经网络的表达特征数据,通过将权重数据划分为多个权重数据组,减少待计算权重数据包在NOC网络中的无效流转,实现了通过NOC提升针对图神经网络的表达特征数据的输出效率。
在上述实施例的基础上,提出了上述实施例的变型实施例,在此需要说明的是,为了使描述简要,在变型实施例中仅描述与上述实施例的不同之处。
在本发明的一个可选地实施例中,所述从稀疏数据块中确定出非零元素的步骤包括:
从所述稀疏数据块中确定目标非零元素簇;所述目标非零元素簇包含非零元素;
确定多个针对所述目标非零元素簇的第一矩形选取框;多个所述第一矩形选取框的重叠部分包含一个所述非零元素;
从多个所述第一矩形选取框中提取所述非零元素。
在实际应用中,稀疏数据绝对不是无用数据,只不过是信息不完全,通过适当的手段是可以挖掘出大量有用信息的。然而在一些情况下,数据的稀疏程度甚至会达到95%以上,这使得传统的统计方法不适于处理此类数据。
参考图4,图4是本发明实施例中提供的一种稀疏矩阵非零元素划分结构示意图,采用类似链表的方式,在稀疏数据块中按每个框与下个框有一个交叠元素的方式,且可以按框数最小化原则来进行目标非零元素簇的框选取,其中,第一矩形选取框可以是针对目标非零元素簇的框,目标非零元素簇可以是由非离散状态的元素组成。在确定多个针对目标非零元素簇的第一矩形选取框后,可以从多个第一矩形选取框中提取所述非零元素。
本发明实施例,通过从所述稀疏数据块中确定目标非零元素簇;所述目标非零元素簇包含非零元素;确定多个针对所述目标非零元素簇的第一矩形选取框;多个所述第一矩形选取框的重叠部分包含一个所述非零元素;从多个所述第一矩形选取框中提取所述非零元素,可以针对由非离散状态的非零元素组成的元素簇中的非零元素进行快速提取,从而提升了针对非零元素的提取效率。
在本发明的一个可选地实施例中,所述第一矩形选取框具有对应的矩形框形状,所述从多个所述第一矩形选取框中提取所述非零元素的步骤包括:
在所述第一矩形选取框中确定首元素,并对所述首元素添加绝对坐标值;
基于所述绝对坐标值和矩形框形状,确定针对所述第一矩形选取框中除首元素以外的其他元素的相对坐标值;
基于所述绝对坐标值和所述相对坐标值提取所述非零元素。
由于规模较大的矩阵中,若单个非零元素采用绝对坐标进行稀疏编码,其开销较大,因此,本发明实施例采用分块划分及块内相对坐标索引的方式来降低编码开销。
在具体实现中,本发明实施例可以将选取的连续数据块作为一个数据包进行发送,并在第一矩形选取框中选取首元素,并对首元素添加绝对坐标值,
然后基于绝对坐标值和矩形框形状,确定针对第一矩形选取框中除首元素以外的其他元素的相对坐标值,在确定出第一矩形选取框内的所有非零元素的坐标值后,可以基于绝对坐标值和相对坐标值提取所述非零元素。
本发明实施例,通过除却第一个元素使用绝对坐标编码,其它元素皆可根据各个矩形框形状得到相对第一个元素的相对坐标,从而避免了对所有非零元素采用绝对坐标进行稀疏编码。更进一步地提升了针对非零元素的提取效率。
在本发明的一个可选地实施例中,还包括:
从所述稀疏数据块中确定出除所述目标非零元素簇以外的其他非零元素簇;所述其他非零元素簇为离散状态的元素簇;
确定针对所述其他非零元素簇的第二矩形选取框;
从多个所述第二矩形选取框中提取所述非零元素。
在具体实现中,本发明实施例的其他非零元素簇可以为离散状态的元素簇,其他非零元素簇可以由仅纵向排布或仅横向排布的一个或多个非零元素组成。
本发明实施例,针对其他非零元素簇可以进行单独框选取,框取后生成的第二矩形选取框则为针对其他非零元素簇的选取框。
在完成针对其他非零元素簇进行单独框选取后,可以从多个第二矩形选取框中提取非零元素,示例性地,若第二矩形选取框中只包含一个非零元素,则可以为该非零元素添加绝对坐标值,并基于该绝对坐标值提取该非零元素。若第二矩形选取框中只包含多个非零元素,则可以通过在第二矩形选取框中除却第一个元素使用绝对坐标编码,其它元素皆可根据各个矩形框形状得到相对第一个元素的相对坐标,基于该绝对坐标值和相对坐标值从第二矩形选取框中提取非零元素。
本发明实施例,通过从所述稀疏数据块中确定出除所述目标非零元素簇以外的其他非零元素簇;所述其他非零元素簇为离散状态的元素簇;确定针对所述其他非零元素簇的第二矩形选取框;从多个所述第二矩形选取框中提取所述非零元素,保证了对非零元素提取的完整性,从而更进一步地提升了针对非零元素的提取效率。
在本发明的一个可选地实施例中,所述权重数据包括多个权重数量块,所述约束条件通过如下方式确定:
确定针对所述权重数量块的权重数量块数量和权重数据块负载量;
确定针对所述计算节点的负载上限和计算节点数量;
通过所述权重数量块数量和所述权重数据块负载量计算针对所述计算节点的计算节点负载量;多个所述计算节点负载量之间负载均衡,且所述计算节点负载量小于或等于负载上限。
示例性地,约束条件通过如下方式确定。
设各计算节点分配的权重数据块数量为m, 各节点计算节点负载量为C,负载上限为C_total,各权重数据块负载量为c,计算节点数量为n,则各计算节点负载量可以通过公式(1)和公式(2)表达:
C1 = c1+c2+c3+…+cm1 ; C2 = c1+c2+c3+…+cm2 ; ……公式(1)
且 C1≤C_total , C2≤C_total ;……公式(2)
对于负载均衡,可以通过公式(3)表达:
C1==C2==...==Cn公式(3)
在本发明的一个可选地实施例中,所述将所述权重矩阵数据划分为多个权重数据组的步骤包括:
确定由所述权重数据组生成的待计算权重数据包到达所述计算节点的流转路径延时时长;
确定所述计算节点针对所述待计算权重数据包的节点计算用时时长;
确定所述待计算权重数据包的待计算权重数据包数量;
通过所述流转路径延时时长、所述节点计算用时时长和所述待计算权重数据包数量计算出数据包总传播路径延时时长、数据包总计算用时时长和模型处理总用时时长;
通过所述数据包总传播路径延时时长、所述数据包总计算用时时长和所述模型处理总用时时长将所述权重矩阵数据划分为多个权重数据组。
设数据包从数据分发单元发出后,每经过一个节点,其传播路径延时加1,待计算权重数据包到达对应计算节点流转路径延时时长为D,各计算节点的节点计算用时时长为P,待计算权重数据包数量为q。
数据包总传播路径延时时长可以通过公式(4)表达:
D_total=D1+D2+...+Dq公式(4)
数据包总计算用时时长可以通过公式(5)表达
P_total=P1+P2+...+Pq公式(5)
模型处理总用时时长可以通过公式(6)表达
T_total= D_total + P_total;公式(6)
参考图3,图3是本发明实施例中提供的一种针对强化学习的流程示意图;
在实际应用中,强化学习系统由智能体(Agent)、状态(state)、奖赏(reward)、动作(action)和环境(Environment)五部分组成,示例性地,可以以多个计算节点不超过负载上限,且多个计算节点之间负载均衡为约束条件作为强化学习系统由智能体Agent,采用数据包总传播路径延时时长、数据包总计算用时时长和模型处理总用时时长作为reward,通过加强学习将权重数据划分为多个权重数据组。
具体地,可以通过对硬件加速器中各计算节点权重数据块分组进行优化,强化学习需要学习各计算节点权重数据块分组配置,所需学习的是离散的数值,需要采用离线策略算法。使用稳定的离线策略算法Soft Actor-Critic(SAC),通过将此任务建模为强化学习问题,提出其系统实现方法。
强化学习系统由基于Soft Actor-Critic框架的SAC智能体、策略Policy、动作实施以及加速器系统组成。其中,SAC智能体根据当前的环境状态,按照特定的策略给出动作。在满足硬件加速器资源约束(公式(2))及各节点计算负载均衡(公式(3))的约束条件下,调整各计算节点的权重数据块组合分配。硬件加速器按照该配置方案,进行权重数据块分配和后续的数据包流转计算,并计算数据包总传输路径延时(公式(4))和模型总处理用时(公式(6))。将调整配置前后模型总处理用时和数据包传输路径延迟减少的差值作为奖励,反馈给SAC智能体。连续迭代直到结果收敛,从而得到满足硬件约束的各计算节点权重数据块组合分配的最佳配置。
在本发明的一个可选地实施例中,所述片上网络多节点加速架构包括矩阵乘和输入输出单元,所述计算节点包括顶角计算节点,还包括:
控制所述矩阵乘和输入输出单元和所述顶角计算节点连接。
示例性地,参考图2,图2是本发明实施例中提供的一种单层片上网络的结构示意图;为实现针对数据包进行快速分发,可以分别为四个矩阵乘和输入输出单元添加到外部四个顶角计算节点的对角线连接,来降低NOC网络路由半径。
本发明实施例,通过控制所述矩阵乘和输入输出单元和所述顶角计算节点连接,从而降低了NOC网络的路由半径,提升了针对数据包进行分发效率,更进一步地提升了针对图神经网络的表达特征数据输出效率。
在本发明的一个可选地实施例中,所片上网络多节点加速架构包括数据包分发缓存单元,参考图5,图5是本发明实施例中提供的一种数据包分发缓存单元内部结构示意图,数据包分发缓存单元可以包括数据包生成单元,数据包生成单元可以用于,基于权重数据组生成待计算权重数据包;基于输入特征数据生成待计算输入特征数据包;基于邻接矩阵数据生成待计算邻接矩阵数据包。
本发明实施例,通过数据包生成单元,基于权重数据组生成待计算权重数据包;基于输入特征数据生成待计算输入特征数据包;基于邻接矩阵数据生成待计算邻接矩阵数据包,并将待计算权重数据包、待计算输入特征数据包和待计算邻接矩阵数据包通过矩阵乘和输入输出单元发送至计算节点内部的数据包解析单元,进一步地提升了数据分发效率,更进一步地提升了针对图神经网络的表达特征数据输出效率。
参考图2,图2是本发明实施例中提供的一种单层片上网络的结构示意图,在本发明的一个可选地实施例中,通过为片上网络多节点加速架构设立独立的数据包分发缓存单元,并采用数据包分发缓存单元将待计算权重数据包发送至与权重数据组对应的计算节点,并将待计算输入特征数据包和待计算邻接矩阵数据包发送至片上网络多节点加速架构,可以进一步地提升了数据分发效率,更进一步地提升了针对图神经网络的表达特征数据输出效率。
在本发明的一个可选地实施例中,所述数据包分发缓存单元配置包括多通道全局存储器和访存互联网络,所述方法还包括:
通过所述访存互联网络将所述表达特征数据储存至所述多通道全局存储器;
可选地,所述访存互联网络包括纵横式交换矩阵网络、贝奈斯网络和蝶形网络。
参考图5,图5是本发明实施例中提供的一种数据包分发缓存单元内部结构示意图,数据包分发缓存单元,由多通道全局存储器、访存互联网络、片上网络数据包生成单元和数据包解析单元组成,其中,多个源节点和多个目标节点之间的访存互联网络结构可以由纵横式交换矩阵网络crossbar、贝奈斯网络Benes和蝶形网络组成。
参考图6,图6是本发明实施例中提供的一种纵横式交换矩阵网络的结构示意图;对于crossbar结构,若访存单元F和多通道全局存储器M数量较少,可直接连接,但当各单元数量众多时,会造成大量的互联。
可选地,所述纵横式交换矩阵网络内配置有代理层;所述代理层和所述多通道全局存储器连接。
参考图7,图7是本发明实施例中提供的另一种纵横式交换矩阵网络的结构示意图,此时,可在访存单元F和多通道全局存储器M中间添加代理层C的方式,代理层C由若干层节点组成,每个节点连接一部分多通道全局存储器M,形成分组访问,可减少互联数量。
在本发明的一个地实施例中,纵横式交换矩阵网络内配置有代理层;代理层和多通道全局存储器连接;贝奈斯网络和蝶形网络中配置有中间互联层;中间互联层用于构建多个计算节点之间的连接关系,以及计算节点和多通道全局存储器连接之间的连接关系。
参考图8和图9,图8是本发明实施例中提供的一种贝奈斯网络的结构示意图;图9是本发明实施例中提供的一种蝶形网络的结构示意图;对于贝奈斯网络Benes和蝶形网络,均可以通过多个中间互联层形成大量源节点和目的节点之间的一对一访问,从而有效提高数据访存带宽和数据包分发效率。
在本发明的一个可选地实施例中,所述片上网络多节点加速架构包括多个平面模组构成,所述平面模组具有独立的计算节点、矩阵乘和输入输出单元。
参考图10,图10是本发明实施例中提供的一种片上网络多节点加速架构的结构示意图;片上网络多节点加速架构可以包括多个平面模组构成,单个平面模组为一个单层片上网络,单层片上网络可以具有独立的计算节点,以及矩阵乘和输入输出单元,从而可以使NOC架构平面(平面模组)能够根据片上硬件资源和计算需求进行灵活扩展,从而进一步提升针对图神经网络的表达特征数据的输出效率。
在本发明的一个可选地实施例中,还包括:
确定针对平面模组的圆心坐标;
通过所述圆心坐标从所述平面模组的计算节点中确定出最大半径节点和最小半径节点;
控制所述最大半径节点和所述最小半径节点连接。
参考图10,图10是本发明实施例中提供的一种片上网络多节点加速架构的结构示意图;在具体实现中,本发明实施例可以采用远端互联、近端互联来提高数据跨平面传输效率,即将各架构平面(平面模组)内半径最小和最大的节点进行连接,从而提升传输数据的速度,避免平面间较大的传输路径延时。
参考图11,图11是本发明实施例中提供的一种多层NOC平面的结构示意图;数据并行即共享一组权重数据,多个特征数据进行并行计算;参考图12,图12是本发明实施例中提供的另一种多层NOC平面的结构示意图;模型并行即共享一组特征数据,而将权重数据拆分给多个计算平面进行并行计算。
可选地,本发明实施例可以使多个平面模组共享同一个数据包分发缓存单元,以保证在分发数据包时的准确性。
参考图13,图13是本发明实施例中提供的一种计算节点的结构示意图;在本发明的一个可选地实施例中,计算节点包括针对输入特征数据的输入特征数据缓存设备,和针对邻接矩阵数据的邻接矩阵数据缓存设备,和针对权重矩阵数据的权重矩阵数据缓存设备;输入特征数据缓存设备、邻接矩阵数据缓存设备和权重矩阵数据缓存设备分别用于,在向矩阵计算单元发送权重数据组、输入特征数据和邻接矩阵数据之前,储存权重数据组、输入特征数据和邻接矩阵数据,以实现在数据进入矩阵计算单元前,能够使数据缓存于缓存设备中,提升了矩阵计算单元针对权重数据、输入特征数据和邻接矩阵数据的处理效率,更进一步地提升了针对图神经网络的表达特征数据的输出效率。
为使本领域技术人员更好地理解本发明实施例,以下采用一完整示例对本发明实施例进行说明。
首先,对大型稀疏矩阵进行非零数据提取,由于邻接矩阵规模较大,且邻接矩阵和权重矩阵稀疏度很高,且该矩阵为固定参数矩阵,可离线进行有效数据提取。同时,由于规模较大的矩阵中,若单个非零元素采用绝对坐标进行稀疏编码,其开销较大,因此采用分块划分及块内相对坐标索引的方式来降低编码开销。具体如图4所示,采用类似链表的方式,按每个框与下个框有一个交叠元素的方式且框数最小化原则来进行非零数据簇的框选取,对于其他离散的数据簇则进行单独框选取。如图14所示,图14示出了本发明实施例的稀疏数据块的格式,如图15所示,图15示出了本发明实施例的选取框的坐标列表示意图,这样选取的连续数据块作为一个数据包进行发送,除却第一个元素使用绝对坐标编码,其它元素皆可根据各个矩形框形状得到相对第一个元素的相对坐标。
如图2所示,为快速进行数据分发,添加内圈节点到外部四个角节点的对角线连接来降低NOC网络路由半径。中间为数据包分发缓存单元,如图5所示,数据包分发缓存单元由多通道全局存储器、访存互联网络、片上网络数据包生成单元和解析单元组成,其中,访存互联网络结构可以由纵横式交换矩阵网络crossbar、贝奈斯网络Benes和蝶形网络组成。
参考图6,图6是本发明实施例中提供的一种纵横式交换矩阵网络的结构示意图;对于crossbar结构,若访存单元F和多通道全局存储器M数量较少,可直接连接,但当各单元数量众多时,会造成大量的互联。
参考图7,图7是本发明实施例中提供的另一种纵横式交换矩阵网络的结构示意图,此时,可在访存单元F和多通道全局存储器M中间添加代理层C的方式,代理层C由若干层节点组成,每个节点连接一部分多通道全局存储器M,形成分组访问,可减少互联数量。
参考图8和图9,图8是本发明实施例中提供的一种贝奈斯网络的结构示意图;图9是本发明实施例中提供的一种蝶形网络的结构示意图;对于贝奈斯网络Benes和蝶形网络,均可以通过多个中间互联层形成大量源节点和目的节点之间的一对一访问,从而有效提高数据访存带宽和数据包分发效率。
NOC网络中各计算节点内部结构如图13所示,矩阵计算采用权重statinary的方式,即提取出的权重矩阵块固定分布在各节点,特征矩阵块依次在NOC中流转,和对应的权重节点数据进行计算,邻接矩阵按固定顺序在NOC中循环进行流转。且由于各权重数据块大小不一,为进行负载均衡,可按照大小权重块组合的方式,分组分发到不同的计算节点,且由于矩阵计算某些临近块放一块处理可提高计算效率,减少待计算权重数据包在NOC网络中的无效流转。因此该数据块分组是个优化问题,可采用强化学习的方式来生成较好的分组结果。
具体地,设各计算节点分配的权重数据块数量为m, 各节点计算节点负载量为C,负载上限为C_total,各权重数据块负载量为c,计算节点数量为n,则各计算节点负载量可以通过公式(1)和公式(2)表达:
C1 = c1+c2+c3+…+cm1 ; C2 = c1+c2+c3+…+cm2 ; ……公式(1)
且 C1≤C_total , C2≤C_total ;……公式(2)
对于负载均衡,可以通过公式(3)表达:
C1==C2==...==Cn公式(3)
设数据包从数据分发单元发出后,每经过一个节点,其传播路径延时加1,待计算权重数据包到达对应计算节点流转路径延时时长为D,各计算节点的节点计算用时时长为P,待计算权重数据包数量为q。
数据包总传播路径延时时长可以通过公式(4)表达:
D_total=D1+D2+...+Dq公式(4)
数据包总计算用时时长可以通过公式(5)表达
P_total=P1+P2+...+Pq公式(5)
模型处理总用时时长可以通过公式(6)表达
T_total= D_total + P_total;公式(6)
强化学习(RL)是一种机器学习方法,它使用试错和奖励来改善模型的性能。
通过对硬件加速器中各计算节点权重数据块分组进行优化,强化学习需要学习各计算节点权重数据块分组配置,所需学习的是离散的数值,需要采用离线策略算法。使用稳定的离线策略算法Soft Actor-Critic(SAC),通过将此任务建模为强化学习问题,提出其系统实现方法。
如图3所示,该强化学习系统由基于Soft Actor-Critic框架的SAC智能体、策略Policy、动作实施以及加速器系统组成。其中,SAC智能体根据当前的环境状态,按照特定的策略给出动作。在满足硬件加速器资源约束(公式(2))及各节点计算负载均衡(公式(3))的约束条件下,调整各计算节点的权重数据块组合分配。硬件加速器按照该配置方案,进行权重数据块分配和后续的数据包流转计算,并计算数据包总传输路径延时(公式(4))和模型总处理用时(公式(6))。将调整配置前后模型总处理用时和数据包传输路径延迟减少的差值作为奖励,反馈给SAC智能体。连续迭代直到结果收敛,从而得到满足硬件约束的各计算节点权重数据块组合分配的最佳配置。
NOC架构平面可根据片上硬件资源和计算需求进行灵活扩展,如图10所示,采用远端互联、近端互联来提高数据跨平面传输效率,即将各平面内半径最小和最大的节点进行连接来快速传输数据,避免平面间较大的传输路径延时。各平面共用一个数据包分发缓存单元。图11和图12示出了多层NOC架构的数据并行、模型并行计算示意图。数据并行即共享一组权重数据,多个特征数据进行并行计算;模型并行即共享一组特征数据,而将权重数据拆分给多个计算平面进行并行计算。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图16,示出了本发明实施例中提供的一种针对图神经网络的表达特征数据输出装置的结构框图,具体可以包括如下模块:
稀疏数据块获取模块1601,用于获取稀疏数据块;
非零元素确定模块1602,用于从稀疏数据块中确定出非零元素;所述非零元素包括输入特征数据、邻接矩阵数据和权重矩阵数据;
权重数据组划分模块1603,用于以多个所述计算节点不超过负载上限,且多个所述计算节点之间负载均衡为约束条件,将所述权重矩阵数据划分为多个权重数据组;多个所述权重数据组与多个所述计算节点一一对应;
权重数据组发送模块1604,用于将所述权重数据组发送至与所述权重数据组对应的计算节点,并将所述输入特征数据和所述邻接矩阵数据发送至所述片上网络多节点加速架构;
表达特征数据输出模块1605,用于通过所述片上网络多节点加速架构输出针对所述图神经网络的表达特征数据。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
另外,本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述针对图神经网络的表达特征数据输出方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述针对图神经网络的表达特征数据输出方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
图17为实现本发明各个实施例的一种电子设备的硬件结构示意图。
该电子设备1700包括但不限于:射频单元1701、网络模块1702、音频输出单元1703、输入单元1704、传感器1705、显示单元1706、用户输入单元1707、接口单元1708、存储器1709、处理器1710、以及电源1711等部件。本领域技术人员可以理解,图17中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
应理解的是,本发明实施例中,射频单元1701可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器1710处理;另外,将上行的数据发送给基站。通常,射频单元1701包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元1701还可以通过无线通信系统与网络和其他设备通信。
电子设备通过网络模块1702为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元1703可以将射频单元1701或网络模块1702接收的或者在存储器1709中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元1703还可以提供与电子设备1700执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元1703包括扬声器、蜂鸣器以及受话器等。
输入单元1704用于接收音频或视频信号。输入单元1704可以包括图形处理器(Graphics Processing Unit,GPU)17041和麦克风17042,图形处理器17041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元1706上。经图形处理器17041处理后的图像帧可以存储在存储器1709(或其它存储介质)中或者经由射频单元1701或网络模块1702进行发送。麦克风17042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元1701发送到移动通信基站的格式输出。
电子设备1700还包括至少一种传感器1705,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板17061的亮度,接近传感器可在电子设备1700移动到耳边时,关闭显示面板17061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器1705还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元1706用于显示由用户输入的信息或提供给用户的信息。显示单元1706可包括显示面板17061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode, OLED)等形式来配置显示面板17061。
用户输入单元1707可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元1707包括触控面板17071以及其他输入设备17072。触控面板17071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板17071上或在触控面板17071附近的操作)。触控面板17071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1710,接收处理器1710发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板17071。除了触控面板17071,用户输入单元1707还可以包括其他输入设备17072。具体地,其他输入设备17072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板17071可覆盖在显示面板17061上,当触控面板17071检测到在其上或附近的触摸操作后,传送给处理器1710以确定触摸事件的类型,随后处理器1710根据触摸事件的类型在显示面板17061上提供相应的视觉输出。虽然在图17中,触控面板17071与显示面板17061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板17071与显示面板17061集成而实现电子设备的输入和输出功能,具体此处不做限定。
接口单元1708为外部装置与电子设备1700连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元1708可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备1700内的一个或多个元件或者可以用于在电子设备1700和外部装置之间传输数据。
存储器1709可用于存储软件程序以及各种数据。存储器1709可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1709可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器1710是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器1709内的软件程序和/或模块,以及调用存储在存储器1709内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器1710可包括一个或多个处理单元;优选的,处理器1710可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1710中。
电子设备1700还可以包括给各个部件供电的电源1711(比如电池),优选的,电源1711可以通过电源管理系统与处理器1710逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,电子设备1700包括一些未示出的功能模块,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
如图18所示,在本发明提供的又一实施例中,还提供了一种计算机可读存储介质1801,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中所述的针对图神经网络的表达特征数据输出方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (17)
1.一种针对图神经网络的表达特征数据输出方法,其特征在于,所述图神经网络配置有片上网络多节点加速架构,所述片上网络多节点加速架构包括多个计算节点,所述方法包括:
获取稀疏数据块;
从稀疏数据块中确定出非零元素;所述非零元素包括输入特征数据、邻接矩阵数据和权重矩阵数据;
以多个所述计算节点不超过负载上限,且多个所述计算节点之间负载均衡为约束条件,基于强化学习将所述权重矩阵数据划分为多个权重数据组;多个所述权重数据组与多个所述计算节点一一对应;
将所述权重数据组发送至与所述权重数据组对应的计算节点,并将所述输入特征数据和所述邻接矩阵数据发送至所述片上网络多节点加速架构;
通过所述片上网络多节点加速架构输出针对所述图神经网络的表达特征数据;
所述从稀疏数据块中确定出非零元素的步骤包括:
从所述稀疏数据块中确定目标非零元素簇;所述目标非零元素簇包含非零元素;
确定多个针对所述目标非零元素簇的第一矩形选取框;多个所述第一矩形选取框的重叠部分包含一个所述非零元素;
从多个所述第一矩形选取框中提取所述非零元素;
所述第一矩形选取框具有对应的矩形框形状,所述从多个所述第一矩形选取框中提取所述非零元素的步骤包括:
在所述第一矩形选取框中确定首元素,并对所述首元素添加绝对坐标值;
基于所述绝对坐标值和矩形框形状,确定针对所述第一矩形选取框中除首元素以外的其他元素的相对坐标值;
基于所述绝对坐标值和所述相对坐标值提取所述非零元素;
从所述稀疏数据块中确定出除所述目标非零元素簇以外的其他非零元素簇;所述其他非零元素簇为离散状态的元素簇;
确定针对所述其他非零元素簇的第二矩形选取框;
从多个所述第二矩形选取框中提取所述非零元素。
2.根据权利要求1所述的方法,其特征在于,所述权重数据包括多个权重数量块,所述约束条件通过如下方式确定:
确定针对所述权重数量块的权重数量块数量和权重数据块负载量;
确定针对所述计算节点的负载上限和计算节点数量;
通过所述权重数量块数量和所述权重数据块负载量计算针对所述计算节点的计算节点负载量;多个所述计算节点负载量之间负载均衡,且所述计算节点负载量小于或等于负载上限。
3.根据权利要求2所述的方法,其特征在于,所述片上网络多节点加速架构包括矩阵乘和输入输出单元,所述计算节点包括顶角计算节点,还包括:
控制所述矩阵乘和输入输出单元和所述顶角计算节点连接。
4.根据权利要求3所述的方法,其特征在于,所述基于强化学习将所述权重矩阵数据划分为多个权重数据组的步骤包括:
确定由所述权重数据组生成的待计算权重数据包到达所述计算节点的流转路径延时时长;
确定所述计算节点针对所述待计算权重数据包的节点计算用时时长;
确定所述待计算权重数据包的待计算权重数据包数量;
通过所述流转路径延时时长、所述节点计算用时时长和所述待计算权重数据包数量计算出数据包总传播路径延时时长、数据包总计算用时时长和模型处理总用时时长;
通过所述数据包总传播路径延时时长、所述数据包总计算用时时长和所述模型处理总用时时长将所述权重矩阵数据划分为多个权重数据组。
5.根据权利要求4所述的方法,其特征在于,所述片上网络多节点加速架构包括数据包分发缓存单元,所述数据包分发缓存单元包括数据包生成单元,所述数据包生成单元用于,基于所述权重数据组生成待计算权重数据包;基于所述输入特征数据生成待计算输入特征数据包;基于所述邻接矩阵数据生成待计算邻接矩阵数据包。
6.根据权利要求5所述的方法,其特征在于,所述将所述权重数据组发送至与所述权重数据组对应的计算节点,并将所述输入特征数据和所述邻接矩阵数据发送至所述片上网络多节点加速架构的步骤包括:
采用所述数据包分发缓存单元将所述待计算权重数据包发送至与所述权重数据组对应的计算节点,并将所述待计算输入特征数据包和所述待计算邻接矩阵数据包发送至所述片上网络多节点加速架构。
7.根据权利要求6所述的方法,其特征在于,所述计算节点包括矩阵计算单元,所述通过所述片上网络多节点加速架构输出针对所述图神经网络的表达特征数据的步骤包括:
采用所述矩阵计算单元基于所述权重数据组、所述输入特征数据和所述邻接矩阵数据进行矩阵块计算,生成针对所述图神经网络的表达特征数据。
8.根据权利要求7所述的方法,其特征在于,所述数据包分发缓存单元配置包括多通道全局存储器和访存互联网络,所述方法还包括:
通过所述访存互联网络将所述表达特征数据储存至所述多通道全局存储器。
9.根据权利要求8所述的方法,其特征在于,所述访存互联网络包括纵横式交换矩阵网络、贝奈斯网络和蝶形网络。
10.根据权利要求9所述的方法,其特征在于,所述纵横式交换矩阵网络内配置有代理层;所述代理层和所述多通道全局存储器连接;
所述贝奈斯网络和所述蝶形网络中配置有中间互联层;所述中间互联层用于构建多个所述计算节点之间的连接关系,以及所述计算节点和所述多通道全局存储器连接之间的连接关系。
11.根据权利要求1或10所述的方法,其特征在于,所述片上网络多节点加速架构包括多个平面模组构成,所述平面模组具有独立的计算节点,以及矩阵乘和输入输出单元。
12.根据权利要求11所述的方法,其特征在于,还包括:
确定针对平面模组的圆心坐标;
通过所述圆心坐标从所述平面模组的计算节点中确定出最大半径节点和最小半径节点;
控制所述最大半径节点和所述最小半径节点连接。
13.根据权利要求11所述的方法,其特征在于,多个所述平面模组共用相同的数据包分发缓存单元。
14.根据权利要求11所述的方法,其特征在于,所述计算节点包括针对输入特征数据的输入特征数据缓存设备,和针对邻接矩阵数据的邻接矩阵数据缓存设备,和针对权重矩阵数据的权重矩阵数据缓存设备;所述输入特征数据缓存设备、所述邻接矩阵数据缓存设备和所述权重矩阵数据缓存设备分别用于,在向所述矩阵计算单元发送所述权重数据组、所述输入特征数据和所述邻接矩阵数据之前,储存所述权重数据组、所述输入特征数据和所述邻接矩阵数据。
15.一种针对图神经网络的表达特征数据输出装置,其特征在于,所述图神经网络配置有片上网络多节点加速架构,所述片上网络多节点加速架构包括多个计算节点,所述装置包括:
稀疏数据块获取模块,用于获取稀疏数据块;
非零元素确定模块,用于从稀疏数据块中确定出非零元素;所述非零元素包括输入特征数据、邻接矩阵数据和权重矩阵数据;
所述非零元素确定模块,还用于:
从所述稀疏数据块中确定目标非零元素簇;所述目标非零元素簇包含非零元素;
确定多个针对所述目标非零元素簇的第一矩形选取框;多个所述第一矩形选取框的重叠部分包含一个所述非零元素;所述第一矩形选取框具有对应的矩形框形状;
在所述第一矩形选取框中确定首元素,并对所述首元素添加绝对坐标值;
基于所述绝对坐标值和矩形框形状,确定针对所述第一矩形选取框中除首元素以外的其他元素的相对坐标值;
基于所述绝对坐标值和所述相对坐标值提取所述非零元素;
从所述稀疏数据块中确定出除所述目标非零元素簇以外的其他非零元素簇;所述其他非零元素簇为离散状态的元素簇;
确定针对所述其他非零元素簇的第二矩形选取框;
从多个所述第二矩形选取框中提取所述非零元素;
权重数据组划分模块,用于以多个所述计算节点不超过负载上限,且多个所述计算节点之间负载均衡为约束条件,基于强化学习将所述权重矩阵数据划分为多个权重数据组;多个所述权重数据组与多个所述计算节点一一对应;
权重数据组发送模块,用于将所述权重数据组发送至与所述权重数据组对应的计算节点,并将所述输入特征数据和所述邻接矩阵数据发送至所述片上网络多节点加速架构;
表达特征数据输出模块,用于通过所述片上网络多节点加速架构输出针对所述图神经网络的表达特征数据。
16.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如权利要求1-14任一项所述的方法。
17.一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-14任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311785863.XA CN117454930B (zh) | 2023-12-22 | 2023-12-22 | 一种针对图神经网络的表达特征数据输出方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311785863.XA CN117454930B (zh) | 2023-12-22 | 2023-12-22 | 一种针对图神经网络的表达特征数据输出方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117454930A CN117454930A (zh) | 2024-01-26 |
CN117454930B true CN117454930B (zh) | 2024-04-05 |
Family
ID=89589580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311785863.XA Active CN117454930B (zh) | 2023-12-22 | 2023-12-22 | 一种针对图神经网络的表达特征数据输出方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117454930B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106339350A (zh) * | 2016-08-23 | 2017-01-18 | 中国科学院计算技术研究所 | 众核处理器片上访存距离优化的方法及其装置 |
CN115225512A (zh) * | 2022-05-20 | 2022-10-21 | 广东技术师范大学 | 基于节点负载预测的多域服务链主动重构机制 |
CN115842768A (zh) * | 2022-11-22 | 2023-03-24 | 桂林电子科技大学 | 一种基于图神经网络的时空特征融合的sdn路由优化方法 |
CN116451755A (zh) * | 2023-04-04 | 2023-07-18 | 浙江大学 | 一种图卷积神经网络的加速方法及装置、电子设备 |
CN116861966A (zh) * | 2023-09-04 | 2023-10-10 | 苏州浪潮智能科技有限公司 | Transformer模型加速器及其构建和数据处理方法、装置 |
CN116882468A (zh) * | 2023-09-05 | 2023-10-13 | 苏州浪潮智能科技有限公司 | 一种硬件加速器、硬件加速方法和电子设备 |
-
2023
- 2023-12-22 CN CN202311785863.XA patent/CN117454930B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106339350A (zh) * | 2016-08-23 | 2017-01-18 | 中国科学院计算技术研究所 | 众核处理器片上访存距离优化的方法及其装置 |
CN115225512A (zh) * | 2022-05-20 | 2022-10-21 | 广东技术师范大学 | 基于节点负载预测的多域服务链主动重构机制 |
CN115842768A (zh) * | 2022-11-22 | 2023-03-24 | 桂林电子科技大学 | 一种基于图神经网络的时空特征融合的sdn路由优化方法 |
CN116451755A (zh) * | 2023-04-04 | 2023-07-18 | 浙江大学 | 一种图卷积神经网络的加速方法及装置、电子设备 |
CN116861966A (zh) * | 2023-09-04 | 2023-10-10 | 苏州浪潮智能科技有限公司 | Transformer模型加速器及其构建和数据处理方法、装置 |
CN116882468A (zh) * | 2023-09-05 | 2023-10-13 | 苏州浪潮智能科技有限公司 | 一种硬件加速器、硬件加速方法和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117454930A (zh) | 2024-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10943167B1 (en) | Restructuring a multi-dimensional array | |
WO2022083536A1 (zh) | 一种神经网络构建方法以及装置 | |
WO2022022274A1 (zh) | 一种模型训练方法及装置 | |
CN108418718B (zh) | 一种基于边缘计算的数据处理延迟优化方法及系统 | |
CN111176820B (zh) | 一种基于深度神经网络的边缘计算任务的分配方法及装置 | |
CN108268941A (zh) | 深度卷积网络异构架构 | |
US11351458B2 (en) | Method for controlling target object, apparatus, device, and storage medium | |
CN108320018B (zh) | 一种人工神经网络运算的装置及方法 | |
WO2023207487A1 (zh) | 一种电路走线确定方法及相关设备 | |
CN112799599B (zh) | 一种数据存储方法、计算核、芯片和电子设备 | |
CN114065900A (zh) | 数据处理方法和数据处理装置 | |
CN115562878B (zh) | Gpu计算资源的管理方法、装置、电子设备及可读存储介质 | |
CN110651273B (zh) | 一种数据处理方法及设备 | |
WO2023045879A1 (zh) | 内存分配方法、内存分配装置、电子设备和可读存储介质 | |
CN114399028B (zh) | 信息处理方法、图卷积神经网络训练方法及电子设备 | |
CN109937410B (zh) | 核心调度方法和终端 | |
CN109146069B (zh) | 运算装置、运算方法和芯片 | |
CN117454930B (zh) | 一种针对图神经网络的表达特征数据输出方法和装置 | |
CN111753047B (zh) | 一种文本处理方法及装置 | |
WO2023051678A1 (zh) | 一种推荐方法及相关装置 | |
CN115333928B (zh) | 网络预警方法、装置、电子设备及存储介质 | |
CN112166441A (zh) | 数据处理方法、装置及计算机可读存储介质 | |
Wang et al. | C3Meta: a context-aware cloud-edge-end collaboration framework toward green metaverse | |
CN112801276B (zh) | 数据处理方法、处理器及电子设备 | |
CN113536876A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |