System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及基于边缘计算的知识蒸馏领域,具体引入了动态资源管理方法,对边缘环境知识蒸馏过程中有限的通信和计算资源进行近似最佳的资源调度方法,提高边缘模型的运行效率。
技术介绍
1、边缘计算中的模型个性化对于边缘设备解决实际的本地任务非常重要。然而,它也引入了自己的弊端,比如造成模型漂移,模型性能会因为局部环境的变化而下降。尽管大规模模型能更好地适应环境变化,但它们的计算需求往往超过边缘设备上的可用资源。而联邦学习作为一种协作方法,通过在本地数据上进行训练并在多个设备上聚合更新来减轻模型漂移。然而,它需要广泛的通信资源和一致的客户参与,这在资源限制的边缘环境中可能会出现问题,对模型质量和安全性构成挑战。
2、针对上述两种解决模型漂移方法在边缘设备上的限制,知识蒸馏(knowledgedistillation,kd)作为一种有效的模型压缩方法,为解决这些问题提供了一种可行的方法。kd涉及将知识从全面、复杂的模型转移到精简的、边缘适应的模型中,从而在边缘设备功能的范围内保留复杂的模型性能,这为模型个性化和模型漂移提供了卓越的解决方案。
3、kd过程虽然解决了上述限制,但也带来了自己的一系列挑战,特别是在资源有限的边缘环境中,计算和通信之间的资源争夺问题。在资源有限的边缘环境中,在边缘设备努力平衡从更大、更复杂的模型中摄取蒸馏知识,以及本地训练程序的计算需求时,这种竞争变得更为明显。这种平衡行为可能导致资源瓶颈,这有可能削弱kd的优势:由于数据传输竞争而导致通信速度变慢,或者由于处理能力过度扩展而导致计算延迟。
4、在边缘计算的知识蒸馏的背景下,通信任务涉及在教师和学生模型之间传输数据,计算任务包括模型训练和推理,在完成通信和计算任务过程中对cpu资源的竞争有可能导致学生模型训练性能的低效率。因此,优化边缘知识蒸馏中的cpu资源调度对提升边缘设备通信与计算效率具有重要意义。
技术实现思路
1、为了克服上述
技术介绍
中的不足,本专利技术提出一种基于边缘计算的知识蒸馏周期内的cpu资源分配优化方法。
2、本专利技术探讨了边缘计算中的资源争用问题,重点关注资源有限的设备中通信和计算之间的复杂平衡,目标是对边缘计算中通信资源和计算资源进行最佳配置,最大化节省知识蒸馏过程时间,以提升系统效率。
3、为了实现上述技术目标,本专利技术提供如下的技术方案:
4、一种基于边缘计算的知识蒸馏周期内的cpu资源分配优化方法,包括以下步骤:
5、(1)建立边缘环境中的知识蒸馏表示通信与计算的时间依赖关系的数字模型;
6、(2)构建边缘计算中知识蒸馏迭代过程中的通信与计算任务并行场景,提出在整个kd周期内的时间优化任务;
7、(3)提出优化时间管理的策略:采用基于动态资源分配的框架来实现近似最优的解决方案;
8、(4)进行模拟实验,评估优化方法在基于实际边缘环境的kd中的有效性。
9、进一步,所述步骤(1)中,考虑cpu核心对知识蒸馏所需的总时间调度的影响,在raspberry pi和jetson xavier nx平台上进行一系列对照实验,以定量评估不同cpu内核分配下通信和计算任务所需时间的变化,由实验结果提出以下表示通信时间和计算时间与cpu内核分配关系的函数拟合:
10、①计算:边缘设备中计算任务所需的时间取决于cpu内核的分配。所需的计算时间与分配给通信的cpu核数之间的关系可以用以下函数近似拟合:
11、
12、其中,f(x,c)为分配给通信任务的c个cpu核的计算工作量x所需的计算时间。常数a1和a2反映了cpu分配对计算时间的影响。在该方程中,计算时间随着可用于通信任务的cpu核数的增加而增加。这突出了计算资源的线性减少,因为更多的cpu内核从计算任务中分配出去;
13、②通信:边缘设备中通信任务在cpu内核分配方面的边际收益递减,通信任务所需的时间可以用以下函数近似拟合:
14、
15、其中,g(y,c)表示具有数据量y和分配用于通信的c个cpu核的通信任务所需的时间。b1·c表示随着核数的增加,通信速度呈线性提高,而b2·log(b3·c)表示随着分配的核数的增加,提高速度呈对数递减。常数b1,b2和b3定义了此关系的特定特征。该公式表明,最初,增加专用于通信的核心数量c可以显著减少通信时间,但在某一点之后,效果变得不那么明显。
16、再进一步,所述步骤(2)中,假设边缘计算环境中知识蒸馏的迭代过程涉及n个comm和comp任务循环,每个循环由forward和backward任务组成。comm和comp任务的并行执行突出了固有的资源争用及其对两个进程的速度的影响,因此提出围绕n个周期的时间优化任务,具体包括:
17、①提出约束条件:考虑comm是一个连续的过程,蒸馏温度系数t从云端传输logit数据,并且计算涉及forward和backward传播,其中backward依赖于logits,用以下约束条件构筑时间优化问题:
18、1)comm是不间断的,logit从云端的教师模型传输,这需要持续分配资源用于数据传输,直到通信任务完成;
19、2)comp序列中的每个backward依赖于相应comm周期的logits。如果comm尚未完成,则backward必须等待,从而导致延迟,例如t″;
20、3)当时间大于tend时,表示所有comm都已完成,此时所有计算资源将分配给comp任务,即t″阶段只有comm任务;
21、②时间的计算:在系统comm和comp的复杂协调中,时间的计算是一个关键因素,特别是当考虑到各种计算过程之间的相互依赖性。为了便于进行彻底的分析,采用基于阶段的方法,在每次反向计算之前分割时间线。假设有n个反向计算实例,因此确定n+1个不同的时间段进行分析:
22、1)图1中的第一时间段,记为t1。设表示转发1的计算负载,表示第一个通信周期comm的通信负载。t1的持续时间可以表示为:
23、
24、该式中,和分别表示量化前向传播完成时间和通信周期的函数。是指在完成后,重新分配核数完成剩余计算所需的时间。t1持续时间的判定标准取决于前向传播时间是否小于通信时间。值得注意的是,如果较小,则意味着后续的通信周期(对于i>1)将与forward1重叠;
25、2)对于t2到tn个时间段,考虑三种情况。第一种情况,如t2所示,由重叠时间t′和计算时间t″组成。第二种情况,如t3所示,表明通信和计算是并行完成的。第三种情况,如tn所示,发生在没有通信任务的情况下,导致内核资源重新分配使其有利于计算任务。三种情况下各时间段表示如下:
26、1.第一种场景:通信和计算任务重叠。对于一般时间段ti,其表示如下:
27、
28、
29、2.第二种场景:通信和计算并行完成本文档来自技高网...
【技术保护点】
1.一种基于边缘计算的知识蒸馏周期内的CPU资源分配优化方法,包括以下步骤:
2.如权利要求1所述的一种基于边缘计算的知识蒸馏周期内的CPU资源分配优化方法,其特征在于,步骤(1)中,考虑CPU核心对知识蒸馏所需的总时间调度的影响,在RaspberryPi和Jetson Xavier NX平台上进行一系列对照实验,以定量评估不同CPU内核分配下通信和计算任务所需时间的变化,由实验结果提出以下表示通信时间和计算时间与CPU内核分配关系的函数拟合:
3.如权利要求1所述的一种基于边缘计算的知识蒸馏周期内的CPU资源分配优化方法,其特征在于,步骤(2)中,假设边缘计算环境中知识蒸馏的迭代过程涉及N个Comm和Comp任务循环,每个循环由Forward和Backward任务组成;Comm和Comp任务的并行执行突出了固有的资源争用及其对两个进程的速度的影响,因此提出围绕N个周期的时间优化任务,具体包括:
4.如权利要求3所述的一种基于边缘计算的知识蒸馏周期内的CPU资源分配优化方法,其特征在于,步骤(3)中,针对在步骤(2)构建的知识蒸馏周期内的三种通
5.如权利要求4所述的所述的一种基于边缘计算的知识蒸馏周期内的CPU资源分配优化方法,其特征在于,步骤(4)中,通过大量数据拟合结果,进行一系列实验模拟实际的基于边缘环境的KD过程,与普通方法比较,评估优化方案在不同的模拟场景下的性能:
...【技术特征摘要】
1.一种基于边缘计算的知识蒸馏周期内的cpu资源分配优化方法,包括以下步骤:
2.如权利要求1所述的一种基于边缘计算的知识蒸馏周期内的cpu资源分配优化方法,其特征在于,步骤(1)中,考虑cpu核心对知识蒸馏所需的总时间调度的影响,在raspberrypi和jetson xavier nx平台上进行一系列对照实验,以定量评估不同cpu内核分配下通信和计算任务所需时间的变化,由实验结果提出以下表示通信时间和计算时间与cpu内核分配关系的函数拟合:
3.如权利要求1所述的一种基于边缘计算的知识蒸馏周期内的cpu资源分配优化方法,其特征在于,步骤(2)中,假设边缘计算环境中知识蒸馏的迭代过程涉及n个comm和comp任务循环,每个循环由forwar...
【专利技术属性】
技术研发人员:温震宇,林高云,冯王磊,罗胜兰,
申请(专利权)人:浙江工业大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。