交错式流水线调度方法、装置、设备以及存储介质与流程
- 国知局
- 2024-07-31 23:19:31
本公开涉及计算机,尤其涉及深度学习、神经网络以及并行计算等人工智能。
背景技术:
1、在深度学习领域,可以使用分布式策略来提高计算单元的计算效率。流水线并行策略是一种常用的分布式策略。其中交错式流水线可以进一步优化普通流水线的空泡(bubble)的占用率。
技术实现思路
1、本公开提供了一种交错式流水线调度方法、装置、设备以及存储介质。
2、根据本公开的一方面,提供了一种交错式流水线调度方法,包括:
3、根据流水线切分维度、交错维度和累加次数,得到微批调度参数;
4、根据该微批调度参数,确定需要缓存调度的微批的发送区间;
5、根据该发送区间和缓存单元,对该需要延迟发送的微批的计算结果进行缓存调度。
6、根据本公开的另一方面,提供了一种交错式流水线调度装置,包括:
7、参数获取模块,用于根据流水线切分维度、交错维度和累加次数,得到微批调度参数;
8、区间确定模块,用于根据该微批调度参数,确定需要缓存调度的微批的发送区间;
9、缓存调度模块,用于根据该发送区间和缓存单元,对该需要延迟发送的微批的计算结果进行缓存调度。
10、根据本公开的另一方面,提供了一种电子设备,包括:
11、至少一个处理器;以及
12、与该至少一个处理器通信连接的存储器;其中,
13、该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开实施例中任一的方法。
14、根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,该计算机指令用于使该计算机执行根据本公开实施例中任一的方法。
15、根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现根据本公开实施例中任一的方法。
16、本公开实施例中,引入缓存机制来辅助交错式流水线的调度,并且通过微批调度参数确定需要缓存调度的微批的发送区间,可以延迟发送部分微批的计算结果,不限制一次调度的微批数量,提高了交错式流水线调度的适用性。
17、应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
技术特征:1.一种交错式流水线调度方法,包括:
2.根据权利要求1所述的方法,其中,所述流水线切分维度包括用于对模型训练过程进行流水线调度的计算单元的数量。
3.根据权利要求1或2所述的方法,其中,模型训练过程划分为多个阶段,所述交错维度包括一个计算单元对一个微批需要交错执行的阶段个数。
4.根据权利要求1至3中任一项所述的方法,其中,根据流水线切分维度、交错维度和累加次数,得到微批调度参数,包括:
5.根据权利要求4所述的方法,其中,根据所述微批调度参数,确定需要缓存调度的微批的发送区间,包括:
6.根据权利要求4或5所述的方法,其中,根据所述发送区间和缓存单元,对所述需要延迟发送的微批的计算结果进行缓存调度,包括:
7.根据权利要求6所述的方法,其中,根据最后一个计算单元正在处理的微批的当前步数、所述发送区间和前向缓存队列,对最后一个计算单元在前向计算过程中需要延迟发送的微批的计算结果进行缓存调度,包括:
8.根据权利要求7所述的方法,其中,根据所述当前步数和所述发送区间,确定是否向第一个计算单元发送所述前向缓存队列中的头部张量,包括:
9.根据权利要求6至8中任一项所述的方法,其中,根据最后一个计算单元正在处理的微批的当前步数、所述发送区间和前向缓存队列,对最后一个计算单元在前向计算过程中需要延迟发送的微批的计算结果进行缓存调度,包括:
10.根据权利要求4或5所述的方法,其中,根据所述发送区间和缓存单元,对所述需要延迟发送的微批的计算结果进行缓存调度,包括:
11.根据权利要求10所述的方法,其中,根据第一个计算单元正在处理的微批的当前步数、所述发送区间和后向缓存队列,对第一个计算单元在后向计算过程中需要延迟发送的微批的计算结果进行缓存调度,包括:
12.根据权利要求11所述的方法,其中,根据所述当前步数和所述发送区间,确定是否向最后一个计算单元发送所述后向缓存队列中的头部张量,包括:
13.根据权利要求10至12中任一项所述的方法,其中,根据第一个计算单元正在处理的微批的当前步数、所述发送区间和前向缓存队列,对最后一个计算单元在后向计算过程中需要延迟发送的微批的计算结果进行缓存调度,包括:
14.一种交错式流水线调度装置,包括:
15.根据权利要求14所述的装置,其中,所述流水线切分维度包括用于对模型训练过程进行流水线调度的计算单元的数量。
16.根据权利要求14或15所述的装置,其中,模型训练过程划分为多个阶段,所述交错维度包括一个计算单元对一个微批需要交错执行的阶段个数。
17.根据权利要求14至16中任一项所述的装置,其中,所述参数获取模块,包括:
18.根据权利要求17所述的装置,其中,所述区间确定模块,包括:
19.根据权利要求17或18所述的装置,其中,所述缓存调度模块还用于根据最后一个计算单元正在处理的微批的当前步数、所述发送区间和前向缓存队列,对最后一个计算单元在前向计算过程中需要延迟发送的微批的计算结果进行缓存调度。
20.根据权利要求19所述的装置,其中,所述缓存调度模块,包括:
21.根据权利要求20所述的装置,其中,所述缓存调度模块还包括:
22.根据权利要求19至21中任一项所述的装置,其中,所述缓存调度模块,还包括:
23.根据权利要求17或18所述的装置,其中,所述缓存调度模块还用于根据第一个计算单元正在处理的微批的当前步数、所述发送区间和后向缓存队列,对第一个计算单元在后向计算过程中需要延迟发送的微批的计算结果进行缓存调度。
24.根据权利要求23所述的装置,其中,所述缓存调度模块,还包括:
25.根据权利要求24所述的装置,其中,所述缓存调度模块还包括:
26.根据权利要求23至25中任一项所述的装置,其中,所述缓存调度模块,还包括:
27.一种电子设备,包括:
28.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-13中任一项所述的方法。
29.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-13中任一项所述的方法。
技术总结本公开提供了交错式流水线调度方法、装置、设备以及存储介质,涉及计算机技术领域,尤其涉及深度学习、神经网络以及并行计算等人工智能技术领域。具体实现方案为:根据流水线切分维度、交错维度和累加次数,得到微批调度参数;根据该微批调度参数,确定需要缓存调度的微批的发送区间;根据该发送区间和缓存单元,对该需要延迟发送的微批的计算结果进行缓存调度。根据本公开,可以创建缓存单元例如缓存队列,在缓存单元中缓存部分计算单元的计算结果,延迟发送计算结果。这样可以延迟发送部分微批的计算结果,提高交错式流水线调度的适用性。技术研发人员:沈亮,曾锦乐,于佃海,杨嘉彬,王海峰受保护的技术使用者:北京百度网讯科技有限公司技术研发日:技术公布日:2024/7/29本文地址:https://www.jishuxx.com/zhuanli/20240730/197016.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表