CN116306943B - 一种面向AIoT的多任务本地协同推理方法及系统 - Google Patents
一种面向AIoT的多任务本地协同推理方法及系统 Download PDFInfo
- Publication number
- CN116306943B CN116306943B CN202310254000.3A CN202310254000A CN116306943B CN 116306943 B CN116306943 B CN 116306943B CN 202310254000 A CN202310254000 A CN 202310254000A CN 116306943 B CN116306943 B CN 116306943B
- Authority
- CN
- China
- Prior art keywords
- model
- local
- aiot
- reasoning
- directed acyclic
- 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 58
- 238000004891 communication Methods 0.000 claims abstract description 38
- 238000005457 optimization Methods 0.000 claims abstract description 28
- 230000008569 process Effects 0.000 claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 10
- 230000011218 segmentation Effects 0.000 claims description 35
- 238000013136 deep learning model Methods 0.000 claims description 34
- 238000013528 artificial neural network Methods 0.000 claims description 25
- 230000005540 biological transmission Effects 0.000 claims description 13
- 125000002015 acyclic group Chemical group 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 4
- 238000010801 machine learning Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种面向AIoT的多任务本地协同推理方法及系统,属于分布式机器学习领域。本发明通过AIoT客户端将客户端本地模型切片推理的中间结果通过并行通信局域网发送至本地服务器,本地服务器使用同一模型切片对中的对应模型切片初始化推理引擎并完成推理过程,随后将结果回传至原客户端。本发明使用局部贪心搜索对协同推理中所用的模型切片进行通信优化,使用内存复用和内存替换加速推理引擎初始化,通过两级并行执行流来执行的协同推理任务。本发明使用本地设备和局域网进行协同推理,避免了传统方法中的隐私泄露和网络波动问题,为大量AIoT客户端提供低延迟的协同推理服务,提升了系统处理协同推理任务的吞吐量。
Description
技术领域
本发明属于分布式机器学习领域,具体涉及智能物联网场景中的本地协同推理。
背景技术
深度学习技术日益广泛地应用在物联网设备上,加速了智能物联网(ArtificialIntelligence of Things,AIoT)的发展。目前,深度神经网络已经广泛应用于人脸识别、智能监控、语音助手和智能机器人等智能物联网应用中。然而,AIoT客户端的计算和存储资源(CPU和内存等)有限,直接将整个深度学习模型在这些设备上进行推理面临速度较慢和内存不足等问题。为了解决这些问题,协同推理通过将AIoT客户端的部分或全部推理任务分配给计算和存储资源更为丰富的云端服务器(端云协同推理)、边缘服务器(端边协同推理)或本地服务器(本地协同推理)来加速推理过程和满足推理过程所需的内存。在面向AIoT的协同推理过程中,模型通常被切分为不同的模型切片,这些切片被放置在AIoT客户端和服务器上,AIoT客户端上模型切片的中间输出作为服务器上模型切片的输入来计算最终推理结果;AIoT客户端也可以将输入样本直接上传至服务器进行推理。
在智能家居、智慧工厂和智能仓储等封闭AIoT应用场景中,存在大量本地AIoT客户端,协同推理可以用于满足这些AIoT客户端的深度学习模型推理需求。在使用端云协同推理、端边协同推理和本地协同推理的三种解决方案中,端云协同推理和端边协同推理都面临隐私泄露的风险。由于深度学习模型的输入样本或模型切片输出中可能带有用户隐私信息,如智能视频监控的输入图像中包含有用户隐私信息,而把这些图像输入深度学习模型得到的模型中间输出可以还原出原始输入图像,将这些隐私数据上传至由第三方运营的边缘服务器或云服务器可能造成隐私泄露。此外,云端服务器离端侧设备较远,一般通过广域网与端侧设备进行通信,延迟较高且波动较大。本地协同推理可以通过局域网将大量AIoT客户端的推理任务分配给本地服务器。由于本地服务器的拥有者可以同时是数据的拥有者,将推理中间数据或输入样本上传至本地服务器的隐私泄露风险较低。另一方面,局域网比广域网更加高效和稳定,降低了数据传输过程中的延迟和波动。然而,在上述AIoT应用场景中,大量AIoT客户端可能在同一段时间内发起协同推理任务,因此系统需要有处理大量协同推理任务的高吞吐量。
目前,中国发明专利CN202211432472公开了一种基于边缘云实现协同推理的方法及系统,其基于边缘云和中心云的端边云协同推理解决方案,需要将数据传输至边缘云服务器或中心云服务器,但智能家居等场景下的AIoT客户端收集了大量的隐私数据,上传至边缘服务器或中心云服务器存在隐私泄露的风险。中国发明专利CN202210666123公开了一种针对神经网络算子融合的端云协同推理方法及装置,以及中国发明专利CN202210650520公开了一种边缘异构场景中的端云协同推理方法和系统,分别为端云协同推理提供了神经网络算子融合优化和模型切分方案优化,但端云协同推理通过广域网将数据传输至云端服务器,存在网络延迟高、波动大且数据隐私无法得到保证等问题。此外,这两件专利都没有考虑服务器并行处理多个协同推理任务的情形,因此不适合有大量AIoT客户端参与的多任务协同推理场景。
发明内容
针对现有技术中存在的技术问题,本发明提供一种面向AIoT的多任务本地协同推理方法及系统,基于本地协同推理能够保障安全,并针对有大量AIoT客户端参与的多任务本地协同推理,能够提升本地服务器的并行处理多个协同推理任务的吞吐量,降低本地协同推理任务的端到端延迟。
本发明解决上述技术问题所采用的技术方案如下:
一种面向AIoT的多任务本地协同推理方法,包括以下步骤:
建立本地服务器,并通过并行通信局域网与AIoT客户端进行通信;本地服务器和AIoT客户端预先将配对的模型切片分别存储在各自的文件系统中,该模型切片为深度学习模型被切分得到的子模型;
对于要处理的协同推理任务,AIoT客户端使用模型切片进行推理,得到推理的中间结果,并将该中间结果通过并行局域网传输至本地服务器;
本地服务器使用对应的模型切片初始化推理引擎,并将收到的中间结果作为该对应的模型切片的输入进行推理并得到推理结果,再将该推理结果回传至AIoT客户端。
优选地,通过局部贪心搜索方法对深度学习模型进行切分,生成通信开销小的模型切片。
优选地,通过局部贪心搜索方法生成模型切片的步骤包括:
输入深度学习模型、原始切分比例和优化范围,其中切分比例是指输入层所在的模型切片所包含的神经网络层的层数占整个深度学习模型的神经网络层层数的比例;
将深度学习模型转化为一个带权有向无环图,图中的每个节点代表一个神经网络层,有向边表示输出的神经网络层到以该输出为输入的神经网络层的传递路径,有向边的权重为边上传递的数据量大小;
根据原始切分比例将有向无环图切分为第一、第二两部分;
在优化范围内,通过局部贪心搜索在第一部分的有向无环图中寻找交换到第二部分有向无环图中可以减少通信开销的节点并交换,得到第一部分有向无环图所包含的节点数占整个有向无环图的比例,该比例为经过通信优化后的模型切分比例;
根据经过通信优化后的模型切分比例对深度学习模型进行切分,生成通信开销小的模型切片。
优选地,计算所述模型切分比例的方法为:
从有向无环图的起始节点开始进行深度优先搜索,根据搜索的先后顺序对有向无环图中的节点进行编号;
根据原始切分比例将有向无环图切分为两部分,计算两部分有向无环图之间的有向边的权重和record_min,将第一部分有向无环图中节点编号的最大值记为i_max;
遍历所述优化范围内所有节点,寻找交换到有向无环图的另一部分后能减少两部分有向无环图之间的有向边的权重和的节点,并将找到的节点交换到有向无环图的另一部分,锁定被交换的节点使之不能再被交换,更新record_min和i_max;
重复进行上个步骤,当record_min不再下降时,得到模型切分比例i_max/N,N为节点总数。
优选地,本地服务器使用两级并行执行流来执行协同推理任务,以降低处理任务的延迟;该两级并行执行流包含数据传输和服务器计算两个流水级;若干个包含所述流水级的执行流独立并行执行协同推理任务,其中同一执行流的同一流水级串行执行任务。
优选地,在处理协同推理任务之前,本地服务器向每个AIoT客户端下发初始负载均衡策略,该初始负载均衡策略的生成方法包括:每个AIoT客户端随机选择执行流,并将输入样本直接上传至本地服务器,由本地服务器完成整个深度学习模型的推理过程后将推理结果返回至各AIoT客户端。
优选地,本地服务器使用内存复用和内存替换降低推理引擎初始化的延迟,内存复用的方法为:将经常使用的模型切片保存在本地服务器的内存中,当推理引擎再次使用该模型切片时直接从内存中调用;内存替换的方法为:将不经常使用的模型切片替换出本地服务器的内存,减少内存占用;其中,当使用频率超过一设定值时判为经常使用,否则判为不经常使用。
优选地,本地服务器使用一个两层LRU缓存来实现内存复用和内存替换,该两层LRU缓存由每个执行流的本地LRU缓存和所有执行流共享的全局LRU缓存构成。
优选地,内存复用和内存替换的步骤包括:
当一个执行流需要进行推理引擎初始化时,首先从本地LRU缓存中寻找对应的模型切片;
若从本地LRU缓存中找到了对应的模型切片,则直接使用该本地LRU缓存中的模型切片来初始化推理引擎,并将该模型切片移至本地LRU缓存中LRU链表的表头;
若从本地LRU缓存中未找到对应的模型切片,则从全局LRU缓存中寻找对应的模型切片;
若从全局LRU缓存中找到了对应的模型切片,则直接使用该全局LRU缓存的模型切片来初始化推理引擎,并将该模型切片移至全局LRU缓存中LRU链表的表头;
若从全局LRU缓存中未找到对应的模型切片,则从文件系统中读取对应的模型切片来进行推理引擎初始化,并将该读取的模型切片保存在该执行流的本地LRU缓存的LRU链表的表头,LRU链表中已经保存的模型切片均向表尾移动一位;
若LRU链表已满,则表位的模型切片被替换出内存。
优选地,全局LRU缓存支持预取功能,包括:在新的负载均衡策略被下发至AIoT客户端之前,若即将使用的模型切片不在全局LRU缓存中,则预先将即将使用的模型切片读入全局LRU缓存并保存在全局LRU缓存的LRU链表的表头,LRU链表中保存的其他模型切片均向表尾移动一位;若LRU链表已满则将表尾的模型切片替换出内存;若即将使用的模型切片在全局LRU缓存中,则无需操作。
一种面向AIoT的多任务本地协同推理系统,包括:本地服务器和AIoT客户端,本地服务器通过并行通信局域网与AIoT客户端进行通信;本地服务器和AIoT客户端预先将配对的模型切片分别存储在各自的文件系统中,该模型切片为将深度学习模型按一定比例切分后得到的子模型;
其中,对于要处理的协同推理任务,AIoT客户端使用模型切片进行推理,得到推理的中间结果,并将该中间结果通过并行局域网传输至本地服务器;本地服务器使用对应的模型切片初始化推理引擎,并将收到的中间结果作为该对应的模型切片的输入进行推理并得到推理结果,再将该推理结果回传至AIoT客户端。
与现有技术相比,本发明的积极效果为:
(1)传统的端云协同推理系统和端边协同推理系统使用第三方提供的服务器,隐私安全难以得到保障,本发明基于本地协同推理系统,能保证多个本地AIoT客户端进行推理时的隐私安全;
(2)传统的端云协同推理系统通过广域网传输数据,传输延迟高且波动大,本发明通过局域网传输数据,传输延迟低且更稳定;
(3)传统的协同推理系统没有对系统处理协同推理任务的吞吐量进行优化,本发明通过综合使用基于局部贪心搜索的通信优化、内存复用与内存替换和两级并行执行流来提升多任务协同系统处理协同推理任务的吞吐量。
附图说明
图1为本发明提出的一种面向AIoT的多任务本地协同推理系统架构图;
图2为本发明的两级并行执行流模式图;
图3为本发明的两级LRU缓存图;
图4为本发明的模型切分流程图。
具体实施方式
下面通过实例对本发明作进一步的说明,但不以任何方式限制本发明的范围。
如图1所示,本发明实施例提出一种面向AIoT的多任务本地协同推理系统,主要包括本地服务器、并行通信局域网和AIoT客户端;其中,并行通信局域网可以支持若干个AIoT客户端并行地与本地服务器进行通信,但支持的数目可能少于AIoT客户端的总数;本地服务器和AIoT客户端预先将若干对模型切片分别存储在各自的文件系统中;模型切片为将深度学习模型按一定比例切分后得到的子模型。该实施例中AIoT客户端由智能视频监控系统、人脸识别系统、智能语音助手和智能机器人,AIoT客户端通过Wi-Fi 6或有线局域网提供的并行通信通道与本地服务器进行数据传输。
在本系统中,对一个本地协同推理任务的执行步骤包括:
1)AIoT客户端首先使用一个本地模型切片进行推理得到推理的中间结果,中间结果通过并行局域网传输至本地服务器;
2)本地服务器使用对应的模型切片初始化推理引擎并将收到的中间结果作为对应模型切片的输入进行推理并得到推理结果;对应模型切片是指同一对模型切片中的另一个模型切片;
3)推理结果最终被回传至原客户端。
在本地协同推理任务的执行过程中,本地服务器上推理引擎需要频繁初始化的原因是不同的AIoT客户端可能使用不同种类的深度学习模型进行推理,从而本地服务器在收到不同AIoT客户端的中间数据时,可能需要根据其模型类型进行重新初始化;而AIoT客户端上的模型切片在不需要频繁切换的情况下可以重复使用已经初始化的推理引擎。
本地协同推理任务的端到端延迟为客户端本地推理延迟、中间结果传输的通信延迟、本地服务器初始化推理引擎的初始化延迟、本地服务器推理引擎的推理延迟以及推理结果传回原客户端的回传延迟之和。为了降低本地协同推理任务的端到端延迟,提升系统处理协同推理任务的吞吐量,作为优选的实施方式,本系统通过局部贪心搜索的方法生成在协同推理时通信开销较小的模型切片,以减少协同推理任务的通信延迟;使用内存重用和内存替换来降低推理引擎初始化的延迟;使用两级并行执行流来执行协同推理任务,以降低本地服务器处理任务的延迟。
作为一种优选的实施方式,使用局部贪心搜索方法对模型进行切片的步骤包括:
输入数据:待切分的深度学习模型、原始切分比例和优化范围。
处理过程:局部贪心搜索方法将待切分的深度学习模型转化为一个有向无环图;根据原始切分比例将有向无环图切分为两部分;在优化范围内,通过贪心搜索在两部分有向无环图中寻找交换到另一部分有向无环图中可以减少通信开销的节点并交换,最后得到的有向无环图的第一部分所包含的节点数占整个有向无环图的比例即为经过通信优化后的模型切分比例。
输出数据:为一个经过通信优化的模型切分比例,用于切分待切分的深度学习模型,来生成通信开销较小的模型切片。模型切分比例为将模型切分后,模型输入层所在的模型切片中包含的神经网络层的层数占整个模型神经网络层层数的比例(即第一部分所占比例)。
针对使用局部贪心搜索方法对模型进行切片,以下说明具体的处理流程:
本地服务器对每一个AIoT客户端所使用的深度学习模型基于V个用户自定的原始切分比例使用局部贪心搜索方法生成经过通信优化的V个模型切分比例,并使用新生成的V个模型切分比例将模型切分为V对模型切片并将每对模型切片的第一部分下发至使用该模型的AIoT客户端;在切分过程中,本地服务器通过局部贪心搜索方法寻找通信开销较小的模型切分比例;对于第k(0≤k<K)个AIoT客户端所使用的所使用的深度学习模型Mk,本地服务器基于V个原始切分比例Sk0~SkV-1和优化范围O寻找V个经过通信优化的模型切分比例S’k0~S’kV-1,模型切分比例为切分后第一部分模型中包含的神经网络层的层数占整个模型中神经网络层的层数的比例。当切分比例为0时,AIoT客户端将输入样本上传至本地服务器并输入整个模型进行推理;当切分比例为1时,AIoT客户端在本地完成整个模型的推理。在第k个AIoT客户端进行协同推理之前,本地服务器将模型Mk使用切分比例S’k0~S’kV-1切分为V对模型切片,并将每对模型切片的第一部分下发至第k个AIoT客户端。
如图4所示,基于一个给定原始模型切分比例Skv(0≤v<V)和一个优化范围Ok对深度学习模型Mk模型切片进行通信优化的步骤为:
i.将深度学习模型Mk转化为带权有向无环图,其中每一个神经网络层为有向无环图的一个节点,若一个神经网络层的输出为另一个神经网络层的输入,则在有向无环图中加入从输出所在网络层对应的输出节点到输入所在神经网络层对应的输入节点的有向边,有向边的权重为从输出节点到输入节点所传递的数据量大小;
ii.从有向无环图的起始输入节点开始进行深度优先搜索,按节点在搜索过程中被遇到的先后顺序依次给各节点编号,不失一般性,设各节点的编号i满足0≤i<N,N为正整数;
iii.基于给定的原始切分比例Skv将有向无环图图切分为两部分:第一部分包含编号i满足0<i<ceil(SkvN)的节点,第二部分包含编号i满足ceil(SkvN)≤i<N的节点,其中ceil为向上取整函数,它的返回值为大于输入值的最小整数值,计算第一部分有向无环图和第二部分有向无环图之间有向边的权重和并记录为record_min,将第一部分有向无环图中节点编号的最大值记录为i_max;
iv.基于给定的优化范围Ok对第iii步中原始切分方案使用局部贪心搜索,寻找通信开销更小的切分方案,在搜索过程中遍历编号i满足ceil(SkvN)-Ok<i=<ceil(SkvN)+Ok的节点,对于每一个遇到的节点:
a)若其编号i满足i<ceil(SkvN),则将该节点和其在第一部分有向无环图中的后继节点交换至有向无环图的第二部分;若其编号i满足i≥ceil(SkvN),则将该节点和其在第二部分有向无环图中的前继节点交换至有向无环图的第一部分;
b)计算交换过后第一个有向无环图与第二个有向无环图之间有向边的权重和
record_min’,若record_min’小于record_min,则将record_min替换为新的权重和,将i_max替换为新权重和对应第一部分有向无环图节点编号的最大值;取消交换;
v.将record_min和i_max对应的节点进行实际交换,锁定所有交换过的节点;若record_min小于上一轮的record_min,则重复步骤iv;否则,返回经过优化的模型切分比例S’ kv,其中S’ kv的计算公式为:
在完成模型切片后,本地服务器向每个AIoT客户端下发初始负载均衡策略,优选的一种初始负载均衡策略的生成方案为:每个AIoT客户端随机选择执行流,并将输入样本直接上传至本地服务器,由本地服务器完成整个深度学习模型的推理过程后将推理结果返回至各AIoT客户端。
本地服务器接收来自各AIoT客户端的协同推理任务,各执行流按图2所示的两级并行执行流执行接收的任务,并使用图3所示的两层LRU缓存管理所使用的模型切片。
作为一种优选的实施方式,如图2所示,并行执行流包含数据传输和服务器计算两个流水级,若干个包含流水级的执行流可以互不干涉地并行执行协同推理任务;其中同一执行流的同一流水级串行地执行任务。
本地服务器运行多个并行执行流接收并处理来自AIoT客户端的协同推理任务,每个执行流被划分为数据传输和服务器计算两个流水级,其中服务器计算流水级包含推理引擎初始化和使用初始化后的推理引擎进行推理的过程。由于推理结果占用空间较小,传输时间较短,按已有的公开技术资料该过程在分析过程中可以省略。通过限制服务器上运行的并行执行流的数目,能使并行执行流之间的干涉可以忽略。具体而言,用户可以通过在比较不同数目的执行流并行执行任务时的平均延迟和单个执行流执行相同任务时的平均延迟来确定并行执行流的数目,所确定的并行执行流数目需要满足前者相对后者的变化可以忽略。
作为一种优选的实施方式,内存复用将经常使用的模型切片保存在本地服务器的内存中,以消除初始化推理引擎时重新从文件系统读入模型切片的时间开销。内存替换将不常用的模型切片替换出本地服务器的内存,从而减少内存占用,以使得经常使用的模型切片能保存在内存中。
如图3所示,本地服务器使用一个两层LRU缓存来实现内存复用和内存替换。两层LRU缓存由每个执行流的本地LRU缓存和所有执行流共享的全局LRU缓存构成。当一个执行流需要进行推理引擎初始化时,它首先尝试从本地LRU缓存中寻找对应的模型切片,若找到则直接使用该本地LRU缓存中的模型切片来初始化推理引擎,并将该模型切片移至本地LRU缓存中LRU链表的表头;否则尝试从全局LRU缓存中寻找对应的模型切片,若找到则直接使用该全局LRU缓存模型切片来初始化推理引擎,并将该模型切片移至全局LRU缓存中LRU链表的表头;否则从文件系统中读取对应的模型切片来进行推理引擎初始化,并将该读取的模型切片保存在该执行流的本地LRU缓存的LRU链表的表头,LRU链表中已经保存的模型切片均向表尾移动一位,若LRU链表已满则表尾的模型切片被替换出内存。
全局LRU缓存还支持预取功能,即在新的负载均衡策略被下发至AIoT客户端之前,若即将使用的模型切片不在全局LRU缓存中则预先将即将使用的模型切片读入全局LRU缓存并保存在全局LRU缓存的LRU链表的表头,LRU链表中保存的其他模型切片均向表尾移动一位,若LRU链表已满则将表尾的模型切片替换出内存;若即将使用的模型切片在全局LRU缓存中,则不需要进行任何操作。
本申请实施例对AIoT客户端选择执行流的方式不做限制。
虽然本发明已以实施例公开如上,然其并非用以限定本发明,本领域的普通技术人员对本发明的技术方案进行的适当修改或者等同替换,均应涵盖于本发明的保护范围内,本发明的保护范围以权利要求所限定者为准。
Claims (8)
1.一种面向AIoT的多任务本地协同推理方法,其特征在于,包括以下步骤:
建立本地服务器,并通过并行通信局域网与AIoT客户端进行通信;本地服务器和AIoT客户端预先将配对的模型切片分别存储在各自的文件系统中,该模型切片为深度学习模型被切分得到的子模型;
对于要处理的协同推理任务,AIoT客户端使用模型切片进行推理,得到推理的中间结果,并将该中间结果通过并行局域网传输至本地服务器;
本地服务器使用对应的模型切片初始化推理引擎,并将收到的中间结果作为该对应的模型切片的输入进行推理并得到推理结果,再将该推理结果回传至AIoT客户端;
通过局部贪心搜索方法对深度学习模型进行切分,步骤包括:
输入深度学习模型、原始切分比例和优化范围,其中切分比例是指输入层所在的模型切片所包含的神经网络层的层数占整个深度学习模型的神经网络层层数的比例;
将深度学习模型转化为一个带权有向无环图,图中的每个节点代表一个神经网络层,有向边表示输出的神经网络层到以该输出为输入的神经网络层的传递路径,有向边的权重为边上传递的数据量大小;
根据原始切分比例将有向无环图切分为第一、第二两部分;
在优化范围内,通过局部贪心搜索在第一部分的有向无环图中寻找交换到第二部分有向无环图中可以减少通信开销的节点并交换,得到第一部分有向无环图所包含的节点数占整个有向无环图的比例,该比例为经过通信优化后的模型切分比例;
根据经过通信优化后的模型切分比例对深度学习模型进行切分,生成通信开销小的模型切片;
计算所述模型切分比例的方法为:
从有向无环图的起始节点开始进行深度优先搜索,根据搜索的先后顺序对有向无环图中的节点进行编号;
根据原始切分比例将有向无环图切分为两部分,计算两部分有向无环图之间的有向边的权重和record_min,将第一部分有向无环图中节点编号的最大值记为i_max;
遍历所述优化范围内所有节点,寻找交换到有向无环图的另一部分后能减少两部分有向无环图之间的有向边的权重和的节点,并将找到的节点交换到有向无环图的另一部分,锁定被交换的节点使之不能再被交换,更新record_min和i_max;
重复进行上个步骤,当record_min不再下降时,得到模型切分比例i_max/N,N为节点总数。
2.如权利要求1所述的方法,其特征在于,本地服务器使用两级并行执行流来执行协同推理任务,以降低处理任务的延迟;该两级并行执行流包含数据传输和服务器计算两个流水级;若干个包含所述流水级的执行流独立并行执行协同推理任务,其中同一执行流的同一流水级串行执行任务。
3.如权利要求1所述的方法,其特征在于,在处理协同推理任务之前,本地服务器向每个AIoT客户端下发初始负载均衡策略,该初始负载均衡策略的生成方法包括:每个AIoT客户端随机选择执行流,并将输入样本直接上传至本地服务器,由本地服务器完成整个深度学习模型的推理过程后将推理结果返回至各AIoT客户端。
4.如权利要求1所述的方法,其特征在于,本地服务器使用内存复用和内存替换降低推理引擎初始化的延迟;内存复用的方法为:将经常使用的模型切片保存在本地服务器的内存中,当推理引擎再次使用该模型切片时直接从内存中调用;内存替换的方法为:将不经常使用的模型切片替换出本地服务器的内存,减少内存占用;其中,当使用频率超过一设定值时判为经常使用,否则判为不经常使用。
5.如权利要求4所述的方法,其特征在于,本地服务器使用一个两层LRU缓存来实现内存复用和内存替换,该两层LRU缓存由每个执行流的本地LRU缓存和所有执行流共享的全局LRU缓存构成。
6.如权利要求5所述的方法,其特征在于,内存复用和内存替换的步骤包括:
当一个执行流需要进行推理引擎初始化时,首先从本地LRU缓存中寻找对应的模型切片;
若从本地LRU缓存中找到了对应的模型切片,则直接使用该本地LRU缓存中的模型切片来初始化推理引擎,并将该模型切片移至本地LRU缓存中LRU链表的表头;
若从本地LRU缓存中未找到对应的模型切片,则从全局LRU缓存中寻找对应的模型切片;
若从全局LRU缓存中找到了对应的模型切片,则直接使用该全局LRU缓存的模型切片来初始化推理引擎,并将该模型切片移至全局LRU缓存中LRU链表的表头;
若从全局LRU缓存中未找到对应的模型切片,则从文件系统中读取对应的模型切片来进行推理引擎初始化,并将该读取的模型切片保存在该执行流的本地LRU缓存的LRU链表的表头,LRU链表中已经保存的模型切片均向表尾移动一位;
若LRU链表已满,则表位的模型切片被替换出内存。
7.如权利要求6所述的方法,其特征在于,全局LRU缓存支持预取功能,包括:在新的负载均衡策略被下发至AIoT客户端之前,若即将使用的模型切片不在全局LRU缓存中,则预先将即将使用的模型切片读入全局LRU缓存并保存在全局LRU缓存的LRU链表的表头,LRU链表中保存的其他模型切片均向表尾移动一位;若LRU链表已满则将表尾的模型切片替换出内存;若即将使用的模型切片在全局LRU缓存中,则无需操作。
8.一种面向AIoT的多任务本地协同推理系统,其特征在于,包括:本地服务器和AIoT客户端,本地服务器通过并行通信局域网与AIoT客户端进行通信;本地服务器和AIoT客户端预先将配对的模型切片分别存储在各自的文件系统中,该模型切片为将深度学习模型按一定比例切分后得到的子模型;
其中,对于要处理的协同推理任务,AIoT客户端使用模型切片进行推理,得到推理的中间结果,并将该中间结果通过并行局域网传输至本地服务器;本地服务器使用对应的模型切片初始化推理引擎,并将收到的中间结果作为该对应的模型切片的输入进行推理并得到推理结果,再将该推理结果回传至AIoT客户端;
通过局部贪心搜索方法对深度学习模型进行切分,步骤包括:
输入深度学习模型、原始切分比例和优化范围,其中切分比例是指输入层所在的模型切片所包含的神经网络层的层数占整个深度学习模型的神经网络层层数的比例;
将深度学习模型转化为一个带权有向无环图,图中的每个节点代表一个神经网络层,有向边表示输出的神经网络层到以该输出为输入的神经网络层的传递路径,有向边的权重为边上传递的数据量大小;
根据原始切分比例将有向无环图切分为第一、第二两部分;
在优化范围内,通过局部贪心搜索在第一部分的有向无环图中寻找交换到第二部分有向无环图中可以减少通信开销的节点并交换,得到第一部分有向无环图所包含的节点数占整个有向无环图的比例,该比例为经过通信优化后的模型切分比例;
根据经过通信优化后的模型切分比例对深度学习模型进行切分,生成通信开销小的模型切片;
计算所述模型切分比例的方法为:
从有向无环图的起始节点开始进行深度优先搜索,根据搜索的先后顺序对有向无环图中的节点进行编号;
根据原始切分比例将有向无环图切分为两部分,计算两部分有向无环图之间的有向边的权重和record_min,将第一部分有向无环图中节点编号的最大值记为i_max;
遍历所述优化范围内所有节点,寻找交换到有向无环图的另一部分后能减少两部分有向无环图之间的有向边的权重和的节点,并将找到的节点交换到有向无环图的另一部分,锁定被交换的节点使之不能再被交换,更新record_min和i_max;
重复进行上个步骤,当record_min不再下降时,得到模型切分比例i_max/N,N为节点总数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310254000.3A CN116306943B (zh) | 2023-03-16 | 2023-03-16 | 一种面向AIoT的多任务本地协同推理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310254000.3A CN116306943B (zh) | 2023-03-16 | 2023-03-16 | 一种面向AIoT的多任务本地协同推理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116306943A CN116306943A (zh) | 2023-06-23 |
CN116306943B true CN116306943B (zh) | 2023-10-17 |
Family
ID=86837480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310254000.3A Active CN116306943B (zh) | 2023-03-16 | 2023-03-16 | 一种面向AIoT的多任务本地协同推理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116306943B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625361A (zh) * | 2020-05-26 | 2020-09-04 | 华东师范大学 | 一种基于云端服务器和IoT设备协同的联合学习框架 |
WO2020233257A1 (zh) * | 2019-07-12 | 2020-11-26 | 之江实验室 | 一种无患者数据共享的多中心生物医学数据协同处理系统及方法 |
CN112287609A (zh) * | 2020-12-28 | 2021-01-29 | 之江实验室 | 一种面向机器人任务划分的端、边、云协同计算装置 |
CN112990018A (zh) * | 2021-03-18 | 2021-06-18 | 江苏边智科技有限公司 | 一种动态变化网络环境下深度学习模型的加速执行方法 |
CN114417417A (zh) * | 2022-01-24 | 2022-04-29 | 山东大学 | 一种基于联邦学习的工业物联网隐私保护系统及方法 |
CN114626552A (zh) * | 2022-03-24 | 2022-06-14 | 阿里巴巴(深圳)技术有限公司 | 机器学习模型的切分方法和装置 |
CN114723057A (zh) * | 2022-03-31 | 2022-07-08 | 北京理工大学 | 一种用于多接入边缘计算系统的神经网络协同推理方法 |
CN115062784A (zh) * | 2022-06-13 | 2022-09-16 | 中国科学院软件研究所 | 针对神经网络算子融合的端云协同推理方法及装置 |
CN115130649A (zh) * | 2022-04-08 | 2022-09-30 | 中国科学院软件研究所 | 一种面向流水线分布式端云协同推理的深度学习模型划分方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160269247A1 (en) * | 2015-03-13 | 2016-09-15 | Nec Laboratories America, Inc. | Accelerating stream processing by dynamic network aware topology re-optimization |
KR102585591B1 (ko) * | 2021-06-23 | 2023-10-10 | 한국과학기술원 | 이기종 프로세서 기반 엣지 시스템에서 slo 달성을 위한 인공지능 추론 스케쥴러 |
-
2023
- 2023-03-16 CN CN202310254000.3A patent/CN116306943B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020233257A1 (zh) * | 2019-07-12 | 2020-11-26 | 之江实验室 | 一种无患者数据共享的多中心生物医学数据协同处理系统及方法 |
CN111625361A (zh) * | 2020-05-26 | 2020-09-04 | 华东师范大学 | 一种基于云端服务器和IoT设备协同的联合学习框架 |
CN112287609A (zh) * | 2020-12-28 | 2021-01-29 | 之江实验室 | 一种面向机器人任务划分的端、边、云协同计算装置 |
CN112990018A (zh) * | 2021-03-18 | 2021-06-18 | 江苏边智科技有限公司 | 一种动态变化网络环境下深度学习模型的加速执行方法 |
CN114417417A (zh) * | 2022-01-24 | 2022-04-29 | 山东大学 | 一种基于联邦学习的工业物联网隐私保护系统及方法 |
CN114626552A (zh) * | 2022-03-24 | 2022-06-14 | 阿里巴巴(深圳)技术有限公司 | 机器学习模型的切分方法和装置 |
CN114723057A (zh) * | 2022-03-31 | 2022-07-08 | 北京理工大学 | 一种用于多接入边缘计算系统的神经网络协同推理方法 |
CN115130649A (zh) * | 2022-04-08 | 2022-09-30 | 中国科学院软件研究所 | 一种面向流水线分布式端云协同推理的深度学习模型划分方法和装置 |
CN115062784A (zh) * | 2022-06-13 | 2022-09-16 | 中国科学院软件研究所 | 针对神经网络算子融合的端云协同推理方法及装置 |
Non-Patent Citations (1)
Title |
---|
面向边缘智能产业的工业大数据服务研究;孙立;;信息与电脑(理论版)(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116306943A (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Deep reinforcement learning based resource management for DNN inference in industrial IoT | |
CN113220457A (zh) | 模型部署方法、模型部署装置、终端设备及可读存储介质 | |
CN113435472A (zh) | 车载算力网络用户需求预测方法、系统、设备、介质 | |
Hong | A distributed, asynchronous and incremental algorithm for nonconvex optimization: An admm based approach | |
EP4350572A1 (en) | Method, apparatus and system for generating neural network model, devices, medium and program product | |
Huang et al. | Task scheduling with optimized transmission time in collaborative cloud-edge learning | |
CN113487029A (zh) | 一种可移植的神经网络分布式并行策略搜索方法 | |
Sun et al. | Edge learning with timeliness constraints: Challenges and solutions | |
CN114528987A (zh) | 一种神经网络边缘-云协同计算分割部署方法 | |
Duan et al. | Computation offloading scheduling for deep neural network inference in mobile computing | |
Xu et al. | Living with artificial intelligence: A paradigm shift toward future network traffic control | |
Zhang et al. | Learning the optimal partition for collaborative DNN training with privacy requirements | |
Zhu | Network public opinion prediction and control based on edge computing and artificial intelligence new paradigm | |
Li et al. | Adaptive and resilient model-distributed inference in edge computing systems | |
CN116306943B (zh) | 一种面向AIoT的多任务本地协同推理方法及系统 | |
Zhang et al. | A locally distributed mobile computing framework for DNN based android applications | |
Heo et al. | Reinforcement learning of graph neural networks for service function chaining | |
Fan et al. | Self-adaptive gradient quantization for geo-distributed machine learning over heterogeneous and dynamic networks | |
US20230297885A1 (en) | Big data-based modular ai engine server and driving method of the same | |
KR102366153B1 (ko) | 실시간 어플리케이션을 위한 기계학습의 앙상블 추론 방법 및 앙상블 추론을 가속화한 기계 학습 방법 | |
Shengdong et al. | Optimal path strategy for the web computing under deep reinforcement learning | |
Seifeddine et al. | Dynamic hierarchical neural network offloading in IoT edge networks | |
Liu et al. | Soft actor-critic-based DAG tasks offloading in multi-access edge computing with inter-user cooperation | |
Hu et al. | Ccied: Cache-aided collaborative intelligence between edge devices | |
Xu et al. | Value decomposition based multi-task multi-agent deep reinforcement learning in vehicular networks |
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 |