CN116776977A - 拆分推理方法及装置 - Google Patents
拆分推理方法及装置 Download PDFInfo
- Publication number
- CN116776977A CN116776977A CN202210220895.4A CN202210220895A CN116776977A CN 116776977 A CN116776977 A CN 116776977A CN 202210220895 A CN202210220895 A CN 202210220895A CN 116776977 A CN116776977 A CN 116776977A
- Authority
- CN
- China
- Prior art keywords
- communication device
- communication
- reasoning
- sub
- model
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 108
- 238000004891 communication Methods 0.000 claims abstract description 1058
- 238000012545 processing Methods 0.000 claims description 52
- 230000008569 process Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 12
- 239000000758 substrate Substances 0.000 claims 1
- 238000013461 design Methods 0.000 description 59
- 230000006870 function Effects 0.000 description 41
- 230000015654 memory Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 18
- 230000005540 biological transmission Effects 0.000 description 9
- 230000003993 interaction Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000012163 sequencing technique Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例提供了一种拆分推理方法及装置,涉及通信技术领域,能够在降低通信开销的同时降低推理时延。方法包括:第一通信装置接收来自第二通信装置的第一通信装置对应的子模型;其中,第一通信装置对应的子模型为第二通信装置对模型进行拆分得到的X个子模型中的一个,X个通信装置中的通信装置x对应第x个子模型,X个通信装置包括第一通信装置,1小于或等于x,x小于或等于X;第一通信装置对应的子模型为第一通信装置利用子模型进行推理时,推理时间最短的子模型;第一通信装置根据第一通信装置对应的子模型对接收到的数据进行推理。
Description
技术领域
本申请涉及通信技术领域,尤其是涉及一种拆分推理方法及装置。
背景技术
随着大模型时代的到来,拥有海量参数的深度学习模型如基于变换器的双向编码器表示(bidirectional encoder representation from transformers,BERT)模型、生成式预训练(generative pre-training,GPT)模型等能完成越来越复杂的任务,并能达到较好的性能。由于模型的推理过程会受到设备容量的限制,模型一般存放于云端的中心服务器上。
由于通信装置每天会产生海量的原始数据,如果通信装置将海量的原始数据发送给中心服务器,由中心服务器利用模型进行推理,会导致需要大量的通信资源传输原始数据,通信开销较大,且推理时延较大。
所以,在采用模型进行推理时,如何降低通信开销,同时降低推理时延成为亟待解决的技术问题。
发明内容
有鉴于此,本申请实施例提供了一种拆分推理方法及装置,能够在降低通信开销的同时降低推理时延。
第一方面,本申请实施例提供了一种拆分推理方法,该方法可以包括:第一通信装置接收来自第二通信装置的第一通信装置对应的子模型;其中,第一通信装置对应的子模型为第二通信装置对模型进行拆分得到的X个子模型中的一个,X个通信装置中的通信装置x对应第x个子模型,X个通信装置包括第一通信装置,1小于或等于x,x小于或等于X;第一通信装置对应的子模型为第一通信装置利用子模型进行推理时,推理时间最短的子模型;第一通信装置根据第一通信装置对应的子模型对接收到的数据进行推理。
基于第一方面,第二通信装置可以调度X个通信装置完成推理任务,X个通信装置执行推理任务时,可以根据通信装置对应的子模型完成推理任务,降低通信开销,同时由于通信装置对应的子模型为推理时间最短的子模型,可以降低推理时延。
一种可能的设计中,第一通信装置为第一通信装置对应的通信装置组中,利用子模型进行推理时,推理时间最短的通信装置;其中,通信装置组包括一个或多个通信装置。
基于该可能的设计,由于第一通信装置为通信装置组中推理时间最短的通信装置,可以降低推理时延。
一种可能的设计中,第一通信装置接收来自第二通信装置的第一指示信息;其中,第一指示信息用于指示第一通信装置的上一跳通信装置和下一跳通信装置,第一通信装置的上一跳通信装置和下一跳通信装置中包括至少一个终端设备。
一种可能的设计中,当第一通信装置为X个通信装置中的通信装置1时,第一通信装置的上一跳通信装置为第二通信装置,第一通信装置的下一跳通信装置为X个通信装置中的通信装置2。
一种可能的设计中,当第一通信装置为X个通信装置中的通信装置k时,第一通信装置的上一跳通信装置为X个通信装置中的通信装置k-1,第一通信装置的下一跳通信装置为X个通信装置中的通信装置k+1;2≤k≤X-1。
一种可能的设计中,当第一通信装置为X个通信装置中的通信装置X时,第一通信装置的上一跳通信装置为X个通信装置中的通信装置X-1,第一通信装置的下一跳通信装置为第二通信装置。
基于上述四种可能的设计,第一通信装置的上一跳通信装置和下一跳通信装置中包括至少一个终端设备,即第一通信装置可以从终端设备获取数据,或者第一通信装置可以向终端设备发送推理结果,相比于通信装置从中心服务器获取数据,并将推理结果发送给中心服务器,由中心服务器将推理结果发送给下一个通信装置,本申请可以降低推理结果的传输次数,降低通信开销,降低推理时延。
第二方面,本申请实施例提供了一种通信装置,通信装置可以实现上述第一方面或者第一方面可能的设计中第一通信装置所执行的功能,所述功能可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个上述功能相应的模块。如,收发模块和处理模块。收发模块,用于接收来自第二通信装置的第一通信装置对应的子模型;其中,第一通信装置对应的子模型为第二通信装置对模型进行拆分得到的X个子模型中的一个,X个通信装置中的通信装置x对应第x个子模型,X个通信装置包括第一通信装置,1小于或等于x,x小于或等于X;第一通信装置对应的子模型为第一通信装置利用子模型进行推理时,推理时间最短的子模型;处理模块,用于根据第一通信装置对应的子模型对接收到的数据进行推理。
一种可能的设计中,第一通信装置为第一通信装置对应的通信装置组中,利用子模型进行推理时,推理时间最短的通信装置;其中,通信装置组包括一个或多个通信装置。
一种可能的设计中,收发模块,还用于接收来自第二通信装置的第一指示信息;其中,第一指示信息用于指示第一通信装置的上一跳通信装置和下一跳通信装置,第一通信装置的上一跳通信装置和下一跳通信装置中包括至少一个终端设备。
一种可能的设计中,当第一通信装置为X个通信装置中的通信装置1时,第一通信装置的上一跳通信装置为第二通信装置,第一通信装置的下一跳通信装置为X个通信装置中的通信装置2。
一种可能的设计中,当第一通信装置为X个通信装置中的通信装置k时,第一通信装置的上一跳通信装置为X个通信装置中的通信装置k-1,第一通信装置的下一跳通信装置为X个通信装置中的通信装置k+1;2≤k≤X-1。
一种可能的设计中,当第一通信装置为X个通信装置中的通信装置X时,第一通信装置的上一跳通信装置为X个通信装置中的通信装置X-1,第一通信装置的下一跳通信装置为第二通信装置。
需要说明的是,第二方面中通信装置的具体实现方式可参考第一方面或第一方面的任一种可能的设计提供的拆分推理方法中第一通信装置的行为功能。
第三方面,本申请实施例提供一种通信装置,该通信装置可以为第一通信装置或者第一通信装置中的芯片或者片上系统。该通信装置可以实现上述各方面或者各可能的设计中第一通信装置所执行的功能,所述功能可以通过硬件实现。一种可能的设计中,该通信装置可以包括:收发器和处理器。收发器和处理器可以用于支持通信装置实现上述第一方面或者第一方面的任一种可能的设计中所涉及的功能。例如:收发器可以用于接收来自第二通信装置的第一通信装置对应的子模型;其中,第一通信装置对应的子模型为第二通信装置对模型进行拆分得到的X个子模型中的一个,X个通信装置中的通信装置x对应第x个子模型,X个通信装置包括第一通信装置,1小于或等于x,x小于或等于X;第一通信装置对应的子模型为第一通信装置利用子模型进行推理时,推理时间最短的子模型;处理器可以用于根据第一通信装置对应的子模型对接收到的数据进行推理。在又一种可能的设计中,所述通信装置还可以包括存储器,存储器,用于保存通信装置的计算机执行指令和数据。当该通信装置运行时,该收发器和处理器执行该存储器存储的该计算机执行指令,以使该通信装置执行如上述第一方面或者第一方面的任一种可能的设计所述的拆分推理方法。
其中,第三方面中通信装置的具体实现方式可参考第一方面或第一方面的任一种可能的设计提供的拆分推理方法中第一通信装置的行为功能。
第四方面,本申请实施例提供了一种拆分推理方法,该方法可以包括:第二通信装置确定第一通信装置对应的子模型;其中,第一通信装置对应的子模型为第二通信装置对模型进行拆分得到的X个子模型中的一个,X个通信装置中的通信装置x对应第x个子模型,X个通信装置包括第一通信装置,1小于或等于x,x小于或等于X;第一通信装置对应的子模型为第一通信装置利用子模型进行推理时,推理时间最短的子模型;第二通信装置向第一通信装置发送第一通信装置对应的子模型。
基于第四方面,第二通信装置可以调度X个通信装置完成推理任务,X个通信装置执行推理任务时,可以根据通信装置对应的子模型完成推理任务,降低通信开销,同时由于通信装置对应的子模型为推理时间最短的子模型,可以降低推理时延。
一种可能的设计中,第二通信装置确定第一通信装置对应的子模型,包括:第二通信装置确定X个通信装置组;其中,每个通信装置组包括一个或多个通信装置;第二通信装置从每个通信装置组中确定一个第一通信装置,并确定第一通信装置对应的子模型;其中,第一通信装置为通信装置组中,利用子模型进行推理时,推理时间最短的通信装置。
基于该可能的设计,由于第一通信装置为通信装置组中推理时间最短的通信装置,可以降低推理时延。
一种可能的设计中,第二通信装置确定第一通信装置对应的子模型,包括:第二通信装置确定X个通信装置;第二通信装置根据X个通信装置对模型进行拆分,得到第一通信装置对应的子模型。
一种可能的设计中,第二通信装置确定X个通信装置,包括:第二通信装置从M个通信装置中随机确定X个通信装置;其中,M大于或等于X;或者,第二通信装置确定M个通信装置中每个通信装置对应的权重值,根据权重值,从M个通信装置中确定X个通信装置;其中,M大于或等于X。
基于上述两种可能的设计,第二通信装置可以先确定X个通信装置,然后根据X个通信装置完成模型拆分,为第二通信装置进行模型拆分提供了一种可行性方案。
一种可能的设计中,第二通信装置根据X个通信装置,向第一通信装置发送第一指示信息;其中,第一指示信息用于指示第一通信装置的上一跳通信装置和下一跳通信装置。
基于该可能的设计,第一通信装置的上一跳通信装置和下一跳通信装置中包括至少一个终端设备,即第一通信装置可以从终端设备获取数据,或者第一通信装置可以向终端设备发送推理结果,相比于通信装置从中心服务器获取数据,并将推理结果发送给中心服务器,由中心服务器将推理结果发送给下一个通信装置,本申请可以降低推理结果的传输次数,降低通信开销,降低推理时延。
第五方面,本申请实施例提供了一种通信装置,通信装置可以实现上述第四方面或者第四方面可能的设计中第二通信装置所执行的功能,所述功能可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个上述功能相应的模块。如,收发模块和处理模块。处理模块,用于确定第一通信装置对应的子模型;其中,第一通信装置对应的子模型为第二通信装置对模型进行拆分得到的X个子模型中的一个,X个通信装置中的通信装置x对应第x个子模型,X个通信装置包括第一通信装置,1小于或等于x,x小于或等于X;第一通信装置对应的子模型为第一通信装置利用子模型进行推理时,推理时间最短的子模型;收发模块,用于向第一通信装置发送第一通信装置对应的子模型。
一种可能的设计中,处理模块,用于确定X个通信装置组;其中,每个通信装置组包括一个或多个通信装置;处理模块,还用于从每个通信装置组中确定一个第一通信装置,并确定第一通信装置对应的子模型;其中,第一通信装置为通信装置组中,利用子模型进行推理时,推理时间最短的通信装置。
一种可能的设计中,处理模块,用于确定X个通信装置;处理模块,还用于根据X个通信装置对模型进行拆分,得到第一通信装置对应的子模型。
一种可能的设计中,处理模块,用于从M个通信装置中随机确定X个通信装置;其中,M大于或等于X;或者,用于确定M个通信装置中每个通信装置对应的权重值,根据权重值,从M个通信装置中确定X个通信装置;其中,M大于或等于X。
一种可能的设计中,收发模块,还用于根据X个通信装置,向第一通信装置发送第一指示信息;其中,第一指示信息用于指示第一通信装置的上一跳通信装置和下一跳通信装置。
需要说明的是,第五方面中通信装置的具体实现方式可参考第四方面或第四方面的任一种可能的设计提供的拆分推理方法中第二通信装置的行为功能。
第六方面,本申请实施例提供了一种通信装置,该通信装置可以为第二通信装置中的芯片或者片上系统。该通信装置可以实现上述各方面或者各可能的设计中第二通信装置所执行的功能,所述功能可以通过硬件实现。一种可能的设计中,该通信装置可以包括:收发器和处理器。收发器和处理器可以用于支持通信装置实现上述第四方面或者第四方面的任一种可能的设计中所涉及的功能。例如:处理器可以用于确定第一通信装置对应的子模型;其中,第一通信装置对应的子模型为第二通信装置对模型进行拆分得到的X个子模型中的一个,X个通信装置中的通信装置x对应第x个子模型,X个通信装置包括第一通信装置,1小于或等于x,x小于或等于X;第一通信装置对应的子模型为第一通信装置利用子模型进行推理时,推理时间最短的子模型;收发器可以用于向第一通信装置发送第一通信装置对应的子模型。在又一种可能的设计中,所述通信装置还可以包括存储器,存储器,用于保存通信装置必要的计算机执行指令和数据。当该通信装置运行时,该收发器和处理器执行该存储器存储的该计算机执行指令,以使该通信装置执行如上述第四方面或者第四方面的任一种可能的设计所述的拆分推理方法。
其中,第六方面中通信装置的具体实现方式可参考第四方面或第四方面的任一种可能的设计提供的拆分推理方法中第二通信装置的行为功能。
第七方面,提供了一种通信装置,该通信装置包括一个或多个处理器;一个或多个处理器,用于运行计算机程序或指令,当一个或多个处理器执行计算机指令或指令时,使得通信装置执行如第一方面或者第一方面的任一可能的设计所述的拆分推理方法,或者执行如第四方面或者第四方面的任一可能的设计所述的拆分推理方法。
一种可能的设计中,该通信装置还包括一个或多个存储器,一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储上述计算机程序或指令。在一种可能的实现方式中,存储器位于所述通信装置之外。在另一种可能的实现方式中,存储器位于所述通信装置之内。本申请实施例中,处理器和存储器还可能集成于一个器件中,即处理器和存储器还可以被集成在一起。在一种可能的实现方式中,所述通信装置还包括收发器,所述收发器,用于接收信息和/或发送信息。
一种可能的设计中,该通信装置还包括一个或多个通信接口,一个或多个通信接口和一个或多个处理器耦合,一个或多个通信接口用于与通信装置之外的其它模块进行通信。
第八方面,提供了一种通信装置,该通信装置包括输入输出接口和逻辑电路;输入输出接口,用于输入和/或输出信息;逻辑电路用于执行如第一方面或者第一方面的任一可能的设计所述的拆分推理方法,或者执行如第四方面或者第四方面的任一可能的设计所述的拆分推理方法,根据信息进行处理和/或生成信息。
第九方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令或程序,当计算机指令或程序在计算机上运行时,使得如第一方面或者第一方面的任一可能的设计所述的拆分推理方法被执行,或者如第四方面或者第四方面的任一可能的设计所述的拆分推理方法被执行。
第十方面,提供了一种包含计算机指令的计算机程序产品,当其在计算机上运行时,使得如第一方面或者第一方面的任一可能的设计所述的拆分推理方法被执行,或者如第四方面或者第四方面的任一可能的设计所述的拆分推理方法被执行。
第十一方面,本申请实施例提供一种计算机程序,当其在计算机上运行时,使得如第一方面或者第一方面的任一可能的设计所述的拆分推理方法被执行,或者如第四方面或者第四方面的任一可能的设计所述的拆分推理方法被执行。
其中,第七方面至第十一方面中任一种设计方式所带来的技术效果可参见上述第一方面的任一种可能的设计所带来的技术效果,或者参见上述第四方面的任一种可能的设计所带来的技术效果。
第十二方面,提供了一种通信系统,该通信系统包括如第二方面至第三方面的任一方面所述的通信装置和如第五方面至第六方面的任一方面所述的通信装置。
附图说明
图1为本申请实施例提供的一种推理过程的示意图;
图2为本申请实施例提供的一种推理过程的示意图;
图3为本申请实施例提供的一种通信系统的示意图;
图4为本申请实施例提供的一种通信装置的组成示意图;
图5为本申请实施例提供的一种拆分推理方法的交互示意图;
图6为本申请实施例提供的一种确定X个通信装置并进行模型拆分的方法的交互示意图;
图7为本申请实施例提供的一种确定X个通信装置并进行模型拆分的方法的交互示意图;
图8为本申请实施例提供的一种拆分推理效果对比图;
图9a为本申请实施例提供的一种拆分推理方法的交互示意图;
图9b为本申请实施例提供的一种拆分推理方法的示意图;
图10为本申请实施例提供的一种第一通信装置的组成示意图;
图11为本申请实施例提供的一种第二通信装置的组成示意图。
具体实施方式
在描述本申请实施例之前,对本申请实施例涉及的技术术语进行描述。
模型:随着大模型时代的到来,拥有海量参数的深度学习模型如BERT模型、GPT模型等能完成越来越复杂的任务,并能达到较好的性能。对于大模型来说,由于模型的推理过程会受到设备容量的限制,大模型一般存放于云端中心服务器上。
网络中的通信装置每天会产生海量的原始数据,通信装置可以将原始数据发送给中心服务器,中心服务器可以调用相应模型对原始数据进行推理,得到推理结果,并将推理结果发送给通信装置,从而完成对原始数据的推理。
但是,由于原始数据的数据量较大,会导致在对原始数据进行处理时,需要大量的通信资源传输原始数据,通信开销较大,推理时延较大。
基于此,提出了深度神经网络的分布式推理技术,该分布式推理技术中,可以利用通信装置本地的算力将通信装置参与到推理过程中。具体的,中心服务器可以对用于对原始数据进行推理的模型进行拆分,将拆分后的部分模型发送给通信装置,通信装置根据该部分模型对原始数据进行推理,得到中间推理结果,将中间推理结果发送给中心服务器,中心服务器根据剩余部分模型对中间推理结果进行推理,得到推理结果并发送给通信装置,从而避免通信装置将原始数据发送给中心服务器,降低通信开销。
示例性的,如图1所示,以模型包括n层为例,中心服务器可以将模型拆分成子模型1和子模型2,其中,子模型1可以包括模型的第一层至第n1层,子模型2可以包括模型的第n1+1层至第n层,中心服务器可以向通信装置发送子模型1,通信装置可以根据子模型1对原始数据进行推理,得到中间推理结果,将中间推理结果发送给中心服务器,中心服务器根据子模型2对接收到的中间推理结果进行推理,得到推理结果,将推理结果发送给通信装置。
上述方案可以避免通信装置将原始数据发送给中心服务器,降低通信开销。但是,由于通信装置通常不具备很大的存储空间或者算力,中心服务器对模型进行拆分时,通信装置对应的子模型占用模型的层数一般较少,导致通信装置在推理过程中的参与程度有限。
基于此,提出可以由中心服务器将模型拆分成多个子模型,并发送给多个通信装置,每个通信装置对应一个子模型。多个通信装置可以根据多个子模型对原始数据进行推理,得到推理结果,从而提高通信装置在推理过程中的参与程度。
示例性的,如图2所示,以模型包括n层为例,中心服务器可以将模型拆分成子模型1、子模型2和子模型3,其中,子模型1可以包括模型的第一层至第n1层,子模型2可以包括模型的第n1+1层至第n2层,子模型3可以包括模型的第n2+1层至第n层。中心服务器可以向通信装置1发送子模型1,向通信装置2发送子模型2,向通信装置3发送子模型3。通信装置1可以根据子模型1对原始数据进行推理,得到中间推理结果1,并将中间推理结果1发送给中心服务器。中心服务器将中间推理结果1发送给通信装置2,通信装置2根据子模型2对中间推理结果1进行推理,得到中间推理结果2,并将中间推理结果2发送给中心服务器。中心服务器将中间推理结果2发送给通信装置3,通信装置3根据子模型3对中间推理结果2进行推理,得到推理结果,并将推理结果发送给中心服务器。中心服务器将推理结果发送给通信装置1,完成推理。
上述方案中,中心服务器不参与具体的推理过程,仅参与中间推理结果或推理结果的转发,多个通信装置参与推理过程可以提高通信装置的参与程度,同时,相比于传输海量的原始数据,传输中间推理结果可以降低通信开销。
但是,随着中间推理结果的传输次数的增加,通信开销不断增加,推理时延不断增大。
综上,在采用模型对原始数据进行推理时,如何降低通信开销,同时降低推理时延成为亟待解决的技术问题。
为解决该技术问题,本申请实施例提供了一种拆分推理方法,该方法中,第一通信装置接收来自第二通信装置的第一通信装置对应的子模型;其中,第一通信装置对应的子模型为第二通信装置对模型进行拆分得到的X个子模型中的一个,X个通信装置中的通信装置x对应第x个子模型,X个通信装置包括第一通信装置,1小于或等于x,x小于或等于X;第一通信装置对应的子模型为第一通信装置利用子模型进行推理时,推理时间最短的子模型;第一通信装置根据第一通信装置对应的子模型对接收到的数据进行推理。
本申请实施例中,第二通信装置可以调度X个通信装置完成推理任务,X个通信装置执行推理任务时,可以根据通信装置对应的子模型完成推理任务,降低通信开销,同时由于通信装置对应的子模型为推理时间最短的子模型,可以降低推理时延。
下面结合说明书附图对本申请实施例的实施方式进行详细描述。
本申请实施例提供的拆分推理方法可用于任一通信系统,该通信系统可以为第三代合作伙伴计划(third generation partnership project,3GPP)通信系统,例如,长期演进(long term evolution,LTE)通信系统,又可以为第五代(fifth generation,5G)移动通信系统、新空口(new radio,NR)通信系统、车联网(vehicle to everything,V2X)系统,还可以应用于LTE和5G混合组网的系统中,或者设备到设备(device-to-device,D2D)通信系统、机器到机器(machine to machine,M2M)通信系统、物联网(internet of things,IoT)、窄带物联网(narrow band-internet of things,NB-IoT)、以及5G之后演进的通信系统,也可以为无线保真(wireless fidelity,WiFi)等非3GPP通信系统,不予限制。
本申请实施例提供的拆分推理方法可以应用于各种通信场景,例如,可以应用于以下通信场景中的一种或多种:增强移动宽带(enhanced mobile broadband,eMBB)、超可靠低时延通信(ultra reliable low latency communication,URLLC)、机器类型通信(machine type communication,MTC)、大规模机器类型通信(massive machine typecommunications,mMTC)、D2D、车联网(vehicle to X,V2X)、IoT等通信场景。
下面以图3为例,对本申请实施例提供的通信系统进行描述。
图3为本申请实施例提供的一种通信系统的示意图,如图3所示,该通信系统可以包括网络设备和终端设备。
其中,网络设备可以包括中心服务器,中心服务器可以保存有用于对数据进行推理的模型。终端设备和网络设备可以通过信息交互,训练机器学习模型完成给定机器学习任务,交互的信息可以包括终端设备或网络设备采集的原始数据、中间推理结果、推理结果等信息。可选的,终端设备或网络设备可以包括数据采集模块,该数据采集模块可以用于采集原始数据。
其中,如图3所示,终端设备可以位于网络设备的波束/小区覆盖范围内。其中,终端设备可以通过上行链路(uplink,UL)或下行链路(downlink,DL)与网络设备进行空口通信。例如:终端设备在UL方向上可以通过物理上行共享信道(physical uplink sharedchannel,PUSCH)向网络设备发送上行数据;网络设备在DL方向上可以通过物理下行共享信道(physical downlink shared channel,PDSCH)向终端设备发送下行数据。
图3中的终端设备可以是支持新空口的终端设备,可以通过空口接入通信系统,并发起呼叫、上网等业务。终端设备还可以称为用户设备(user equipment,UE)或者移动台(mobile station,MS)或者移动终端(mobile terminal,MT)等。具体的,图3中的终端设备可以是蜂窝电话(cellular phone)、手机(mobile phone)、智能手机(smart phone)、无线数据卡、个人数字助理(personal digital assistant,PDA)电脑、平板型电脑、无线调制解调器(modem)、膝上型电脑(laptop computer)、MTC终端或带无线收发功能的电脑。还可以是虚拟现实(virtual reality,VR)终端、增强现实(augmented reality,AR)终端、工业控制中的无线终端、无人驾驶中的无线终端、远程医疗中的无线终端、智能电网中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、车载终端、具有无线通信功能的手持设备(handset)、可穿戴设备、计算设备、连接到无线调制解调器的其他处理设备、具有车对车(vehicle-to-vehicle,V2V)通信能力的车辆、智能网联车、有无人机对无人机(UAV to UAV,U2U)通信能力的无人机等等,不予限制。
其中,图3中的网络设备可以是任意一种具有无线收发功能的设备,主要用于实现无线物理控制功能、资源调度和无线资源管理、无线接入控制以及移动性管理等功能,提供可靠的无线传输协议和数据加密协议等。网络设备可以是一种部署在无线接入网中为终端设备提供无线通信功能的设备。
图3中的网络设备可以为支持有线接入的设备,也可以为支持无线接入的设备。示例性的,该网络设备可以为接入网(access network,AN)/无线接入网(radio accessnetwork,RAN)设备,由多个AN/RAN节点组成。AN/RAN节点可以为:接入点(access point,AP)、基站(nodeB,NB)、增强型基站(enhance nodeB,eNB)、下一代基站(NR nodeB,gNB)、传输接收点(transmission reception point,TRP)、传输点(transmission point,TP)或某种其它接入节点等,其中,基站可以包括各种形式的宏基站、微基站、中继站等,还可以为设备到设备(device-to-device,D2D)、车辆外联(vehicle-to-everything,V2X)、机器到机器(machine-to-machine,M2M)通信中承担基站功能的设备等,还可以包括云接入网(cloudradio access network,C-RAN)系统中的集中式单元(centralized unit,CU)和分布式单元(distributed unit,DU、非陆地通信网络(non-terrestrial network,NTN)通信系统中的网络设备,即可以部署于高空平台或者卫星。本申请实施例对此不作具体限定。
具体实现时,图3所示,如:各个终端设备、网络设备均可以采用图4所示的组成结构,或者包括图4所示的部件。图4为本申请实施例提供的一种通信装置400的组成示意图,该通信装置400可以为终端设备或者终端设备中的芯片或者片上系统;也可以为网络设备或者网络设备中的芯片或者片上系统。如图4所示,该通信装置400包括处理器401,收发器402以及通信线路403。
进一步的,该通信装置400还可以包括存储器404。其中,处理器401,存储器404以及收发器402之间可以通过通信线路403连接。
其中,处理器401是中央处理器(central processing unit,CPU)、通用处理器网络处理器(network processor,NP)、数字信号处理器(digital signal processing,DSP)、微处理器、微控制器、可编程逻辑器件(programmable logic device,PLD)或它们的任意组合。处理器401还可以是其它具有处理功能的装置,例如电路、器件或软件模块,不予限制。
收发器402,用于与其他设备或其它通信网络进行通信。该其它通信网络可以为以太网,RAN,无线局域网(wireless local area networks,WLAN)等。收发器402可以是模块、电路、收发器或者任何能够实现通信的装置。
通信线路403,用于在通信装置400所包括的各部件之间传送信息。
存储器404,用于存储指令。其中,指令可以是计算机程序。
其中,存储器404可以是只读存储器(read-only memory,ROM)或可存储静态信息和/或指令的其他类型的静态存储设备,也可以是随机存取存储器(random accessmemory,RAM)或可存储信息和/或指令的其他类型的动态存储设备,还可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或其他磁存储设备等,不予限制。
需要指出的是,存储器404可以独立于处理器401存在,也可以和处理器401集成在一起。存储器404可以用于存储指令或者程序代码或者一些数据等。存储器404可以位于通信装置400内,也可以位于通信装置400外,不予限制。处理器401,用于执行存储器404中存储的指令,以实现本申请下述实施例提供的拆分推理方法。
在一种示例中,处理器401可以包括一个或多个CPU,例如图4中的CPU0和CPU1。
作为一种可选的实现方式,通信装置400包括多个处理器,例如,除图4中的处理器401之外,还可以包括处理器407。
作为一种可选的实现方式,通信装置400还包括输出设备405和输入设备406。示例性地,输入设备406是触摸屏、键盘、鼠标、麦克风或操作杆等设备,输出设备405是显示屏、扬声器(speaker)等设备。
需要指出的是,通信装置400可以是台式机、便携式电脑、网络服务器、移动手机、平板电脑、无线终端、嵌入式设备、芯片系统或有图4中类似结构的设备。此外,图4中示出的组成结构并不构成对该通信装置的限定,除图4所示部件之外,该通信装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本申请实施例中,芯片系统可以由芯片构成,也可以包括芯片和其他分立器件。
此外,本申请的各实施例之间涉及的动作、术语等均可以相互参考,不予限制。本申请的实施例中各个设备之间交互的消息名称或消息中的参数名称等只是一个示例,具体实现中也可以采用其他的名称,不予限制。
下面结合图3所示通信系统,参照下述图5,以网络设备有推理任务,网络设备可以调度多个终端设备一起完成该推理任务为例,对本申请实施例提供的拆分推理方法进行描述,其中,第一通信装置可以为图3所示通信系统中被有推理任务的网络设备调度的任一终端设备,第二通信装置可以为图3所示通信系统中有推理任务的网络设备。下述实施例所述的第一通信装置、第二通信装置均可以具备图4所示部件。本申请实施例中示出的单个执行主体(终端设备或网络设备)所执行的处理也可以被划分为由多个执行主体执行,这些执行主体可以在逻辑上和/或在物理上分离,例如,网络设备所执行的处理可以被划分为由中央单元(central unit,CU)、分布单元(distributed unit,DU)和无线电单元(radio unit,RU)中的至少一个执行,不予限制。
图5为本申请实施例提供的一种拆分推理方法的交互示意图,如图5所示,该方法可以包括:
步骤501、第二通信装置确定第一通信装置对应的子模型。
当第二通信装置有推理任务时,即表示需要采用某一模型对第二通信装置的数据进行推理,得到推理结果,该模型可以由第二通信装置提供。可选的,该模型可以存储于第二通信装置中。此时,第二通信装置可以调度X个通信装置利用该模型共同完成推理任务,其中,X大于或等于1,X个通信装置可以是X个终端设备,X个通信装置中的任一个通信装置都可以描述为本申请实施例所述的第一通信装置。
具体的,第二通信装置可以选择X个通信装置并进行排序,第二通信装置还可以根据X个通信装置将模型拆分成X个子模型,并将X个子模型分别发送给X个通信装置。即排序后的X个通信装置中的通信装置x可以对应X个子模型中的第x个子模型(或者也可以描述为子模型x),其中,x大于或等于1,x小于或等于X,第x-1个子模型的最后一层与第x个子模型的第一层在模型中为相邻层,第x个子模型的最后一层与第x+1个子模型的第一层在模型中为相邻层。X个通信装置可以根据接收到的子模型共同完成第二通信装置的推理任务。
可选的,第二通信装置包括模型服务器和控制服务器,其中,模型服务器的存储空间较大,可以用于存储模型;控制服务器的算力较高,可以用于进行通信装置选择和模型拆分。
可选的,第二通信装置还根据排序结果确定X个通信装置中每个通信装置的上一跳通信装置和下一跳通信装置,并向X个通信装置中的每个通信装置发送第一指示信息,以指示各个通信装置的上一跳通信装置和下一跳通信装置;其中,各个通信装置的上一跳通信装置和下一跳通信装置中包括至少一个终端设备。
示例性的,第一指示信息可以包括上一跳通信装置的标识信息和下一跳通信装置的标识信息。
例如,标识信息可以为通信装置的身份信息(identity,ID)、互联网协议(internet protocol,IP)地址、媒体接入控制(media access control,MAC)地址、国际移动用户识别码(international mobile subscriber identity,IMSI)、全球唯一临时标识(globally unique temporary UE identity,GUTI)、用户永久标识符(subscriptionpermanent identifier,SUPI)或者通用公共用户标识符(generic public subscriptionidentifier,GPSI)等,不予限制。
需要说明的是,由于第一通信装置可以是X个通信装置中的任一个通信装置,第二通信装置向各个通信装置发送第一指示信息也可以描述为第二通信装置向第一通信装置发送第一指示信息,其中,第一指示信息可以用于指示第一通信装置的上一跳通信装置和下一跳通信装置。
第一种可能的设计中,第二通信装置可以基于动态规划,在确定X个通信装置的同时进行模型拆分,并确定X个通信装置的排序结果和每个通信装置对应的子模型。第二通信装置还可以根据排序结果确定X个通信装置中每个通信装置的上一跳通信装置和下一跳通信装置。
示例性的,第二通信装置可以采用下述图6所示的方法,根据通信装置的状态信息在确定X个通信装置的排序结果的同时完成模型拆分。
图6为本申请实施例提供的一种确定X个通信装置并进行模型拆分的方法的交互示意图,如图6所示,该方法可以包括:
步骤601、第二通信装置获取M个通信装置的状态信息;相应的,M个通信装置向第二通信装置发送自身的状态信息。
其中,X大于或等于1,X小于或等于M,通信装置的状态信息可以用于指示通信装置是否支持推理,M个通信装置可以为M个终端设备,本申请实施例中,除了第二通信装置可以为网络设备之外,其余通信装置均可以为终端设备。
示例性的,通信装置的状态信息可以包括下述一种或多种:通信装置的存储空间大小、通信装置的最大算力、通信装置占用的资源信息、通信装置的设备邻接矩阵、通信装置的设备状态、通信装置是否同意参与推理、通信装置的状态信息的有效期。
其中,通信装置占用的资源信息可以包括通信装置占用的频段、带宽等信息。
其中,通信装置的设备邻接矩阵可以用于指示通信装置与其他通信装置的连接关系,设备邻接矩阵还可以用于指示通信装置与其他通信装置之间的信道状态或通信质量。
其中,通信装置的设备状态可以为空闲或繁忙。当通信装置的设备状态为空闲时,该通信装置可以支持推理,当通信装置的设备状态为繁忙时,该通信装置无法支持推理。
其中,通信装置的状态信息的有效期表示通信装置的状态信息在该有效期内可用。
步骤602、第二通信装置将M个通信装置划分成X个通信装置组。
步骤603、第二通信装置从每个通信装置组中确定一个第一通信装置,并确定第一通信装置对应的子模型。
其中,每个通信装置组可以包括一个或多个通信装置。
可选的,第二通信装置可以采用染色的方式将M个通信装置划分成X个通信装置组。
示例性的,第二通信装置可以将M个通信装置随机染成X种颜色,每种颜色对应一个或多个通信装置,同一种颜色的通信装置属于同一个通信装置组。
第二通信装置可以采用动态规划的方式,从M个通信装置中选择X个第一通信装置的同时完成模型拆分。
其中,第一通信装置为通信装置组中,利用子模型进行推理时,推理时间最短的通信装置;第一通信装置对应的子模型为第一通信装置利用子模型进行推理时,推理时间最短的子模型。
示例性的,第二通信装置可以采用下述状态转移方程选择X个通信装置并完成模型拆分:
其中,f[S][i][j]表示路径上选取的通信装置的颜色集合为S,|S|表示目前已选取的通信装置总数,i表示当前通信装置为通信装置i,前|S|-1个通信装置已经分了模型的前j层,通信装置i还没有子模型时,前|S|-1个通信装置利用模型的前j层推理到通信装置i时所需要的最小时间。表示通信装置x将第j层推理结果发送给通信装置i所需要的时间。
其中,g[S][i][j]表示路径上选取的通信装置的颜色集合为S,|S|表示目前已选取的通信装置总数,i表示当前通信装置为通信装置i,前|S|个通信装置已经分了模型的前j层,且通信装置i对应的子模型的最后一层为第j层时,前|S|个通信装置利用模型的前j层进行推理时所需要的最小时间。ti,x+1,j表示通信装置i从第x+1层推理到第j层所需要的时间。
第二通信装置根据上述公式(1)和公式(2)可以确定X个通信装置和每个通信装置对应的子模型,第二通信装置可以重复执行上述步骤602和步骤603若干次,将每次得到的结果进行对比,选择推理时间最小的一次结果作为第二通信装置选定的X个通信装置和每个通信装置对应的子模型。
第二通信装置在每次选择通信装置时通过选择推理所需时间最小的通信装置,在可控时间内尽可能获得最优解,便可从M个通信装置中确定X个通信装置,同时确定每个通信装置对应的子模型,从而完成对X个通信装置的排序和对模型的拆分。
需要说明的是,第二通信装置根据上述公式(1)和公式(2)确定X个通信装置和每个通信装置对应的子模型时,如果某一通信装置的通信能力较高,但计算能力较低,此时,第二通信装置可以将该通信装置确定为X个通信装置中的一个,但由于该通信装置计算能力较低,第二通信装置根据上述公式(1)和公式(2)计算该通信装置对应的子模型时,可能会确定出该通信装置对应的子模型的层数为0,此时,该通信装置可以作为转发设备使用,即由于该通信装置对应的子模型的层数为0(或者描述为该通信装置没有对应的子模型),该通信装置可以直接将上一跳通信装置发送的数据转发给下一跳通信装置,而不用对数据进行推理。
第二通信装置采用动态规划的方式确定X个通信装置和每个通信装置对应的子模型,可以有效降低动态规划的状态数,从而降低动态规划的复杂度及计算时间,提高计算速度。
例如,以第二通信装置对残差神经网络(residual neural network,ResNet)50模型进行拆分为例,对于不同数量的通信装置,采用动态规划的方式包含最优解概率达到95%所需要的重复次数与时间可以如下述表1所示。
表1
通信装置的数量X | 重复次数 | 单次执行时间(s) | 总时间(s) |
5 | 77 | 极短 | 极短 |
7 | 489 | 极短 | 极短 |
10 | 8254 | 0.03069 | 253.32 |
15 | 1003164 | 0.4537 | 45513.55 |
又例如,以第二通信装置对密集卷积网络(dense convolutional network,Densenet)121模型进行拆分为例,对于不同数量的通信装置,采用动态规划的方式包含最优解概率达到95%所需要的重复次数与时间可以如下述表2所示。
表2
通信装置的数量X | 重复次数 | 单次执行时间(s) | 总时间(s) |
5 | 77 | 极短 | 极短 |
7 | 489 | 极短 | 极短 |
10 | 8254 | 0.07857 | 648.51 |
13 | 145708 | 0.08561 | 12474.06 |
第二种可能的设计中,第二通信装置也可以先确定X个通信装置,然后根据X个通信装置完成模型拆分并确定X个通信装置的排序结果,根据排序结果确定X个通信装置中的每个通信装置的上一跳通信装置和下一跳通信装置,并向X个通信装置中的每个通信装置发送通信装置对应的子模型和第一指示信息。
示例性的,第二通信装置可以采用下述图7所示的方法,先根据通信装置的状态信息确定X个通信装置,然后根据X个通信装置确定X个通信装置的排序结果并完成模型拆分。
图7为本申请实施例提供的一种确定X个通信装置并进行模型拆分的方法的交互示意图,如图7所示,该方法可以包括:
步骤701、第二通信装置获取M个通信装置的状态信息;相应的,M个通信装置向第二通信装置发送自身的状态信息。
其中,对步骤701的描述和对通信装置的状态信息的描述可以参照上述对步骤601的相关描述和对通信装置的状态信息的相关描述,不予赘述。
步骤702、第二通信装置根据M个通信装置的状态信息,选择X个通信装置。
第一种示例中,第二通信装置可以从M个通信装置中随机确定X个通信装置。
其中,第二通信装置可以从M个通信装置中随机选择X个连通的通信装置。
第二种示例中,第二通信装置可以确定M个通信装置中每个通信装置对应的权重值,根据权重值,从M个通信装置中确定X个通信装置。
其中,第二通信装置可以基于贪心算法,采用下述权重计算公式(3)或公式(4),计算M个通信装置的权重值:
λ=cα+wβ+lγ; 公式(3)
λ=c·α+w·β+l·γ; 公式(4)
其中,λ为权重值,c为通信装置的容量大小,w为通信装置的算力,l为通信装置的通信能力,α、β、γ分别为模型相关的超参数。
第二通信装置可以选择权重值最大的通信装置作为X个通信装置中的通信装置1,然后在与通信装置1通信连接的通信装置中,选择权重值最大的通信装置作为通信装置2,以此类推,选择X个通信装置。如果不能找到与当前选中的通信装置通信连接的通信装置,则回退到上一步重新选择权重值次之的通信装置作为选中的通信装置,直至选择X个通信装置或者所有通信装置容量综合大于模型容量的θ倍。
基于上述两种示例,第二通信装置可以在选择X个通信装置后直接执行步骤705对模型进行拆分,得到每个通信装置对应的子模型,也可以通过执行下述步骤703至步骤704,在得到X个通信装置的确认后,再对模型进行拆分得到每个通信装置对应的子模型。
步骤703、第二通信装置根据X个通信装置的状态信息完成模型拆分。
其中,第二通信装置可以根据X个通信装置的状态信息,对模型进行拆分,得到每个通信装置对应的子模型,并确定每个通信装置的上一跳通信装置和下一跳通信装置。
其中,第一通信装置对应的子模型为第一通信装置利用子模型进行推理时,推理时间最短的子模型。
示例性的,第二通信装置可以采用下述公式(5)所示的状态转移方程,对模型进行拆分,得到每个通信装置对应的子模型:
其中,f为代价函数,u为通信装置的索引值,v为子模型的层数的索引值,fu,v表示路径中前u个通信装置,前v层模型拆分的最小代价,表示第u个设备,t表示推理时间,o表示输出结果的大小,l表示通信装置的通信能力。通过遍历状态转移方程中的各状态,即可求解出最优模型拆分方法。
例如,以第二通信装置对ResNet50模型进行拆分为例,对于不同数量的通信装置,采用随机选择通信装置+状态转移方程包含最优解概率达到95%所需要的重复次数与时间可以如下述表3所示。
表3
通信装置的数量X | 重复次数 | 单次执行时间(s) | 总时间(s) |
5 | 358 | 极短 | 极短 |
7 | 15097 | 0.000012 | 1.76 |
10 | 10870912 | 0.00034 | 3696.11 |
又例如,以第二通信装置对ResNet50模型和Densenet121模型进行拆分为例,本申请实施例采用贪心算法+状态转移方程得到的方案与最优方案的对比结果如图8所示,贪心算法在ResNet50模型和Densenet121模型上与最优解的推理延时比例为0.69与0.63。
其中,对于ResNet50模型,本申请实施例采用贪心算法+状态转移方程得到的方案对应图8中Greedy-D所示的折线,最优方案对应Opt-D所示的折线。对于Densenet121模型,本申请实施例采用贪心算法+状态转移方程得到的方案对应图8中Greedy-R所示的折线,最优方案对应Opt-R所示的折线。
步骤502、第二通信装置向第一通信装置发送第一通信装置对应的子模型;相应的,第一通信装置接收来自第二通信装置的第一通信装置对应的子模型。
步骤503、第一通信装置根据第一通信装置对应的子模型对接收到的数据进行推理。
其中,第一通信装置可以参照下述图9a所示的方法,根据第一通信装置对应的子模型对接收到的数据进行推理,完成推理。
基于上述图5所示的方法,第二通信装置可以调度X个通信装置完成推理任务,X个通信装置执行推理任务时,可以根据通信装置对应的子模型完成推理任务,降低通信开销,同时由于通信装置对应的子模型为推理时间最短的子模型,可以降低推理时延。
可选的,基于上述图5中第一种可能的设计或第二种可能的设计,第二通信装置在确定X个通信装置对应的子模型时,还可以根据X个通信装置的排序确定第一指示信息。
其中,第一指示信息可以用于指示通信装置的上一跳通信装置和下一跳通信装置,
具体的,第二通信装置在确定X个通信装置并对其进行排序后,可以确定:
当第一通信装置为X个通信装置中的通信装置1时,第一通信装置的上一跳通信装置为第二通信装置,第一通信装置的下一跳通信装置为X个通信装置中的通信装置2。
当第一通信装置为X个通信装置中的通信装置k时,第一通信装置的上一跳通信装置为X个通信装置中的通信装置k-1,第一通信装置的下一跳通信装置为X个通信装置中的通信装置k+1;2小于或等于k,k小于或等于X-1。
当第一通信装置为X个通信装置中的通信装置X时,第一通信装置的上一跳通信装置为X个通信装置中的通信装置X-1,第一通信装置的下一跳通信装置为第二通信装置。
当第二通信装置有推理任务时,X个通信装置中的每个通信装置可以根据第一指示信息,参照下述图9a所示的方法,从上一跳通信装置获取数据,根据自身对应的子模型对数据进行推理,将推理结果发送给下一跳通信装置,完成推理。
图9a为本申请实施例提供的一种拆分推理方法的交互示意图,如图9a所示,该方法可以包括:
步骤901、第一通信装置接收来自第一通信装置的上一跳通信装置的数据。
步骤902、第一通信装置根据第一通信装置对应的子模型对数据进行推理,得到推理结果。
步骤903、第一通信装置向第一通信装置的下一跳通信装置发送推理结果。
其中,如图9b所示,当第一通信装置是X个通信装置中的通信装置1时,通信装置1可以接收第二通信装置发送的数据,通信装置1可以根据通信装置1对应的子模型(如子模型1)对第二通信装置发送的数据进行推理,得到推理结果,并将推理结果发送给X个通信装置中的通信装置2。
需要说明的是,第二通信装置向通信装置1发送的数据即第二通信装置中需要进行推理的数据。通信装置1对数据进行推理后得到的推理结果本质上也是数据,所以通信装置1向通信装置2发送的推理结果也可以称为通信装置1向通信装置2发送的数据。
如图9b所示,当第一通信装置是X个通信装置中的通信装置k时,通信装置k可以接收X个通信装置中的通信装置k-1发送的数据,并根据通信装置k对应的子模型(如子模型k)对通信装置k-1发送的数据进行推理,得到推理结果,并将推理结果发送给X个通信装置中的通信装置k+1。
需要说明的是,通信装置k-1向通信装置k发送的数据即通信装置k-1根据通信装置k-1对应的子模型(如子模型k-1)进行推理得到的推理结果。通信装置k对接收到的数据进行推理后得到的推理结果本质上也是数据,所以通信装置k向通信装置k+1发送的推理结果也可以称为通信装置k向通信装置k+1发送的数据。
如图9b所示,当第一通信装置是X个通信装置中的通信装置X时,通信装置X可以接收X个通信装置中的通信装置X-1发送的数据,并根据通信装置X对应的子模型(如子模型X)对通信装置X-1发送的数据进行推理,得到推理结果,并将推理结果发送给第二通信装置。
需要说明的是,通信装置X-1向通信装置X发送的数据即通信装置X-1根据通信装置X-1对应的子模型(如子模型X-1)进行推理后得到的推理结果。由于此时通信装置X是X个通信装置中的最后一个通信装置,通信装置X对接收到的数据进行推理,得到的推理结果便是最终的推理结果。通信装置X将最终的推理结果发送给第二通信装置,完成推理。
综上,对于X个通信装置中的前X-1个通信装置而言,根据子模型推理得到的推理结果可以认为是整个推理任务过程中产生的中间推理结果,最后一个通信装置(即通信装置X)根据子模型推理得到的推理结果可以认为是整个推理任务过程的最终推理结果。
基于上述图9a所示的方法,第二通信装置在调度X个通信装置执行第二通信装置的推理任务时,由于X个通信装置均为终端设备,即通信装置1的下一跳通信装置是终端设备,通信装置k的上一跳通信装置和下一跳通信装置均为终端设备,通信装置X的上一跳通信装置是终端设备,终端设备可以直接从上一跳终端设备获取数据,并将自身推理得到的推理结果发送给下一跳终端设备,相比于终端设备从中心服务器获取数据,并将自身推理得到的推理结果发送给中心服务器,由中心服务器将推理结果发送给下一个终端设备,本申请实施例可以降低推理结果的传输次数,降低通信开销,降低推理时延,同时,由于是由X个通信装置根据X个子模型完成第二通信装置的推理任务,可以降低第二通信装置的算力需求。
上述主要从设备之间交互的角度对本申请实施例提供的方案进行了介绍。可以理解的是,各个设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对各个设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图10示出了一种第一通信装置100,第一通信装置100可以执行上述图5至图9b中第一通信装置执行的动作。
其中,第一通信装置100可以包括收发模块1001和处理模块1002。示例性地,第一通信装置100可以是第一通信装置,也可以是应用于第一通信装置中的芯片或者其他具有上述第一通信装置功能的组合器件、部件等。当第一通信装置100是第一通信装置时,收发模块1001可以是收发器,收发器可以包括天线和射频电路等;处理模块1002可以是处理器(或者,处理电路),例如基带处理器,基带处理器中可以包括一个或多个CPU。当第一通信装置100是具有上述第一通信装置功能的部件时,收发模块1001可以是射频单元;处理模块1002可以是处理器(或者,处理电路),例如基带处理器。当第一通信装置100是芯片系统时,收发模块1001可以是芯片(例如基带芯片)的输入输出接口;处理模块1002可以是芯片系统的处理器(或者,处理电路),可以包括一个或多个中央处理单元。应理解,本申请实施例中的收发模块1001可以由收发器或收发器相关电路组件实现;处理模块1002可以由处理器或处理器相关电路组件(或者,称为处理电路)实现。
例如,收发模块1001可以用于执行图5至图9b所示的实施例中由第一通信装置所执行的全部收发操作,和/或用于支持本文所描述的技术的其它过程;处理模块1002可以用于执行图5至图9b所示的实施例中由第一通信装置所执行的除了收发操作之外的全部操作,和/或用于支持本文所描述的技术的其它过程。
作为又一种可实现方式,图10中的收发模块1001可以由收发器代替,该收发器可以集成收发模块1001的功能;处理模块1002可以由处理器代替,该处理器可以集成处理模块1002的功能。进一步的,图10所示第一通信装置100还可以包括存储器。
在采用对应各个功能划分各个功能模块的情况下,图11示出了一种第二通信装置110,第二通信装置110可以执行上述图5至图9b中第二通信装置执行的动作。
其中,第二通信装置110可以包括收发模块1101和处理模块1102。示例性地,第二通信装置110可以是第二通信装置,也可以是应用于第二通信装置中的芯片或者其他具有上述第二通信装置功能的组合器件、部件等。当第二通信装置110是第二通信装置时,收发模块1101可以是收发器,收发器可以包括天线和射频电路等;处理模块1102可以是处理器(或者,处理电路),例如基带处理器,基带处理器中可以包括一个或多个CPU。当第二通信装置110是具有上述第二通信装置功能的部件时,收发模块1101可以是射频单元;处理模块1102可以是处理器(或者,处理电路),例如基带处理器。当第二通信装置110是芯片系统时,收发模块1101可以是芯片(例如基带芯片)的输入输出接口;处理模块1102可以是芯片系统的处理器(或者,处理电路),可以包括一个或多个中央处理单元。应理解,本申请实施例中的收发模块1101可以由收发器或收发器相关电路组件实现;处理模块1102可以由处理器或处理器相关电路组件(或者,称为处理电路)实现。
例如,收发模块1101可以用于执行图5至图9b所示的实施例中由第二通信装置所执行的全部收发操作,和/或用于支持本文所描述的技术的其它过程;处理模块1102可以用于执行图5至图9b所示的实施例中由第二通信装置所执行的除了收发操作之外的全部操作,和/或用于支持本文所描述的技术的其它过程。
作为又一种可实现方式,图11中的收发模块1101可以由收发器代替,该收发器可以集成收发模块1101的功能;处理模块1102可以由处理器代替,该处理器可以集成处理模块1102的功能。进一步的,图11所示第二通信装置110还可以包括存储器。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品被计算机执行时可以实现上述任一方法实施例的功能。
本申请实施例还提供了一种计算机程序,该计算机程序被计算机执行时可以实现上述任一方法实施例的功能。
本申请实施例还提供了一种计算机可读存储介质。上述方法实施例中的全部或者部分流程可以由计算机程序来指令相关的硬件完成,该程序可存储于上述计算机可读存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。计算机可读存储介质可以是前述任一实施例的终端(包括数据发送端和/或数据接收端)的内部存储单元,例如终端的硬盘或内存。上述计算机可读存储介质也可以是上述终端的外部存储设备,例如上述终端上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,上述计算机可读存储介质还可以既包括上述终端的内部存储单元也包括外部存储设备。上述计算机可读存储介质用于存储上述计算机程序以及上述终端所需的其他程序和数据。上述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
需要说明的是,本申请的说明书、权利要求书及附图中的术语“第一”和“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上,“至少两个(项)”是指两个或三个及三个以上,“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (24)
1.一种拆分推理方法,其特征在于,包括:
第一通信装置接收来自第二通信装置的所述第一通信装置对应的子模型;其中,所述第一通信装置对应的子模型为所述第二通信装置对模型进行拆分得到的X个子模型中的一个,所述X个通信装置中的通信装置x对应第x个子模型,所述X个通信装置包括所述第一通信装置,1小于或等于x,x小于或等于X;所述第一通信装置对应的子模型为所述第一通信装置利用子模型进行推理时,推理时间最短的子模型;
所述第一通信装置根据所述第一通信装置对应的子模型对接收到的数据进行推理。
2.根据权利要求1所述的方法,其特征在于,
所述第一通信装置为所述第一通信装置对应的通信装置组中,利用子模型进行推理时,推理时间最短的通信装置;其中,所述通信装置组包括一个或多个通信装置。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述第一通信装置接收来自所述第二通信装置的第一指示信息;其中,所述第一指示信息用于指示所述第一通信装置的上一跳通信装置和下一跳通信装置,所述第一通信装置的上一跳通信装置和下一跳通信装置中包括至少一个终端设备。
4.根据权利要求3所述的方法,其特征在于,
当所述第一通信装置为所述X个通信装置中的通信装置1时,所述第一通信装置的上一跳通信装置为所述第二通信装置,所述第一通信装置的下一跳通信装置为所述X个通信装置中的通信装置2;或者
当所述第一通信装置为所述X个通信装置中的通信装置k时,所述第一通信装置的上一跳通信装置为所述X个通信装置中的通信装置k-1,所述第一通信装置的下一跳通信装置为所述X个通信装置中的通信装置k+1;2≤k≤X-1;或者
当所述第一通信装置为所述X个通信装置中的通信装置X时,所述第一通信装置的上一跳通信装置为所述X个通信装置中的通信装置X-1,所述第一通信装置的下一跳通信装置为所述第二通信装置。
5.一种拆分推理方法,其特征在于,包括:
第二通信装置确定第一通信装置对应的子模型;其中,所述第一通信装置对应的子模型为所述第二通信装置对模型进行拆分得到的X个子模型中的一个,所述X个通信装置中的通信装置x对应第x个子模型,所述X个通信装置包括所述第一通信装置,1小于或等于x,x小于或等于X;所述第一通信装置对应的子模型为所述第一通信装置利用子模型进行推理时,推理时间最短的子模型;
所述第二通信装置向所述第一通信装置发送所述第一通信装置对应的子模型。
6.根据权利要求5所述的方法,其特征在于,所述第二通信装置确定所述第一通信装置对应的子模型,包括:
所述第二通信装置确定X个通信装置组;其中,每个所述通信装置组包括一个或多个通信装置;
所述第二通信装置从每个所述通信装置组中确定一个第一通信装置,并确定所述第一通信装置对应的子模型;其中,所述第一通信装置为所述通信装置组中,利用子模型进行推理时,推理时间最短的通信装置。
7.根据权利要求5所述的方法,其特征在于,所述第二通信装置确定所述第一通信装置对应的子模型,包括:
所述第二通信装置确定所述X个通信装置;
所述第二通信装置根据所述X个通信装置对模型进行拆分,得到所述第一通信装置对应的子模型。
8.根据权利要求7所述的方法,其特征在于,所述第二通信装置确定所述X个通信装置,包括:
所述第二通信装置从M个通信装置中随机确定X个通信装置;其中,M大于或等于X;或者
所述第二通信装置确定M个通信装置中每个通信装置对应的权重值,根据所述权重值,从所述M个通信装置中确定所述X个通信装置;其中,M大于或等于X。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述方法还包括:
所述第二通信装置根据所述X个通信装置,向所述第一通信装置发送第一指示信息;其中,所述第一指示信息用于指示所述第一通信装置的上一跳通信装置和下一跳通信装置。
10.一种通信装置,其特征在于,包括:
收发模块,用于接收来自第二通信装置的第一通信装置对应的子模型;其中,所述第一通信装置对应的子模型为第二通信装置对模型进行拆分得到的X个子模型中的一个,所述X个通信装置中的通信装置x对应第x个子模型,所述X个通信装置包括所述第一通信装置,1小于或等于x,x小于或等于X;所述第一通信装置对应的子模型为所述第一通信装置利用子模型进行推理时,推理时间最短的子模型;
处理模块,用于根据所述第一通信装置对应的子模型对接收到的数据进行推理。
11.根据权利要求10所述的装置,其特征在于,
所述第一通信装置为所述第一通信装置对应的通信装置组中,利用子模型进行推理时,推理时间最短的通信装置;其中,所述通信装置组包括一个或多个通信装置。
12.根据权利要求10或11所述的装置,其特征在于,
所述收发模块,还用于接收来自所述第二通信装置的第一指示信息;其中,所述第一指示信息用于指示所述第一通信装置的上一跳通信装置和下一跳通信装置,所述第一通信装置的上一跳通信装置和下一跳通信装置中包括至少一个终端设备。
13.根据权利要求12所述的装置,其特征在于,
当所述第一通信装置为所述X个通信装置中的通信装置1时,所述第一通信装置的上一跳通信装置为所述第二通信装置,所述第一通信装置的下一跳通信装置为所述X个通信装置中的通信装置2;或者
当所述第一通信装置为所述X个通信装置中的通信装置k时,所述第一通信装置的上一跳通信装置为所述X个通信装置中的通信装置k-1,所述第一通信装置的下一跳通信装置为所述X个通信装置中的通信装置k+1;2≤k≤X-1;或者
当所述第一通信装置为所述X个通信装置中的通信装置X时,所述第一通信装置的上一跳通信装置为所述X个通信装置中的通信装置X-1,所述第一通信装置的下一跳通信装置为所述第二通信装置。
14.一种通信装置,其特征在于,包括:
处理模块,用于确定第一通信装置对应的子模型;其中,所述第一通信装置对应的子模型为第二通信装置对模型进行拆分得到的X个子模型中的一个,所述X个通信装置中的通信装置x对应第x个子模型,所述X个通信装置包括所述第一通信装置,1小于或等于x,x小于或等于X;所述第一通信装置对应的子模型为所述第一通信装置利用子模型进行推理时,推理时间最短的子模型;
收发模块,用于向所述第一通信装置发送所述第一通信装置对应的子模型。
15.根据权利要求14所述的装置,其特征在于,
所述处理模块,还用于确定X个通信装置组;其中,每个所述通信装置组包括一个或多个通信装置;
所述处理模块,还用于从每个所述通信装置组中确定一个第一通信装置,并确定所述第一通信装置对应的子模型;其中,所述第一通信装置为所述通信装置组中,利用子模型进行推理时,推理时间最短的通信装置。
16.根据权利要求14所述的装置,其特征在于,
所述处理模块,还用于确定所述X个通信装置;
所述处理模块,还用于根据所述X个通信装置对模型进行拆分,得到所述第一通信装置对应的子模型。
17.根据权利要求16所述的装置,其特征在于,
所述处理模块,还用于从M个通信装置中随机确定X个通信装置;其中,M大于或等于X;或者
所述处理模块,还用于确定M个通信装置中每个通信装置对应的权重值,根据所述权重值,从所述M个通信装置中确定所述X个通信装置;其中,M大于或等于X。
18.根据权利要求14-17任一项所述的装置,其特征在于,
所述收发模块,还用于根据所述X个通信装置,向所述第一通信装置发送第一指示信息;其中,所述第一指示信息用于指示所述第一通信装置的上一跳通信装置和下一跳通信装置。
19.一种通信装置,其特征在于,包括用于执行权利要求1-4任一项所述的方法的模块或单元。
20.一种通信装置,其特征在于,包括用于执行权利要求5-9任一项所述的方法的模块或单元。
21.一种通信装置,其特征在于,所述通信装置包括处理器;所述处理器,用于运行计算机程序或指令,以使所述通信装置执行如权利要求1-4任一项所述的拆分推理方法,或者执行如权利要求5-9任一项所述的拆分推理方法。
22.一种通信装置,其特征在于,所述通信装置包括输入输出接口和逻辑电路;所述输入输出接口,用于输入和/或输出信息;所述逻辑电路用于执行如权利要求1-4任一项所述的拆分推理方法,或者执行如权利要求5-9任一项所述的拆分推理方法,根据所述信息进行处理和/或生成所述信息。
23.一种计算机可读存储介质,其特征在于,计算机可读存储介质存储有计算机指令或程序,当计算机指令或程序在计算机上运行时,使得如权利要求1-4任一项所述的拆分推理方法被执行,或者如权利要求5-9任一项所述的拆分推理方法被执行。
24.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令;当部分或全部所述计算机指令在计算机上运行时,使得如权利要求1-4任一项所述的拆分推理方法被执行,或者如权利要求5-9任一项所述的拆分推理方法被执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210220895.4A CN116776977A (zh) | 2022-03-08 | 2022-03-08 | 拆分推理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210220895.4A CN116776977A (zh) | 2022-03-08 | 2022-03-08 | 拆分推理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116776977A true CN116776977A (zh) | 2023-09-19 |
Family
ID=87986477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210220895.4A Pending CN116776977A (zh) | 2022-03-08 | 2022-03-08 | 拆分推理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116776977A (zh) |
-
2022
- 2022-03-08 CN CN202210220895.4A patent/CN116776977A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | Exploiting massive D2D collaboration for energy-efficient mobile edge computing | |
JP7234357B2 (ja) | データ伝送方法、装置及び読み取り可能な記憶媒体 | |
JP7169499B2 (ja) | キャリア集合の決定方法およびデバイス、記憶媒体、および電子デバイス | |
CN104969649A (zh) | Wifi实时流和蓝牙共存 | |
CN104770033B (zh) | 传输信息的方法、装置和系统 | |
JP2017512409A5 (zh) | ||
Li et al. | Opportunistic computing offloading in edge clouds | |
WO2022111646A1 (zh) | 一种算力感知的会话管理方法及通信装置 | |
CN109217960A (zh) | 利用资源聚合进行多信道时间同步无线联网 | |
WO2023104169A1 (zh) | 一种无线网络中的人工智能ai模型训练方法及装置 | |
CN106714329A (zh) | 一种建立数据链路的方法及装置 | |
CN108347768B (zh) | 前导资源分组方法、前导选择方法,网络设备及终端设备 | |
CN115843037A (zh) | 数据处理方法及装置 | |
WO2015180017A1 (zh) | 设备到设备临近服务中传输信号的方法、基站和用户设备 | |
WO2023088465A1 (zh) | 一种模型训练方法及相关装置 | |
CN116776977A (zh) | 拆分推理方法及装置 | |
WO2022048344A1 (zh) | 一种通信方法及设备 | |
JP7425197B2 (ja) | スケジューリング方法及び装置 | |
CN116776976A (zh) | 拆分推理方法及装置 | |
WO2017205999A1 (zh) | 一种数据传输的方法、设备和系统 | |
CN113938985A (zh) | 一种通信方法及装置 | |
WO2015068967A1 (ko) | 채널 호핑 기반의 d2d 통신 방법 및 장치 | |
US20240020513A1 (en) | Data processing method and apparatus | |
WO2023246744A1 (zh) | 一种通信方法及装置 | |
WO2023169263A1 (zh) | 一种信号传输方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |