CN112561042B - 一种类脑计算机操作系统的神经模型映射方法 - Google Patents

一种类脑计算机操作系统的神经模型映射方法 Download PDF

Info

Publication number
CN112561042B
CN112561042B CN202110222647.9A CN202110222647A CN112561042B CN 112561042 B CN112561042 B CN 112561042B CN 202110222647 A CN202110222647 A CN 202110222647A CN 112561042 B CN112561042 B CN 112561042B
Authority
CN
China
Prior art keywords
neuron
cluster
mapping
logical
clusters
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
Application number
CN202110222647.9A
Other languages
English (en)
Other versions
CN112561042A (zh
Inventor
吕攀
张本浩
杨国青
李红
邓水光
潘纲
吴朝晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN202110222647.9A priority Critical patent/CN112561042B/zh
Publication of CN112561042A publication Critical patent/CN112561042A/zh
Application granted granted Critical
Publication of CN112561042B publication Critical patent/CN112561042B/zh
Priority to PCT/CN2022/077079 priority patent/WO2022183921A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/061Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Theoretical Computer Science (AREA)
  • Molecular Biology (AREA)
  • Neurology (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提出了一种类脑计算机操作系统的神经模型映射方法,包括以下步骤:获取脉冲神经网络模型的有向图G,其节点为逻辑神经元簇v;计算有向图的拓扑序列O(G),并根据类脑计算机的硬件约束,计算逻辑神经元簇v的可映射区域R;根据拓扑序列O(G),对于逻辑神经元簇v,在可映射区域R中选择物理神经元簇做映射。采用本发明的映射方法,可以可靠地将脉冲神经网络映射到类脑计算机中,能满足更大规模的脉冲神经网络的部署和运行,有效减少网络拥塞。

Description

一种类脑计算机操作系统的神经模型映射方法
技术领域
本发明属于类脑计算机技术领域,具体地说涉及一种类脑计算机操作系统的脉冲神经网络模型映射的方法。
背景技术
神经元簇是从人脑的神经元簇概念借鉴过来的,表示神经元的集合。物理神经元是类脑芯片里面的最小计算单元,物理神经元簇是由若干物理神经元组成。逻辑神经元簇是指类脑计算模型中表示的逻辑上的神经元簇,这部分神经元簇还没有分配到物理神经元簇中。
随着类脑计算模型和新型类脑体系架构硬件的发展,类脑计算软件系统的研究也已经有了初步的成果。类脑计算软件中的模型部署系统负责将编译后的计算模型部署到类脑计算芯片。模型部署系统决定着类脑计算硬件平台的易用性和便捷性。
德国海德堡大学研发的BrainScaleS OS采用PyNN建立神经网络模型,提供两种方式将神经元映射到硬件神经元电路中。一种是开发者直接指定硬件神经元坐标,即手动绑定。另外一种是BrainScaleS OS采用贪心算法进行映射,即自动绑定。映射核心流程:(1)神经元根据入度进行降序排序。按照入度由大至小顺序映射神经元。(2)将HICANN芯片根据坐标进行排序,坐标代表了实际物理通信距离,距离晶圆中心最近的芯片会最先被使用。
英国曼彻斯特大学的SpiNNaker软件系统架构,分别为系统主机和含有48颗SpiNNaker芯片PCB板级系统提供软件运行环境。Jonathan Heathcote等人的工作将SpiNNaker系统中映射问题抽象成电路布局设计,以满足ARM处理器资源和内存资源硬件约束为前提,以降低PCB板内及板间数据通信量为目标,采用模拟退火算法实现模型映射。
IBM以TrueNorth芯片为核心,建立了完整的软硬件生态系统。针对模型映射部分,TrueNorth先后分别提出两种映射方案。一种方案是以最小化脉冲通信距离为目标,将逻辑神经元计算核映射到物理神经元计算核。采用了四种算法分别计算出四种结果,选择其中脉冲通信距离最短的方案。四种算法分别是Multilevel Partitioning-driven算法、Analytical Constraint Generation算法、Hierarchical Quadratic Placement算法和Quadric-based Force-directed Analytical算法。另外一种方案以最小化芯片间脉冲通信量、最小化芯片内脉冲通信距离和最大化输入输出为目标,采用启发式的算法将逻辑神经元计算核映射到物理神经元计算核。
英特尔提供了Loihi开发工具链,该工具链提供了基于Python的API、编译器、运行库、软件模拟器和FPGA仿真器。Loihi的编译器首先将脉冲神经网络进行拆分,拆分目标是尽可能地使用最少的神经元计算核,贪心的方式将神经元映射到神经元计算核上。然后由编译器生成最终的二进制文件,该二进制文件除了部署到Loihi芯片上,也可以用来进行仿真测试。
公开号为CN105469143A的中国发明专利,提出了一种基于神经网络动态特征的片上网络资源映射方法,该方法为首先根据一定的初始化规则放入片上网络的N个核中,然后运行SNN网络,计算出每个核的通信量,如果任意两个核间通信量的比值不满足预设值,则交换该两个核的一半神经元重新映射。该方法可以有效均衡负载,减少片上网络的拥塞,但其最终效果过于依赖于初始化规则的优劣且需要多次运行SNN网络来进行优化。
达尔文类脑计算机由66个类脑计算节点组成,每个类脑计算节点由3个达尔文类脑计算芯片组构成,每个达尔文类脑计算芯片组由4个达尔文类脑芯片通过芯片扩展技术组成,芯片组间通过转发逻辑神经元簇实现脉冲通信。芯片组内四个类脑计算芯片统一编址,芯片组间地址空间相互独立。
随着脉冲神经网络模型的规模增大,其对类脑计算资源的需求也随之扩大,原有的面向单芯片的模型映射方式已经无法适应需求。研究基于类脑计算机操作系统的神经模型映射方法,可以更好地支持类脑计算机硬件发展,满足更大规模的脉冲神经网络的部署和运行,是类脑计算机技术发展的必要条件。
发明内容
为解决现有技术上述问题,本发明提出一种类脑计算机操作系统的神经模型映射方法,其根据达尔文类脑计算机的硬件约束进行映射,映射后可以保持原有的模型性能,不需要进行SNN网络的重优化。
本发明提出的一种类脑计算机操作系统的神经模型映射方法,其步骤包括:
(1)获取脉冲神经网络模型的有向图G,其节点为逻辑神经元簇v;
(2)计算有向图的拓扑序列O(G)=v1,v2,v3…vn,n为逻辑神经元簇的个数,并确定 每个逻辑神经元簇v的
Figure 735470DEST_PATH_IMAGE001
Figure 121452DEST_PATH_IMAGE002
,其中
Figure 635610DEST_PATH_IMAGE003
表示指向v的逻辑神经元簇集合,
Figure 499661DEST_PATH_IMAGE002
表示v 指向的逻辑神经元簇集合;
(3)根据类脑计算机的硬件约束,计算逻辑神经元簇v的可映射区域R,R是可映射 的物理神经元簇的集合
Figure 23353DEST_PATH_IMAGE004
,其中下标x、y表示物理神经元簇的坐标;
(4)依照拓扑序列O(G),对于其中的逻辑神经元簇v,在可映射区域R中选择物理神经元簇做映射;
(5)根据以上映射方案,得到逻辑神经元簇到类脑计算机物理神经元簇的映射。
进一步的,在步骤(3)中,根据类脑计算机的跨芯片组脉冲通信约束和芯片组间路由关系计算可映射区域。
进一步的,以上在步骤(4)中,对于芯片组内传输的逻辑神经元簇,按照以下方法选择物理神经元簇做映射:依照拓扑序列O(G),对于其中的逻辑神经元簇v1,计算对应的可映射区域R中每个物理神经元簇的通信功耗,选择功耗最低的物理神经元簇作映射;对于拓扑序列在v1之后的逻辑神经元簇,重复前面步骤,选择可映射的物理神经元簇进行映射。
如果对于拓扑序列中一个逻辑神经元簇v,找不到对应的物理神经元簇作映射的,则映射失败,根据拓扑序列O(G),从v1开始重新映射,具体方法如下:对于逻辑神经元簇v1的可映射区域R,从可映射区域R中找到所有物理神经元簇中横坐标最小的值,从横坐标等于该最小值的物理神经元簇集合中选择纵坐标最小的物理神经元簇做映射;对于拓扑序列在v1之后的逻辑神经元簇,重复以上步骤,选择可映射的物理神经元簇,直到所有的逻辑神经元簇都找到对应的物理神经元簇作映射。
进一步的,在步骤(4)中,对于芯片组内传输的逻辑神经元簇,按照以下方法选择物理神经元簇做映射:对于逻辑神经元簇v1的可映射区域R,从可映射区域R中找到所有物理神经元簇中横坐标最小的值,从横坐标等于该最小值的物理神经元簇集合中选择纵坐标最小的物理神经元簇做映射;对于拓扑序列在v1之后的逻辑神经元簇,重复以上步骤,选择可映射的物理神经元簇,直到所有的逻辑神经元簇都找到对应的物理神经元簇作映射。
进一步的,对于芯片组间传输的逻辑神经元簇,以可映射区域R中的左上为初始点,依次向外扩展层级,每一层中按照从右上到左下为方向选择可映射物理神经元簇。
根据以上映射方案,得到逻辑神经元簇到达尔文类脑计算机物理神经元簇的映射。使用该方法可以可靠的将脉冲神经网络映射到达尔文类脑计算机中,合理应对各种不同规模的模型,有效的减少网络拥塞,并可以扩展到多个计算节点。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例类脑计算机操作系统神经模型映射流程示意图。
图2为本发明实施例达尔文类脑芯片组区域划分示意图。
图3为本发明实施例达尔文类脑计算节点模型映射的示意图。
图4为本发明实施例达尔文类脑芯片组内模型映射效果图。
图5为本发明实施例达尔文类脑芯片输出区域映射顺序示意图。
图6为本发明实施例达尔文类脑芯片输出模型映射效果图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更为清楚,下面将结合附图对本发明实施例中的技术方案进行详细描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本实施例的一种类脑计算机操作系统的神经模型映射方法,包括以下步骤:
首先,获取脉冲神经网络模型的有向图G,其节点为逻辑神经元簇v。
然后,计算有向图的拓扑序列O(G)=v1,v2,v3…vn,n为逻辑神经元簇的个数,并确 定每个逻辑神经元簇v的
Figure 580236DEST_PATH_IMAGE005
Figure 316111DEST_PATH_IMAGE006
,其中
Figure 249432DEST_PATH_IMAGE005
表示指向v的逻辑神经元簇集合,
Figure 387152DEST_PATH_IMAGE006
表示 v指向的逻辑神经元簇集合。并根据类脑计算机的硬件约束,计算逻辑神经元簇v的可映射 区域R,R是可映射的物理神经元簇的集合
Figure 364205DEST_PATH_IMAGE007
,其中下标x、y表示物理神 经元簇的坐标。
最后,根据拓扑序列O(G),对于逻辑神经元簇v,在可映射区域R中选择物理神经元簇做映射。本实施例中,对于芯片组内传输神经元簇,采用脉冲路由距离映射,对于芯片组间传输神经元簇,采用层级螺旋式映射方法。根据以上映射方案,得到逻辑神经元簇到类脑计算机物理神经元簇的映射。
本发明的实施例涉及达尔文类脑计算机和脉冲神经网络模型。具体的说,本发明实施例使用神经模型拆分方法需要符合达尔文类脑计算机的硬件约束。同时,本发明实施例具体实施中采用了2个模型,分别是手写数字识别模型(MNIST)和语音识别模型(VOICE),根据如下所示的实施方式,可以将上述模型映射到达尔文类脑计算机中并正常运行。
根据物理神经元簇的功能不同,将芯片组划分成七个区域,具体如图2所示。图2中 左上角为坐标原点,虚线框为输出神经元簇所在区域和转发神经元簇所在区域,实线框为 普通神经元簇所在区域。输出神经元簇和转发神经元簇功能主要是向类脑计算芯片外部的 片间网络或者其它芯片组发送脉冲。普通神经元簇节点的主要功能是时分复用的方式模拟 神经元,根据脉冲神经元模型处理脉冲,动态地更新膜电压等数据。其中,
Figure 587375DEST_PATH_IMAGE008
对应的是输出 神经元簇所在区域;
Figure 58808DEST_PATH_IMAGE009
对应的是转发神经元簇所在区域;
Figure 316614DEST_PATH_IMAGE010
对应的是普通神经元簇所 在区域。芯片组之间的连接关系如图3所示。
达尔文类脑节点存在多种硬件约束,其中脉冲神经网络模型映射需要满足的约束有芯片组脉冲输出约束、跨芯片组脉冲通信约束和突触连接约束。
芯片组脉冲输出约束是指,只有区域
Figure 480879DEST_PATH_IMAGE011
的普通神经元簇能和区域
Figure 456925DEST_PATH_IMAGE012
的神经元簇建立连接关系。因为发送到区域
Figure 466470DEST_PATH_IMAGE012
的脉冲会通过芯片组边界 到达FPGA实现的外部虚拟转发神经元节点,所以称该连接约束为芯片组脉冲输出约束。
跨芯片组脉冲通讯约束是指,在同一个类脑计算节点内,对于逻辑神经元簇v,其 对应的逻辑神经元簇集合
Figure 93629DEST_PATH_IMAGE013
不能分布在三个不同的芯片组上,其中
Figure 163216DEST_PATH_IMAGE014
表示指向逻 辑神经元簇v的逻辑神经元簇集合。
突触连接约束是指,对于达尔文类脑芯片,突触存储器中神经元数据包用8比特表 示目的逻辑神经元簇节点的相对坐标,前4比特用来表示横坐标,后4比特用来表示纵坐标。 因此,假设逻辑神经元簇v的动态参考原点寄存器表示的坐标是
Figure 626559DEST_PATH_IMAGE015
,逻辑神经元簇v中神 经元所能连接的逻辑神经元簇区域是
Figure 439794DEST_PATH_IMAGE016
。即逻辑神经元簇v指向的逻辑 神经元簇集合
Figure 672192DEST_PATH_IMAGE006
必须在该区域内。
本实施例所采用的脉冲神经网络模型中,MNIST模型的结构是7x4x1,即分3层,总逻辑神经元数为12个。VOICE模型的结构是43x140x150x55x63x18x8x1x1,即分为9层,总逻辑神经元簇个数为479个。
模型映射的输入为逻辑神经元簇之间的连接关系,即模型有向图G。
首先,获取脉冲神经网络模型的有向图G,其节点为逻辑神经元簇v。
然后,计算每个逻辑神经元簇v的
Figure 178260DEST_PATH_IMAGE017
Figure 863319DEST_PATH_IMAGE018
,其中
Figure 480245DEST_PATH_IMAGE017
表示指向v的逻辑神经元 簇集合,
Figure 816417DEST_PATH_IMAGE002
表示v指向的逻辑神经元簇集合。
根据逻辑神经元簇之间的连接关系,计算有向图的拓扑序列O(G)=v1,v2,v3…vn,n为逻辑神经元簇的个数。逻辑神经元簇的拓扑序列可能有多个,具体而言,每次选择入度为0的节点时可能有多个选择,此时从层级最低的节点中选择一个,这样可以尽可能地首先将低层级的节点映射到计算节点中。
根据跨芯片组脉冲通信约束,计算逻辑神经元簇v所能映射的区域R。本实施例中, 当v和
Figure 493386DEST_PATH_IMAGE005
中的逻辑神经元簇均映射在同一个芯片组时,则逻辑神经元簇v的可映射区域为 普通神经元簇所在区域,即
Figure 665742DEST_PATH_IMAGE019
当v和
Figure 820780DEST_PATH_IMAGE014
中的逻辑神经元簇映射在不同的芯片组时,根据芯片组脉冲转发关系 RM来选择相应的区域。具体来说,本实施例给出6种情形:1)如果v映射到芯片组1,
Figure 27770DEST_PATH_IMAGE005
映射 到芯片组2,则逻辑神经元簇v的可映射区域为
Figure 875640DEST_PATH_IMAGE020
;2)如果v映射到芯片组1,
Figure 535292DEST_PATH_IMAGE021
映射到芯 片组3,则逻辑神经元簇v的可映射区域为
Figure 759600DEST_PATH_IMAGE022
;3)如果v映射到芯片组2,
Figure 555517DEST_PATH_IMAGE023
映射到芯片组 1,则逻辑神经元簇v的可映射区域为
Figure 560907DEST_PATH_IMAGE024
;4)如果v映射到芯片组2,
Figure 707855DEST_PATH_IMAGE025
映射到芯片组3,则 逻辑神经元簇v的可映射区域为
Figure 735853DEST_PATH_IMAGE026
;5)如果v映射到芯片组3,
Figure 651857DEST_PATH_IMAGE027
映射到芯片组1,则逻辑 神经元簇v的可映射区域为
Figure 575951DEST_PATH_IMAGE026
;6)如果v映射到芯片组3,
Figure 210194DEST_PATH_IMAGE028
映射到芯片组2,则逻辑神经 元簇v的可映射区域为
Figure 510725DEST_PATH_IMAGE029
为方便确定可映射区域,可以定义RM矩阵如下,
Figure 546815DEST_PATH_IMAGE031
表示芯片组间脉冲路由关系,令i、j分别表示v和
Figure 891077DEST_PATH_IMAGE027
中的逻辑神经元簇映射的 芯片组编号,则RM中第i行第j列对应的元素就是v的可映射区域R(v)。举例来说,如果i=1,j =2,即v映射到芯片组1,
Figure 12617DEST_PATH_IMAGE032
映射到芯片组2,则逻辑神经元簇v的可映射区域为RM(1,2)=
Figure 116839DEST_PATH_IMAGE033
;如果i=2,j=2,即v映射到芯片组2,
Figure 741856DEST_PATH_IMAGE025
映射到芯片组2,则逻辑神经元簇v的可映射区 域为RM(2,2)=
Figure 273331DEST_PATH_IMAGE019
。当
Figure 616588DEST_PATH_IMAGE034
不满足跨芯片组脉冲通信约束时,得到可映射区 域为空,此时找不到v的可映射区域,无法进行后面的映射步骤,映射失败退出。
根据突触连接约束,计算逻辑神经元簇v所能映射的区域。具体方法是遍历逻辑神 经元簇集合
Figure 524501DEST_PATH_IMAGE025
中的逻辑神经元簇,此时对于
Figure 269603DEST_PATH_IMAGE027
中的逻辑神经元簇u,u和v的连接关系 是u指向v。计算u对应的
Figure 221247DEST_PATH_IMAGE006
形成的最小区域R(u),结合跨芯片组脉冲通信约束产生的映 射的区域R(v),取二者交集,可以得到v的可映射区域R。
如果最小区域R(u)小于16x16,那么将其进行扩充,使得扩充后的新的最小区域R(u)矩形中任意一点都能和原最小区域R(u)形成16x16的矩阵,具体区域扩充方法如下:
Figure 51800DEST_PATH_IMAGE036
其中
Figure 497825DEST_PATH_IMAGE037
Figure 97434DEST_PATH_IMAGE038
Figure 705132DEST_PATH_IMAGE039
Figure 22981DEST_PATH_IMAGE040
为计算中间变量,分别表示当前计算的最小区域R(u) 的最小横坐标、最大横坐标、最小纵坐标、最大纵坐标。
Figure 7118DEST_PATH_IMAGE041
表示以(
Figure 976080DEST_PATH_IMAGE037
,
Figure 20259DEST_PATH_IMAGE042
)为左下顶点,以(
Figure 825404DEST_PATH_IMAGE043
,
Figure 613231DEST_PATH_IMAGE040
)为右上顶点的最小区域R(u)。
计算可映射区域的算法伪代码:
输入:逻辑神经元簇v,
Figure 187432DEST_PATH_IMAGE044
Figure 402513DEST_PATH_IMAGE045
Figure 429375DEST_PATH_IMAGE046
表示指向逻辑神经元簇v的逻辑神经元簇集合;
Figure 286472DEST_PATH_IMAGE047
表示逻辑神经元簇v指向的逻辑神经元簇集合;
Figure 715180DEST_PATH_IMAGE048
表示逻辑神经元簇v映射到的类脑计算节点编号;
Figure 87780DEST_PATH_IMAGE049
表示逻辑神经元簇v映射到的芯片组编号;
Figure 867517DEST_PATH_IMAGE050
表示逻辑神经元簇v的横坐标;
Figure 997147DEST_PATH_IMAGE051
表示逻辑神经元簇v的纵坐标;
输出:可映射区域R
步骤1:根据跨芯片组脉冲通信约束,计算逻辑神经元簇v所能映射的区域
Figure 545940DEST_PATH_IMAGE053
RM表示芯片组间脉冲路由关系,令i、j分别表示v和
Figure 368402DEST_PATH_IMAGE054
中的逻辑神经元簇映射 的芯片组编号,则RM中第i行第j列对应的元素就是v的可映射区域。
Figure 369856DEST_PATH_IMAGE055
如果
Figure 303177DEST_PATH_IMAGE056
等于
Figure 440898DEST_PATH_IMAGE048
,则
Figure 683529DEST_PATH_IMAGE057
步骤2:根据突触连接约束,计算逻辑神经元簇v所能映射的区域
Figure 172279DEST_PATH_IMAGE055
Figure 643712DEST_PATH_IMAGE058
Figure 901518DEST_PATH_IMAGE059
Figure 65783DEST_PATH_IMAGE060
Figure 776250DEST_PATH_IMAGE061
Figure 51373DEST_PATH_IMAGE062
Figure 429265DEST_PATH_IMAGE041
向四周以16x16的矩形区域为基准进行扩展
Figure 748120DEST_PATH_IMAGE063
Figure 211462DEST_PATH_IMAGE064
Figure 24698DEST_PATH_IMAGE064
计算出逻辑神经元簇v的可映射区域R后,在可映射区域R中选择合适的物理神经元簇做映射。逻辑神经元簇经过模型拆分分为芯片组内传输的逻辑神经元簇和跨芯片组的逻辑神经元簇。
对于芯片组内传输的逻辑神经元簇,选择方案有两种:一种是基于脉冲路由距离的选择方案,另外一种是顺序选择方案。两种方案各有优势,基于脉冲路由距离的选择方案可以使得脉冲路由距离最短。顺序选择方案则可以使得逻辑神经元簇占用区域更规则,适合较大模型。对于本实施例的MINIST模型来说,规模较小,采用脉冲路由和顺序选择的方案都可以映射成功;对于本实施例中的VOICE模型来说,规模较大,采用脉冲路由的映射方案可能会出现映射失败的情况,因此可以采用顺序映射的方案。
对于芯片组内传输的逻辑神经元簇,首先选择基于脉冲路由距离的映射方法,根 据脉冲路由的距离从可映射区域中选择功耗最小的物理神经元簇做映射。基于脉冲路由距 离的选择方案中,物理神经元簇选择的一个基本依据是脉冲路由的距离。由于类脑计算芯 片片上网络采用XY路由算法,脉冲路由的距离可用曼哈顿距离表示。记v映射的物理神经元 簇和
Figure 257096DEST_PATH_IMAGE014
映射的物理神经元簇的曼哈顿距离为L,功耗与L线性相关,计算可映射区域中所 有的物理神经元簇的功耗后,选择功耗最小的那个物理神经元簇做映射。接着再选择拓扑 序列在v之后的逻辑神经元簇进行上述步骤,直到所有的逻辑神经元簇都能找到对应的物 理神经元簇作映射。
计算逻辑神经元簇节点v到
Figure 497584DEST_PATH_IMAGE005
得到的曼哈顿距离需要考虑4种情况:
(1)逻辑神经元簇u和逻辑神经元簇v被映射在同一个芯片。
(2)逻辑神经元簇u和逻辑神经元簇v被映射在同一个芯片组上,但在不同的芯片上。虽然芯片组是统一编址,但是内部的4颗芯片仍然存在边界。脉冲穿过芯片边界时会经过并行转串行,会有极大的功耗,采用常数C表示这种损耗关系。
(3)逻辑神经元簇节点u和逻辑神经元簇节点v被映射在同一个类脑计算节点,但在不同的芯片组。
(4)逻辑神经元簇节点u和逻辑神经元簇节点v被映射到不同的类脑计算节点。
由于(3)和(4)不在同一个地址空间内,因此不做考虑。主要考虑(1)和(2)所在的地址空间的逻辑神经元簇选择。由于达尔文类脑计算芯片同采用XY路由算法,建立的脉冲路由距离和功耗的关系,具体的公式如下:
Figure 713802DEST_PATH_IMAGE066
如果两个相连的逻辑神经元簇在同一个类脑计算芯片上,脉冲路由的功耗和曼哈 顿距离是线性函数关系。如果两个相连的逻辑神经元簇分布在不同的芯片上,脉冲经过芯 片边界时会有较大的功耗。为此,使用e表示逻辑神经元簇的连接关系,用
Figure 65149DEST_PATH_IMAGE067
表示两个物理 逻辑神经元簇在同一类脑计算芯片组上,用
Figure 417633DEST_PATH_IMAGE068
表示两个物理神经元簇不在同一个类脑 计算芯片组中,即脉冲会穿过芯片边界。公式中
Figure 94602DEST_PATH_IMAGE069
Figure 516225DEST_PATH_IMAGE070
是逻辑神经元簇
Figure 671263DEST_PATH_IMAGE071
的x轴坐标和y轴坐 标,E表示相邻芯片之间的脉冲通信常数,
Figure 878253DEST_PATH_IMAGE072
Figure 460544DEST_PATH_IMAGE073
表示芯片的坐标,由芯片的坐标可以计算 出脉冲要穿越边界的次数。对于达尔文类脑计算芯片来说,有如下矩阵关系:
Figure 120195DEST_PATH_IMAGE074
该矩阵表示的是相邻的类脑计算芯片,脉冲穿越芯片边界次数是2,而对于对角两个芯片,脉冲穿越芯片边界次数是4。举例而言,如果两个物理神经元簇分别在第1个芯片和第2个芯片中,则对应于上述矩阵的第1行第2列的数值2,即脉冲要穿越边界的次数为2;又例,如果两个物理神经元簇分别在第2个芯片和第3个芯片中,则对应于上述矩阵的第2行第3列的数值4,即脉冲要穿越边界的次数为4。
具体映射时,从拓扑序列的第一个逻辑神经元簇v1开始选择对应的物理神经元簇 做映射。已经计算出逻辑神经元簇v1的可映射区域R,根据功耗计算公式,分别计算出R中每 一个物理神经元簇和
Figure 78924DEST_PATH_IMAGE075
中映射的物理神经元簇的通信功耗,从中选择功耗最低的那个 物理神经元簇作为v1的映射。由于v1是拓扑序列中的第一个逻辑神经元簇,没有前置神经 元簇,因此
Figure 140421DEST_PATH_IMAGE075
为空,此时v1可以选择R中的任意一个物理神经元簇做映射。计算好v1可 映射的物理神经元簇之后,再计算v2可映射的物理神经元簇,计算方法同v1的计算方法相 同。此时,若v1指向v2,也就是说
Figure 159193DEST_PATH_IMAGE076
中包含v1,那么需要分别计算出v2对应的可映射区 域R中所有未映射的物理神经元簇与v1映射的物理神经元簇的通信功耗,并从中选择出通 信功耗最低的那个做映射。计算好v2可映射的物理神经元簇之后,再计算v3可映射的物理 神经元簇,以此类推,直到拓扑序列中的所有逻辑神经元簇都能找到对应的物理神经元簇 做映射。
基于脉冲路由距离的选择方案能够很好地应付小型模型,而对于较大模型可能会映射失败。VOICE模型在映射到第三层时,可能会出现映射失败。由于第二层逻辑神经元簇映射时总是贪心地选择脉冲路由距离最短的情况,导致形成了尖峰,使得第三层逻辑神经元簇映射时没有足够的16x16的区域,即无法满足突触连接约束。
如果采用基于脉冲路由距离的映射方法映射时,对于拓扑序列中一个逻辑神经元簇v,找不到对应的物理神经元簇作映射,则映射失败,从拓扑序列O(G)中的v1开始重新映射。本实施例选择顺序映射方法,对于拓扑序列中的逻辑神经元簇v,首先找到可映射区域R中所有横坐标x最小的物理神经元簇集合,从中选择纵坐标y最小的物理神经元簇做映射。接着再选择拓扑序列在v之后的逻辑神经元簇按照以方法类推,直到所有的逻辑神经元簇都能找到对应的物理神经元簇作映射。采用顺序映射的方法,可以使得物理神经元簇占用区域更规则,避免映射失败。
本发明实施例提出的顺序选择方案,具体实施方法是:根据拓扑排序确定的逻辑 神经元簇的映射顺序O(G)依次映射,对于逻辑神经元簇节点v的可映射区域R,首先从可映 射区域R中找到所有物理神经元簇中横坐标最小的值
Figure 558338DEST_PATH_IMAGE077
,然后在可映射区域R中所有横坐 标x等于该固定的
Figure 55178DEST_PATH_IMAGE077
的节点集合,从中选择纵坐标y最小的物理神经元簇。如果不存在这样 的节点,则令
Figure 971181DEST_PATH_IMAGE077
的值加一,重新计算可以映射的物理神经元簇。
以下是针对VOICE模型列举的一个实施例。第三层逻辑神经元簇映射时找不到对应的物理神经元簇,因此映射失败。此时需要使用顺序映射的方法,从O(G)中的v1开始,从v1对应的可映射区域R中找到横坐标最小的值,v1对应的R是Region(0,0,16,16),即为芯片组的左上角区域。最小的横坐标值为0,所以从R中横坐标为0的物理神经元簇集合中找到纵坐标最小的物理神经元簇,也就是坐标为(0,0)对应的物理神经元簇做映射。确定好v1映射的物理神经元簇之后,再进行v2的映射。同样确定最小的横坐标值为0,由于坐标为(0,0)对应的物理神经元簇做映射已经被v1映射,所以选择坐标为(0,1)对应的物理神经元簇做映射。确定好v2映射的物理神经元簇之后,再进行v3的映射,以此类推。对于VOICE模型,顺序选择方案映射结果如图4所示。该方案能够使得每一层尽量地映射在一个矩形区域。可成功地将模型映射芯片组上。
对于芯片组间传输的逻辑神经元簇,对应着输出区域物理神经元簇选择,采用层级螺旋式方法,从右上到左下方式映射,该方法能够有效地应用输出节点过多的情况。采用如图5所示的物理神经元簇选择顺序进行映射,具体选择方式如下:
1)首先初始令层级L=1;
2)从可映射区域中所有横坐标x=L的物理神经元簇中选择纵坐标y最小的物理神经元簇;
3)如果选择出的物理神经元簇纵坐标y>L,则进入4),否则进入6);
4)从可映射区域中所有纵坐标y=L的物理神经元簇中选择横坐标x最大的物理神经元簇;
5)如果选择出的物理神经元簇横坐标x>L,则令L=L+1,进入2);否则进入6);
6)选择该物理神经元簇作映射;
根据该种方法,输出逻辑神经元簇在一个角落,使得和芯片重合的区域更大(16x16的矩形区域)。最终映射的结果如图6所示,能够将第二层的逻辑神经元簇映射到一个16x16的矩形区域内。使用层级螺旋式映射的方法,避免了由于脉冲神经网络模型的有向图中邻层节点过多导致映射失败的情况。

Claims (8)

1.一种类脑计算机操作系统的神经模型映射方法,其特征在于,包括以下步骤:
(1)获取脉冲神经网络模型的有向图G,其节点为逻辑神经元簇v;
(2)计算有向图的拓扑序列O(G)=v1,v2,v3…vn,n为逻辑神经元簇的个数,并确定每个逻辑神经元簇v的
Figure 292624DEST_PATH_IMAGE001
Figure 814873DEST_PATH_IMAGE002
,其中
Figure 389073DEST_PATH_IMAGE003
表示指向v的逻辑神经元簇集合,
Figure 338575DEST_PATH_IMAGE002
表示v指向的逻辑神经元簇集合;
(3)根据类脑计算机的硬件约束,计算逻辑神经元簇v的可映射区域R,R是可映射的物理神经元簇的集合
Figure 365437DEST_PATH_IMAGE004
,其中下标x、y表示物理神经元簇的坐标;
(4)依照拓扑序列O(G),对于其中的逻辑神经元簇v,在可映射区域R中选择物理神经元簇做映射;
(5)根据以上映射方案,得到逻辑神经元簇到类脑计算机物理神经元簇的映射。
2.根据权利要求1所述的映射方法,其特征在于,在步骤(4)中,对于芯片组内传输的逻辑神经元簇,按照以下方法选择物理神经元簇做映射:
(1)依照拓扑序列O(G),对于其中的逻辑神经元簇v1,计算对应的可映射区域R中每个物理神经元簇的通信功耗,选择功耗最低的物理神经元簇作映射;
(2)对于拓扑序列在v1之后的逻辑神经元簇,重复以上步骤,选择可映射的物理神经元簇进行映射。
3.根据权利要求2所述的映射方法,其特征在于,如果对于拓扑序列中一个逻辑神经元簇v,找不到对应的物理神经元簇作映射的,则映射失败,根据拓扑序列O(G),从v1开始重新映射,具体方法如下:
(1)对于逻辑神经元簇v1的可映射区域R,从可映射区域R中找到所有物理神经元簇中横坐标最小的值,从横坐标等于该最小值的物理神经元簇集合中选择纵坐标最小的物理神经元簇做映射;
(2)对于拓扑序列在v1之后的逻辑神经元簇,重复以上步骤,选择可映射的物理神经元簇,直到所有的逻辑神经元簇都找到对应的物理神经元簇作映射。
4.根据权利要求1所述的映射方法,其特征在于,在步骤(4)中,对于芯片组内传输的逻辑神经元簇,按照以下方法选择物理神经元簇做映射:
(1)对于逻辑神经元簇v1的可映射区域R,从可映射区域R中找到所有物理神经元簇中横坐标最小的值,从横坐标等于该最小值的物理神经元簇集合中选择纵坐标最小的物理神经元簇做映射;
(2)对于拓扑序列在v1之后的逻辑神经元簇,重复以上步骤,选择可映射的物理神经元簇,直到所有的逻辑神经元簇都找到对应的物理神经元簇作映射。
5.根据权利要求1所述的映射方法,其特征在于,对于芯片组间传输的逻辑神经元簇,以可映射区域R中的左上为初始点,依次向外扩展层级,每一层中按照从右上到左下为方向选择可映射物理神经元簇。
6.根据权利要求1所述的映射方法,其特征在于,步骤(3)中,根据类脑计算机的跨芯片组脉冲通信约束和芯片组间路由关系计算可映射区域。
7.根据权利要求6所述的映射方法,其特征在于,根据类脑计算机的突触连接约束,遍历逻辑神经元簇集合
Figure 691376DEST_PATH_IMAGE005
中的逻辑神经元簇;对于
Figure 854504DEST_PATH_IMAGE006
中的逻辑神经元簇u,u和v的连接关系是u指向v,计算u对应的
Figure 240486DEST_PATH_IMAGE007
形成的最小区域R(u),结合跨芯片组脉冲通信约束产生的映射的区域R(v),R(u)∩R(v),得到v的可映射区域R。
8.根据权利要求7所述的映射方法,其特征在于,对于最小区域R(u)小于16x16的,对其进行扩充得到新的最小区域R(u),扩充后的新的最小区域R(u)任意一点都能和原最小区域R(u)形成16x16的矩阵。
CN202110222647.9A 2021-03-01 2021-03-01 一种类脑计算机操作系统的神经模型映射方法 Active CN112561042B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110222647.9A CN112561042B (zh) 2021-03-01 2021-03-01 一种类脑计算机操作系统的神经模型映射方法
PCT/CN2022/077079 WO2022183921A1 (zh) 2021-03-01 2022-02-21 一种类脑计算机操作系统的神经模型映射方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110222647.9A CN112561042B (zh) 2021-03-01 2021-03-01 一种类脑计算机操作系统的神经模型映射方法

Publications (2)

Publication Number Publication Date
CN112561042A CN112561042A (zh) 2021-03-26
CN112561042B true CN112561042B (zh) 2021-06-29

Family

ID=75034880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110222647.9A Active CN112561042B (zh) 2021-03-01 2021-03-01 一种类脑计算机操作系统的神经模型映射方法

Country Status (2)

Country Link
CN (1) CN112561042B (zh)
WO (1) WO2022183921A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112561042B (zh) * 2021-03-01 2021-06-29 浙江大学 一种类脑计算机操作系统的神经模型映射方法
CN114338506B (zh) * 2022-03-15 2022-08-05 之江实验室 一种类脑计算机操作系统的神经任务片内路由方法及装置
CN114330698B (zh) * 2022-03-15 2022-08-05 之江实验室 一种类脑计算机操作系统的神经模型存储系统及方法
CN115577353B (zh) * 2022-12-08 2023-04-25 深圳市永达电子信息股份有限公司 基于脑计算机制的网络安全防护方法和系统
CN115879544B (zh) * 2023-02-28 2023-06-16 中国电子科技南湖研究院 一种针对分布式类脑仿真的神经元编码方法及系统
CN117311516B (zh) * 2023-11-28 2024-02-20 北京师范大学 一种运动想象脑电通道选择方法和系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110909869A (zh) * 2019-11-21 2020-03-24 浙江大学 一种基于脉冲神经网络的类脑计算芯片

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10671912B2 (en) * 2016-09-13 2020-06-02 Sap Se Spatio-temporal spiking neural networks in neuromorphic hardware systems
CN106650922B (zh) * 2016-09-29 2019-05-03 清华大学 硬件神经网络转换方法、计算装置、软硬件协作系统
US11062203B2 (en) * 2016-12-30 2021-07-13 Intel Corporation Neuromorphic computer with reconfigurable memory mapping for various neural network topologies
CN109376843B (zh) * 2018-10-12 2021-01-08 山东师范大学 基于fpga的脑电信号快速分类方法、实现方法及装置
CN111882065B (zh) * 2020-08-03 2022-05-03 中国人民解放军国防科技大学 映射脉冲神经网络到类脑计算平台的方法、系统及介质
CN112149815B (zh) * 2020-09-28 2023-04-18 复旦大学 用于大规模类脑计算网络的种群聚类及种群路由方法
CN112260866B (zh) * 2020-10-20 2023-04-07 广东工业大学 一种类脑计算机专用网络拓扑结构设计方法和装置
CN112270406B (zh) * 2020-11-11 2023-05-23 浙江大学 一种类脑计算机操作系统的神经信息可视化方法
CN112561042B (zh) * 2021-03-01 2021-06-29 浙江大学 一种类脑计算机操作系统的神经模型映射方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110909869A (zh) * 2019-11-21 2020-03-24 浙江大学 一种基于脉冲神经网络的类脑计算芯片

Also Published As

Publication number Publication date
CN112561042A (zh) 2021-03-26
WO2022183921A1 (zh) 2022-09-09

Similar Documents

Publication Publication Date Title
CN112561042B (zh) 一种类脑计算机操作系统的神经模型映射方法
US11062203B2 (en) Neuromorphic computer with reconfigurable memory mapping for various neural network topologies
US4967367A (en) Synthetic netlist system and method
US20160196488A1 (en) Neural network computing device, system and method
JP2021511576A (ja) ディープラーニングアクセラレータシステム及びその方法
US20210089696A1 (en) System and method for esl modeling of machine learning
US11567778B2 (en) Neural network operation reordering for parallel execution
CN114492782A (zh) 基于强化学习的神经网络的片上核心编译映射方法及装置
CN110569019A (zh) 数值的随机修约
CN115168281A (zh) 一种基于禁忌搜索算法的神经网络片上映射方法和装置
CN113535381B (zh) 基于改进遗传算法的服务功能链映射方法、装置及设备
CN114564434A (zh) 一种通用多核类脑处理器、加速卡及计算机设备
CN108304261B (zh) 一种基于6D-Torus网络的作业调度方法和装置
US20210232366A1 (en) Dynamic directional rounding
CN113407258A (zh) 一种存算一体架构的自适应资源配置布局布线方法及系统
Mao et al. LrGAN: A compact and energy efficient PIM-Based architecture for GAN training
CN116070682B (zh) 神经元计算机操作系统的snn模型动态映射方法及装置
Cantoni et al. A comparison of homogeneous hierarchical interconnection structures
Borges AlexNet deep neural network on a many core platform
Dang et al. HeterGenMap: An Evolutionary Mapping Framework for Heterogeneous NoC-based Neuromorphic Systems
US20230237011A1 (en) Mapping logical and physical processors and logical and physical memory
CN117688992B (zh) 神经元计算机操作系统的资源映射方法和装置
Funabiki et al. A neural network model for multilayer topological via minimization in a switchbox
US20240185110A1 (en) Distribution of quantum state vector elements across network devices in quantum computing simulation
US20230206048A1 (en) Crossbar-based neuromorphic computing apparatus capable of processing large input neurons and method using the same

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
CB03 Change of inventor or designer information

Inventor after: Lv Pan

Inventor after: Zhang Benhao

Inventor after: Yang Guoqing

Inventor after: Li Hong

Inventor after: Deng Shuiguang

Inventor after: Pan Gang

Inventor after: Wu Chaohui

Inventor before: Li Hong

Inventor before: Yang Guoqing

Inventor before: Zhang Benhao

Inventor before: Lv Pan

Inventor before: Wu Chaohui

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant