一种数据传输方法、装置、设备及存储介质与流程

文档序号:35350214发布日期:2023-09-07 21:55阅读:23来源:国知局
一种数据传输方法、装置、设备及存储介质与流程

本发明涉及计算机,特别涉及一种数据传输方法、装置、设备及存储介质。


背景技术:

1、以深度学习的提出为标志,在爆发式增长的计算力及大数据加持之下,人工智能在近十几年又经历一番蓬勃发展,在大量领域取得了丰硕成果。近几年来,人工智能发展出超大规模模型。超大规模智能模型(简称“大模型”)可以显著解决小模型研发过程中存在的问题,其泛化能力强,利用少量数据进行微调或不进行微调就能完成多个场景的任务。面对千亿、万亿参数规模的大模型训练,通常采用自动混合精度(automatic mixed precision,amp)训练。目前,对于影响深度学习训练的因素,人们常常忽略网络传输在训练提速中的重要作用。特别是在大规模集群,分布式训练的场景中,网络的拥塞可能直接导致超算算力的失效。现有的大规模分布式训练技术方案中没有针对性考虑网络环境尤其是网络拥塞对于训练造成的不良影响。

2、因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。


技术实现思路

1、有鉴于此,本发明的目的在于提供一种数据传输方法、装置、设备及存储介质,能够根据网络实际状态动态决定网络中实际传输数据精度,从而既保证了网络训练的精度,同时又可以降低网络通讯量,节省网络带宽占用。其具体方案如下:

2、第一方面,本技术公开了一种数据传输方法,应用于智能网卡的数据发送端,包括:

3、确定当前网络状态;

4、获取原始数据精度的待传输数据,并根据所述当前网络状态确定与所述原始数据精度的待传输数据对应的数据传输策略;

5、基于所述数据传输策略确定进行数据传输时对应的目标数据精度,并基于所述原始数据精度的待传输数据确定所述目标数据精度的待传输数据;

6、将所述目标数据精度的待传输数据发送至数据接收端,以便所述数据接收端根据所述目标数据精度,确定与所述目标数据精度的待传输数据对应的数据处理逻辑。

7、可选的,所述确定当前网络状态,包括:

8、确定当前进行数据传输时的网络协议;

9、基于所述网络协议确定相应的拥塞控制组件;

10、根据所述拥塞控制组件判断当前网络是否处于网络拥塞状态。

11、可选的,所述获取原始数据精度的待传输数据,并根据所述当前网络状态确定所述原始数据精度的待传输数据对应的数据传输策略,包括:

12、获取原始数据精度的待传输数据;

13、如果当前网络没有处于网络拥塞状态,则确定所述原始数据精度的待传输数据对应的第一数据传输策略;所述第一数据传输策略为以所述原始数据精度作为进行数据传输时对应的数据精度的数据传输策略;

14、如果当前网络处于网络拥塞状态,则确定所述原始数据精度的待传输数据对应的第二数据传输策略;所述第二数据传输策略为以第一数据精度作为进行数据传输时对应的数据精度的数据传输策略;所述第一数据精度低于所述原始数据精度。

15、可选的,当所述网络协议为传输控制协议网络时,所述基于所述网络协议确定相应的拥塞控制组件,包括:

16、利用所述传输控制协议网络对应的智能网卡程序跟踪并维护一个拥塞窗口;其中,所述拥塞窗口中存放的数据为向所述数据接收端发送预设数据段后没有收到回复的数据;

17、相应的,所述根据所述拥塞控制组件判断当前网络是否处于网络拥塞状态,包括:

18、如果在预设时间间隔内所述拥塞窗口成功接收到所述数据接收端返回的与所述预设数据段对应的确认报文,则判定当前网络不处于网络拥塞状态;

19、如果在所述预设时间间隔内所述拥塞窗口没有接收到所述数据接收端返回的与所述预设数据段对应的确认报文,或连续接收到所述数据接收端多次返回的与所述预设数据段对应的确认报文,则判定当前网络处于网络拥塞状态。

20、可选的,所述基于所述数据传输策略确定进行数据传输时对应的目标数据精度,并基于所述原始数据精度的待传输数据确定所述目标数据精度的待传输数据,包括:

21、如果当前网络处于网络拥塞状态,基于所述第二数据传输策略将所述第一数据精度确定为进行数据传输时对应的所述目标数据精度;

22、比对所述原始数据精度的数值范围与所述第一数据精度的数值范围;

23、如果所述原始数据精度的数值范围与所述第一数据精度的数值范围存在重叠部分,则将与所述重叠部分对应的所述原始数据精度的待传输数据直接转换为所述第一数据精度的待传输数据;

24、如果所述原始数据精度的数值范围超出所述第一数据精度的数值范围,则判断是否能够通过初始缩放因子将所述原始数据精度调整为所述第一数据精度;其中,所述初始缩放因子为初始的进行精度调整时的比例因子;

25、如果能够通过所述初始缩放因子将所述原始数据精度调整为所述第一数据精度,则基于所述初始缩放因子将所述原始数据精度的待传输数据转换为所述第一数据精度的待传输数据;

26、如果不能够通过所述初始缩放因子将所述原始数据精度调整为所述第一数据精度,则更新所述初始缩放因子得到更新后缩放因子,并基于所述更新后缩放因子将所述原始数据精度的待传输数据转换为所述第一数据精度的待传输数据。

27、可选的,所述将所述目标数据精度的待传输数据发送至数据接收端,以便所述数据接收端根据所述目标数据精度,确定与所述目标数据精度的待传输数据对应的数据处理逻辑,包括:

28、将所述目标数据精度的待传输数据发送至数据接收端,以便所述数据接收端通过比较所述目标数据精度与所述原始数据精度的方式判断是否需要对所述目标数据精度的待传输数据进行数据精度的恢复操作,若不需要则直接将所述目标数据精度的待传输数据传输至预设网络设备,若需要则将所述目标数据精度的待传输数据恢复至第二数据精度的待传输数据,并将所述第二数据精度的待传输数据传输至所述预设网络设备;所述第二数据精度与所述原始数据精度相同;

29、其中,若所述目标数据精度与所述原始数据精度相同则判定不需要进行所述恢复操作,若所述目标数据精度与所述原始数据精度不相同则判定需要进行所述恢复操作。

30、第二方面,本技术公开了一种数据传输方法,应用于智能网卡的数据接收端,包括:

31、接收数据发送端发送的目标数据精度的待传输数据;其中,所述目标数据精度为所述数据发送端基于数据传输策略确定的进行数据传输时对应的数据精度;所述数据传输策略为所述数据发送端根据当前网络状态确定的与原始数据精度的待传输数据对应的数据传输策略;

32、根据所述目标数据精度,确定与所述目标数据精度的待传输数据对应的数据处理逻辑,以便利用所述数据处理逻辑对所述目标数据精度的待传输数据进行相应的处理。

33、第三方面,本技术公开了一种数据传输装置,应用于智能网卡的数据发送端,包括:

34、网络状态确定模块,用于确定当前网络状态;

35、数据传输策略确定模块,用于获取原始数据精度的待传输数据,并根据所述当前网络状态确定与所述原始数据精度的待传输数据对应的数据传输策略;

36、目标数据精度确定模块,用于基于所述数据传输策略确定进行数据传输时对应的目标数据精度,并基于所述原始数据精度的待传输数据确定所述目标数据精度的待传输数据;

37、数据发送模块,用于将所述目标数据精度的待传输数据发送至数据接收端,以便所述数据接收端根据所述目标数据精度,确定与所述目标数据精度的待传输数据对应的数据处理逻辑。

38、第四方面,本技术公开了一种电子设备,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如前所述的数据传输方法。

39、第五方面,本技术公开了一种计算机可读存储介质,用于存储计算机程序;其中所述计算机程序被处理器执行时实现如前所述的数据传输方法。

40、本技术提供了一种数据传输方法,应用于智能网卡的数据发送端,包括:确定当前网络状态;获取原始数据精度的待传输数据,并根据所述当前网络状态确定与所述原始数据精度的待传输数据对应的数据传输策略;基于所述数据传输策略确定进行数据传输时对应的目标数据精度,并基于所述原始数据精度的待传输数据确定所述目标数据精度的待传输数据;将所述目标数据精度的待传输数据发送至数据接收端,以便所述数据接收端根据所述目标数据精度,确定与所述目标数据精度的待传输数据对应的数据处理逻辑。本发明的有益技术效果为:通过数据发送端与数据接收端智能集成网络状态判断及数据处理逻辑,将处理算法与网络状态检测方法集成于智能网卡,根据网络实际状态动态决定网络中实际传输数据对应的数据传输策略,从而实现网络传输数据精度的实时转换。根据网络状况实时决定数据传输精度,既保证了数据传输速度,同时又能有效降低网络通讯量,节省网络带宽占用,提高通讯效率。

41、此外,本技术提供的一种数据传输装置、设备及存储介质,与上述数据传输方法对应,效果同上。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1