CN109165729A - 神经网络的调度方法及系统 - Google Patents

神经网络的调度方法及系统 Download PDF

Info

Publication number
CN109165729A
CN109165729A CN201810957482.8A CN201810957482A CN109165729A CN 109165729 A CN109165729 A CN 109165729A CN 201810957482 A CN201810957482 A CN 201810957482A CN 109165729 A CN109165729 A CN 109165729A
Authority
CN
China
Prior art keywords
branch
neural network
constraint
dispatching algorithm
qos
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
Application number
CN201810957482.8A
Other languages
English (en)
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.)
Zhongke Material (beijing) Technology Co Ltd
Original Assignee
Zhongke Material (beijing) Technology Co Ltd
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 Zhongke Material (beijing) Technology Co Ltd filed Critical Zhongke Material (beijing) Technology Co Ltd
Priority to CN201810957482.8A priority Critical patent/CN109165729A/zh
Publication of CN109165729A publication Critical patent/CN109165729A/zh
Pending legal-status Critical Current

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

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

Abstract

本发明实施例涉及一种神经网络的调度方法及系统,所述方法包括:加载训练好的MV‑net模型,生成对应的精度表和预测表;通过调度算法获取系统的性能/质量的信息数据;获取CPU和GPU缓存的丢失率;根据性能模型和调度算法在满足用户自定义的服务质量QoS和结果质量QoR的约束下,选择合适的分支作为神经网络的实际输出。在并行的进程造成资源占用的情况时,通过调度算法可以动态地重新配置MV‑net,满足不同应用中的QoS约束;在同时满足QoS和QoR的约束下,本发明的调度算法能够动态地根据约束要求配置最合理的MV‑net分支的输出,避免了传统网络映射在硬件中的计算时间太长,无法保证用户对结果实时性的要求。

Description

神经网络的调度方法及系统
技术领域
本发明实施例涉及深度学习技术领域,尤其涉及一种神经网络的调度方法及系统。
背景技术
最近,深度学习技术推动了在轻量级嵌入式和移动系统上视觉和语音应用的迅速发展。利用强大的卷积神经网络(convolutional neural network,CNN)和多层反馈循环神经网络(recurrent neural network,RNN)算法运用在普遍的设备中,如智能手机,轻型机器人,智能监控系统,甚至嵌入式或物联网设备(Internet of things,IOT)。
然而,对于嵌入式系统来说,计算资源和功率传输能力的限制阻碍了系统提供实时的深度学习传输结构,节能异构的(systems on chips,SOC),集成了中央处理器(central processing unit,CPU)和图形处理器(graphics processing unit,GPU),适用于移动设备上的深度学习应用,然而在大规模的深度CNN模型时,功率受限的CPU和GPU在处理能力和内存带宽方面存在缺陷,这将会削弱服务质量(quality of service,QoS),这会阻碍大多对性能敏感的应用。
现有通常采用专用集成电路(application specific integrated circuits,ASIC)或现场可编程门阵列(field programming gate array,FPGA)设计用于神经网络的专用硬件,通过牺牲多功能性而保证具有非常高的能量效率。一种是需要加载到云上进行计算,但这种方法只能在无线通信稳定时才是可行的。还通过为移动设备提供相对简单的CNN模型,但是基于这样网络的应用性能变化大,并且很容易受共享资源占用和系统中其他动态因素的影响。
然而,上述方法很难保证CNN相关应用的QoS。
发明内容
本发明实施例提供了一种神经网络的调度方法及系统,可以实现在满足QoS和QoR的约束的前提下,选择合理的执行路径。
第一方面,本发明实施例提供了一种神经网络的调度方法,包括:
加载训练好的MV-net模型,生成对应的精度表和预测表;
通过调度算法获取系统的性能/质量的信息数据;
获取CPU和GPU缓存的丢失率;
根据性能模型和调度算法在满足用户自定义的服务质量QoS和结果质量QoR的约束下,选择合适的分支作为神经网络的实际输出。
在一个可能的实施方式中,所述根据性能模型和调度算法在满足用户自定义的服务质量QoS和结果质量QoR的约束下,选择合适的分支作为神经网络的实际输出,包括:
通过所述精度表和所述预测表确定多条分支能同时满足所述QoS和所述QoR的约束时,根据预测表确定离输入最近的目标分支和对应的目标地址,根据所述目标分支和所述目标地址将所述MV-net模型加载到GPU上。
在一个可能的实施方式中,所述方法还包括:
当调度算法检测到所述精度表中最深的分支小于所述QoR的约束时,报告违规状态;
或,
当调度算法检测到所述精度表中最浅的分支推测时间大于所述QoS的执行时间时,,报告违规状态。
在一个可能的实施方式中,所述方法还包括:
所述调度算法根据判断完成下一分支的时间是否满足所述QoS的约束,确定是否需要加载所述下一分支的输出层来产生结果。
在一个可能的实施方式中,所述MV-net模型通过如下步骤进行训练:
利用神经网络分支技术在原始的神经网络中加入分支,生产多个独立的子网络;
对所述多个子网络采用多轮微调的方式从上到下进行训练,生成MV-net模型。
在一个可能的实施方式中,所述性能模型,用于计算时间和计算存储器的访问时间。
第二方面,本发明实施例提供了一种神经网络的调度系统,包括:
加载模块,用于加载训练好的MV-net模型,生成对应的精度表和预测表;
获取模块,用于通过调度算法获取系统的性能/质量的信息数据;
所述获取模块,还用于获取CPU和GPU缓存的丢失率;
调度模块,用于根据性能模型和调度算法在满足用户自定义的服务质量QoS和结果质量QoR的约束下,选择合适的分支作为神经网络的实际输出。
在一个可能的实施方式中,所述调度模块,具体用于通过所述精度表和所述预测表确定多条分支能同时满足所述QoS和所述QoR的约束时,根据预测表确定离输入最近的目标分支和对应的目标地址,根据所述目标分支和所述目标地址将所述MV-net模型加载到GPU上。
在一个可能的实施方式中,所述调度模块,还用于当调度算法检测到所述精度表中最深的分支小于所述QoR的约束时,报告违规状态;
或,
当调度算法检测到所述精度表中最浅的分支推测时间大于所述QoS的执行时间时,报告违规状态。
在一个可能的实施方式中,所述调度模块,还用于所述调度算法根据判断完成下一分支的时间是否满足所述QoS的约束,确定是否需要加载所述下一分支的输出层来产生结果。
在一个可能的实施方式中,所述MV-net模型通过如下步骤进行训练:
利用神经网络分支技术在原始的神经网络中加入分支,生产多个独立的子网络;
对所述多个子网络采用多轮微调的方式从上到下进行训练,生成MV-net模型。
在一个可能的实施方式中,所述性能模型,用于计算时间和计算存储器的访问时间。
本实施例提供的神经网络的调度方案,通过加载训练好的MV-net模型,生成对应的精度表和预测表;通过调度算法获取系统的性能/质量的信息数据;获取CPU和GPU缓存的丢失率;根据性能模型和调度算法在满足用户自定义的服务质量QoS和结果质量QoR的约束下,选择合适的分支作为神经网络的实际输出。在并行的进程造成资源占用的情况时,通过调度算法可以动态地重新配置MV-net,满足不同应用中的QoS约束;在同时满足QoS和QoR的约束下,本发明的调度算法能够动态地根据约束要求配置最合理的MV-net分支的输出,避免了传统网络映射在硬件中的计算时间太长,无法保证用户对结果实时性的要求。
附图说明
图1为本发明实施例提供的一种神经网络的调度方法的流程示意图;
图2为本发明实施例提供的训练子网络的算法流程示意图;
图3为本发明实施例提供的生成的预测表和精度表的示意图;
图4为本发明实施例提供的一种神经网络的调度系统的结构示意图;
图5为本发明实施例提供的一种神经网络的调度系统的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
图1为本发明实施例提供了一种神经网络的调度方法的流程示意图,如图1所示,该方法具体包括:
S101、加载训练好的MV-net模型,生成对应的精度表和预测表。
本发明实施例提供的神经网络的调度方法可应用于嵌入式设备,能够同时满足系统对QoS和结果质量(quality to results,QoR)的约束。本实施例涉及的MV-net(Multi-Version Neural Networks)模型,与传统网络模型不同,MV-net具有多个输出结果。
其中,参照图2所示的训练子网络的算法,对所述MV-net模型通过如下子步骤进行训练:
S1011、利用神经网络分支技术在原始的神经网络中加入分支,生产多个独立的子网络;
具体地,计算神经网络的推断时间:
其中,l是卷积层的下标,d是卷积的层数,nl-1是第几层的输入通道的数量,sl是filter的大小,ml是输出特征图的大小。
计算原始神经网络卷积层的计算数用作计算复杂性的估计。
根据相似的计算复杂性,初始神经网络从输出到输出被分为几组。
插入分支点的每层和它们堆叠的底层可以视为一整个子网络,训练这个子网络,对其进行评估,避免特征提取不足。
附加输出层添加到每组末端的插入分支点上,作为预测结果生成的输出层。
通过上述方式,便将一个原始的神经网络转变为了一个MV-net,但仍然需要采用步骤S1012来训练这些独立子网络。
S1012、对所述多个子网络采用多轮微调的方式从上到下进行训练,生成MV-net模型,例如,采用如图2所示的算法对对所述多个子网络采用多轮微调的方式从上到下进行训练。
神经网络被遍历并将其划分为子网络,在神经网络的骨干部分插入的分支作为输出,并存储为独立的模型文件。
从下到上训练分为组的网络层。在这个程序中,首先训练整个底部到插入输出层的网络,然后,后续的层及其分支与已经训练好的底部子网络合并,按前后顺序逐组训练,同时,对于训练好的分支,其支柱层组由后续层重复使用,因此可以通过固定训练好的底部对较深的层进行微调。
为了调度的便利性,被MV-net转换的神经网络的描述文件(prototxt)和参数文件(caffemodle)将存储在一起,并且需要在预测表中查询可以查询它们的地址以进行在线分支选择和执行。
调整完之后,精度表和预测表将会产生,如图3所示,前表用来存储每个分支获得的精度,后续的表用来存储每个神经网络版本的单独执行时间以及下一个分支的起始地址和这一个分支输出层的地址。
S102、通过调度算法获取系统的性能/质量的信息数据。
其中,获取到的性能/质量的信息数据用于后续步骤的调度。
S103、获取CPU和GPU缓存的丢失率。
其中,获取到的CPU和GPU缓存的丢失率具体用于S102中的性能的信息中。
S104、根据性能模型和调度算法在满足用户自定义的服务质量QoS和结果质量QoR的约束下,选择合适的分支作为神经网络的实际输出。
在本实施例中,所述性能模型,用于网络计算时间和计算存储器的访问时间。其中,神经网络的推论总时间T包括计算时间Tc和内存访问时间Tm两部分,其中Tc还包括了处理器缓存访问时间。
计算时间模型:
Vi为神经网络第i层的操作量,该值只与神经网络结构有关。某一特定平台的流处理器吞吐量是固定的。因此,没有其他应用干扰的情况下,对于运行在同一系统上的同一个神经网络,不同输入所需要的计算时间是相同的。
单一任务时存储器访问时间模型:
Vwi为神经网络第i层的参数数量,VD为输入数据量,VI为GPU上神经网络生成的中间激活数据量。
多任务时存储器访问时间模型:
(1)对于要装载到GPU的神经网络的所有参数,其数据块数量为:
V0为32B,Vwi为神经网络第i层的参数数量,VI为GPU上神经网络生成的中间激活数据量。
(2)当存储器服务于其他应用发送的请求时,神经网络的存储器访问请求就会暂停等待冲突延时。该事件发生的概率为:
P0=RCPURGPU(1-Ppri)
Rcpu是CPU应用丢失率,RGPU是GPU应用丢失率。Ppri是存储器先服务于GPU的概率,与应用分配的优先级有关。神经网络的优先级越高,则存储器的访问请求等待时间越短。
(3)假设CPU正在请求i个数据块,且所有请求的优先级都高于GPU的请求,则此时GPU的冲突延时为:
(4)受到同时运行应用影响的GPU请求的预期冲突延时为:
(5)在多任务情形下,神经网络的存储器访问时间为:
T′m=Tm+TΔ=Tm+NTE
TΔ为CPU的存储器请求的冲突延时平均值。
在不同的QoS和QoR约束下MV-net调度算法的流程具体包括:
其一、当调度算法检测到所述精度表中最深的分支小于所述QoR的约束时,报告违规状态;
或,
当调度算法检测所述精度表中最浅的分支推测时间大于所述QoS的执行时间时,报告违规状态。
其二、通过所述精度表和所述预测表确定多条分支能同时满足所述QoS和所述QoR的约束时,根据预测表确定离输入最近的目标分支和对应的目标地址,根据所述目标分支和所述目标地址将所述MV-net模型加载到GPU上。
其三、所述调度算法根据判断完成下一分支的时间是否满足所述QoS的约束,确定是否需要加载所述下一分支的输出层来产生结果。
其中,下一个分支的预测执行时间为:
Tpre为在这个分支输出前已经占用的推断时间,tsolo,i+1和tsolo,i为单独完成网络层i和网络层i+1的时间,∑Vwj为参数,VIj为产生在分支j-1和j的中间激活数据。
本实施例提供的神经网络的调度方法,通过加载训练好的MV-net模型,生成对应的精度表和预测表;通过调度算法获取系统的性能/质量的信息数据;获取CPU和GPU缓存的丢失率;根据性能模型和调度算法在满足用户自定义的服务质量QoS和结果质量QoR的约束下,选择合适的分支作为神经网络的实际输出。在并行的进程造成资源占用的情况时,通过调度算法可以动态地重新配置MV-net,满足不同应用中的QoS约束;在同时满足QoS和QoR的约束下,本发明的调度算法能够动态地根据约束要求配置最合理的MV-net分支的输出,避免了传统网络映射在硬件中的计算时间太长,无法保证用户对结果实时性的要求
图4为本发明实施例提供的一种神经网络的调度系统的结构示意图,如图4所示,该系统具体包括:
加载模块401,用于加载训练好的MV-net模型,生成对应的精度表和预测表;
获取模块402,用于通过调度算法获取系统的性能/质量的信息数据;
所述获取模块402,还用于获取CPU和GPU缓存丢失率;
调度模块403,用于根据性能模型和调度算法在满足用户自定义的服务质量QoS和结果质量QoR的约束下,选择合适的分支作为神经网络的实际输出。
可选地,所述调度模块403,具体用于通过所述精度表和所述预测表确定多条分支能同时满足所述QoS和所述QoR的约束时,根据预测表确定离输入最近的目标分支和对应的目标地址,根据所述目标分支和所述目标地址将所述MV-net模型加载到GPU上。
可选地,所述调度模块403,还用于当调度算法检测到所述精度表中最深的分支小于所述QoR的约束时,报告违规状态;
或,
当调度算法检测到所述精度表中最浅的分支推测时间大于所述QoS的执行时间时,报告违规状态。
可选地,所述调度模块403,还用于所述调度算法根据判断完成下一分支的时间是否满足所述QoS的约束,确定是否需要加载所述下一分支的输出层来产生结果。
可选地,所述MV-net模型通过如下步骤进行训练:
利用神经网络分支技术在原始的神经网络中加入分支,生产多个独立的子网络;
对所述多个子网络采用多轮微调的方式从上到下进行训练,生成MV-net模型。
可选地,所述性能模型,用于计算时间和计算存储器的访问时间。
本实施例提供的神经网络的调度系统可以是如图4中所示的神经网络的调度系统,可执行如图1中神经网络的调度方法中的所有步骤,进而实现图1所示神经网络的调度方法的技术效果,具体请参照图1相关描述,为简洁描述,在此不作赘述。
图5为本发明实施例提供的一种神经网络的调度系统的硬件结构示意图,如图5所示,该神经网络的调度系统具体包括:处理器510、存储器520、收发器530。
处理器510可以是中央处理器(英文:central processing unit,CPU),或者CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(英文:application-specificintegrated circuit,ASIC),可编程逻辑器件(英文:programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logicdevice,CPLD),现场可编程门阵列(英文:field-programmable gate array,FPGA),通用阵列逻辑(英文:generic array logic,GAL)或其任意组合。
存储器520用于存储各种应用,操作系统和数据。存储器520可以将存储的数据传输给处理器510。存储器520可以包括易失性存储器,非易失性动态随机存取内存(英文:nonvolatile random access memory,NVRAM)、相变化随机存取内存(英文:phase changeRAM,PRAM)、磁阻式随机存取内存(英文:magetoresistive RAM,MRAM)等,例如至少一个磁盘存储器件、电子可擦除可编程只读存储器(英文:electrically erasable programmableread-only memory,EEPROM)、闪存器件,例如反或闪存(NOR flash memory)或是反及闪存(NAND flash memory)、半导体器件,例如固态硬盘(英文:solid state disk,SSD)等。存储器520还可以包括上述种类的存储器的组合。
收发器530,用于发送和/或接收数据,收发器530可以是天线等。
所述各器件的工作过程如下:
处理器510,用于加载训练好的MV-net模型,生成对应的精度表和预测表;
处理器510,还用于通过调度算法获取系统的性能/质量的信息数据;
处理器510,还用于获取CPU和GPU缓存的丢失率;
处理器510,还用于根据性能模型和调度算法在满足用户自定义的服务质量QoS和结果质量QoR的约束下,选择合适的分支作为神经网络的实际输出。
可选地,所示处理器510,具体用于通过所述精度表和所述预测表确定多条分支能同时满足所述QoS和所述QoR的约束时,根据预测表确定离输入最近的目标分支和对应的目标地址,根据所述目标分支和所述目标地址将所述MV-net模型加载到GPU上。
可选地,所示处理器510,具体用于当调度算法检测到所述精度表中最深的分支小于所述QoR的约束时,报告违规状态;
或,
当调度算法检测到所述精度表中最浅的分支推测时间大于所述QoS的执行时间时,,报告违规状态。
可选地,所示处理器510,具体用于所述调度算法根据判断完成下一分支的时间是否满足所述QoS的约束,确定是否需要加载所述下一分支的输出层来产生结果。
可选地,所述MV-net模型通过如下步骤进行训练:
利用神经网络分支技术在原始的神经网络中加入分支,生产多个独立的子网络;
对所述多个子网络采用多轮微调的方式从上到下进行训练,生成MV-net模型。
可选地,所述性能模型,用于计算时间和计算存储器的访问时间。
本实施例提供的神经网络的调度系统可以是如图5中所示的神经网络的调度系统,可执行如图1中神经网络的调度方法中的所有步骤,进而实现图1所示神经网络的调度方法的技术效果,具体请参照图1相关描述,为简洁描述,在此不作赘述。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种神经网络的调度方法,其特征在于,包括:
加载训练好的MV-net模型,生成对应的精度表和预测表;
通过调度算法获取系统的性能/质量的信息数据;
获取CPU和GPU缓存的丢失率;
根据性能模型和调度算法在满足用户自定义的服务质量QoS和结果质量QoR的约束下,选择合适的分支作为神经网络的实际输出。
2.根据权利要求1所述的方法,其特征在于,所述根据性能模型和调度算法在满足用户自定义的服务质量QoS和结果质量QoR的约束下,选择合适的分支作为神经网络的实际输出,包括:
通过所述精度表和所述预测表确定多条分支能同时满足所述QoS和所述QoR的约束时,根据预测表确定离输入最近的目标分支和对应的目标地址,根据所述目标分支和所述目标地址将所述MV-net模型加载到GPU上。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当调度算法检测到所述精度表中最深的分支小于所述QoR的约束时,报告违规状态;
或,
当调度算法检测到所述精度表中最浅的分支推测时间大于所述QoS的执行时间时,报告违规状态。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
所述调度算法根据判断完成下一分支的时间是否满足所述QoS的约束,确定是否需要加载所述下一分支的输出层来产生结果。
5.根据权利要求1所述的方法,其特征在于,所述MV-net模型通过如下步骤进行训练:
利用神经网络分支技术在原始的神经网络中加入分支,生产多个独立的子网络;
对所述多个子网络采用多轮微调的方式从上到下进行训练,生成MV-net模型。
6.根据权利要求1所述的方法,其特征在于,所述性能模型,用于计算时间和计算存储器的访问时间。
7.一种神经网络的调度系统,其特征在于,包括:
加载模块,用于加载训练好的MV-net模型,生成对应的精度表和预测表;
获取模块,用于通过调度算法获取系统的性能/质量的信息数据;
所述获取模块,还用于获取CPU和GPU缓存的丢失率;
调度模块,用于根据性能模型和调度算法在满足用户自定义的服务质量QoS和结果质量QoR的约束下,选择合适的分支作为神经网络的实际输出。
8.根据权利要求7所述的系统,其特征在于,所述调度模块,具体用于通过所述精度表和所述预测表确定多条分支能同时满足所述QoS和所述QoR的约束时,根据预测表确定离输入最近的目标分支和对应的目标地址,根据所述目标分支和所述目标地址将所述MV-net模型加载到GPU上。
9.根据权利要求8所述的系统,其特征在于,所述调度模块,还用于当调度算法检测到所述精度表中最深的分支小于所述QoR的约束时,报告违规状态;
或,
当调度算法检测到所述精度表中最浅的分支推测时间大于所述QoS的执行时间时,报告违规状态。
10.根据权利要求8或9所述的系统,其特征在于,所述调度模块,还用于所述调度算法根据判断完成下一分支的时间是否满足所述QoS的约束,确定是否需要加载所述下一分支的输出层来产生结果。
11.根据权利要求7所述的系统,其特征在于,所述MV-net模型通过如下步骤进行训练:
利用神经网络分支技术在原始的神经网络中加入分支,生产多个独立的子网络;
对所述多个子网络采用多轮微调的方式从上到下进行训练,生成MV-net模型。
12.根据权利要求7所述的系统,其特征在于,所述性能模型,用于计算时间和计算存储器的访问时间。
CN201810957482.8A 2018-08-22 2018-08-22 神经网络的调度方法及系统 Pending CN109165729A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810957482.8A CN109165729A (zh) 2018-08-22 2018-08-22 神经网络的调度方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810957482.8A CN109165729A (zh) 2018-08-22 2018-08-22 神经网络的调度方法及系统

Publications (1)

Publication Number Publication Date
CN109165729A true CN109165729A (zh) 2019-01-08

Family

ID=64896365

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810957482.8A Pending CN109165729A (zh) 2018-08-22 2018-08-22 神经网络的调度方法及系统

Country Status (1)

Country Link
CN (1) CN109165729A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110942138A (zh) * 2019-11-13 2020-03-31 华中科技大学 一种混合内存环境下深度神经网络的训练方法和系统
CN111984398A (zh) * 2019-05-22 2020-11-24 富士通株式会社 调度操作的方法及计算机可读介质
CN112799817A (zh) * 2021-02-02 2021-05-14 中国科学院计算技术研究所 一种微服务资源调度系统和方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102118803A (zh) * 2011-04-14 2011-07-06 北京邮电大学 一种基于QoE预测的移动通信系统视频跨层调度方法
US20150193696A1 (en) * 2014-01-06 2015-07-09 Cisco Technology, Inc. Hierarchical event detection in a computer network
CN107273784A (zh) * 2016-04-01 2017-10-20 富士施乐株式会社 图像模式识别装置和方法
CN107767022A (zh) * 2017-09-12 2018-03-06 重庆邮电大学 一种生产数据驱动的动态作业车间调度规则智能选择方法
CN107784282A (zh) * 2017-10-24 2018-03-09 北京旷视科技有限公司 对象属性的识别方法、装置及系统
CN108229343A (zh) * 2017-12-18 2018-06-29 北京市商汤科技开发有限公司 目标对象关键点检测方法、深度学习神经网络及装置
US20180308208A1 (en) * 2017-04-24 2018-10-25 Intel Corporation Compute optimization mechanism for deep neural networks

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102118803A (zh) * 2011-04-14 2011-07-06 北京邮电大学 一种基于QoE预测的移动通信系统视频跨层调度方法
US20150193696A1 (en) * 2014-01-06 2015-07-09 Cisco Technology, Inc. Hierarchical event detection in a computer network
CN107273784A (zh) * 2016-04-01 2017-10-20 富士施乐株式会社 图像模式识别装置和方法
US20180308208A1 (en) * 2017-04-24 2018-10-25 Intel Corporation Compute optimization mechanism for deep neural networks
CN107767022A (zh) * 2017-09-12 2018-03-06 重庆邮电大学 一种生产数据驱动的动态作业车间调度规则智能选择方法
CN107784282A (zh) * 2017-10-24 2018-03-09 北京旷视科技有限公司 对象属性的识别方法、装置及系统
CN108229343A (zh) * 2017-12-18 2018-06-29 北京市商汤科技开发有限公司 目标对象关键点检测方法、深度学习神经网络及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YING WANG等: ""Real-Time Meets Approximate Computing:An Elastic CNN Inference Accelerator with Adaptive Trade-off between Qos and QoR"", 《DAC’17 PROCEEDINGS OF THE 54TH ANNUAL DESIGN AUTOMATION CONFERENCE 2017》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984398A (zh) * 2019-05-22 2020-11-24 富士通株式会社 调度操作的方法及计算机可读介质
CN110942138A (zh) * 2019-11-13 2020-03-31 华中科技大学 一种混合内存环境下深度神经网络的训练方法和系统
CN110942138B (zh) * 2019-11-13 2022-02-15 华中科技大学 一种混合内存环境下深度神经网络的训练方法和系统
CN112799817A (zh) * 2021-02-02 2021-05-14 中国科学院计算技术研究所 一种微服务资源调度系统和方法

Similar Documents

Publication Publication Date Title
CN108260169B (zh) 一种基于QoS保障的服务功能链动态部署方法
CN113055308B (zh) 带宽调度方法、流量传输方法及相关产品
CN113950066A (zh) 移动边缘环境下单服务器部分计算卸载方法、系统、设备
US9858228B2 (en) Dynamic assignment of groups of resources in a peripheral component interconnect express network
Huang et al. DeePar: A hybrid device-edge-cloud execution framework for mobile deep learning applications
CN109165729A (zh) 神经网络的调度方法及系统
CN105900064A (zh) 调度数据流任务的方法和装置
CN110838031A (zh) 一种基于ABtest的数据运营方法和装置
CN110502321A (zh) 一种资源调度方法及系统
CN107454019A (zh) 软件定义网络动态带宽分配方法、装置、设备及存储介质
CN112074818A (zh) 用于能够在区块链网络中访问过去的交易的方法及节点
CN113037800B (zh) 作业调度方法以及作业调度装置
CN111352731A (zh) 在边缘计算网络中分配任务的方法、系统、装置及介质
CN105677447B (zh) 分布式云中基于聚类的时延带宽极小化虚拟机部署方法
TW202207031A (zh) 用於記憶體通道控制器之負載平衡
CN109661671B (zh) 使用边界位图对图像分类的改善
CN103902443B (zh) 一种程序运行性能分析方法及装置
CN109041236B (zh) 一种不同权重业务的无线资源分配方法及装置
CN110324204A (zh) 一种在fpga中实现的高速正则表达式匹配引擎及方法
CN106529679A (zh) 一种机器学习方法及系统
CN115668222A (zh) 一种神经网络的数据处理方法及装置
KR20220024076A (ko) 기계 학습 모델 성능의 최적화
CN111459464B (zh) 节点融合方法、代码生成方法、装置
CN115412401B (zh) 训练虚拟网络嵌入模型及虚拟网络嵌入的方法和装置
CN104424101B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190108

RJ01 Rejection of invention patent application after publication