System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于计算图的模型执行计划优化方法和设备技术_技高网

一种基于计算图的模型执行计划优化方法和设备技术

技术编号:40179813 阅读:5 留言:0更新日期:2024-01-26 23:46
本发明专利技术属于计算机深度学习领域,为一种基于计算图的模型执行计划优化方法和设备,该方法包括步骤:S1、获取用户提交的深度学习模型训练任务,将该深度学习模型转换为计算图;S2、将该深度学习模型的执行计划优化任务转换为一个整数线性约束问题进行求解;若求解任务在用户指定时间内完成则直接输出优化后的执行序,否则进入步骤S3;S3、使用张量生命周期感知的宽度优先算法和链路显存感知的深度优先算法分别对输入的计算图进行执行计划的优化;S4、对显存峰值小的执行序微调优化,输出优化后的执行序。本发明专利技术通过可以避免图规模过大时整数线性约束求解方案无法在有效时间内提供可行解的情况,以低开销的方式减少模型的显存需求。

【技术实现步骤摘要】

本专利技术涉及深度学习模型显存优化领域,特别涉及一种基于计算图的模型执行计划优化方法和设备


技术介绍

1、近年来,深度学习在许多领域取得了前所未有的成功,包括视觉、语言、医疗、商业广告等。随着硬件的发展和人们对深度学习技术需求的不断提高,模型呈现越来越大、越来越深的发展趋势。近年来,大模型已被证明是实现更好精度的重要因素之一,其有效性在众多领域的超大模型中得到了一致的实践证明,如视觉模型bit、推荐模型dlrm、自然语言模型bert、gpt3以及最近的chatgpt等。

2、深度学习应用程序是计算密集型和内存密集型任务,这一点在大模型中更为突出。gpu为大模型的训练和推理提供了强有力的算力支撑,在过去六年内,顶级gpu的算力增加了超过了32倍。然而与此同时,显存总量仅增加了6.25倍,这远远跟不上模型训练快速增长的显存需求,使得深度学习逐渐进入显存瓶颈阶段,这大大妨碍了研究人员探索更大的模型架构。深度学习模型通常涉及训练和推理两个阶段,相较于推理阶段,模型训练时前向过程中大部分中间变量需要被保存下来参与后向过程中的梯度求解,批尺寸的增长也会带来明显的显存使用量增长,这导致模型训练过程的显存问题更为突出。虽然分布式训练可以有效支持更大规模模型的训练,然而gpu资源有限且昂贵,因此,如何利用有限的显存资源训练更大的模型或者说支持更大的批尺寸成为一个重要的课题。

3、以往的工作中,研究人员采用offload、gradient checkpoint、量化、压缩等技术来缓解显存压力,然而这些措施会不可避免地引入其他开销,如时间开销、精度损失等。然而,另外一种低开销的通过优化执行序来降低模型本身显存开销的方法通常会被忽略。模型结构的复杂化和深度技术的发展使得计算图的执行序也不再单一,不同的执行序对应不同的显存需求。执行序的优化通常具有显存敏感性、低开销性、通用性、正交性,因此寻找一个合适的执行序对模型的显存节省具有重要的作用。


技术实现思路

1、为了解决上述技术问题,本专利技术提出一种基于计算图的模型执行计划优化的方法和设备,可以在求解任务超时的情况下,快速地执行生成优化方案,以低开销的方式减少模型的显存需求。

2、本方案采取的技术方案是:

3、一种基于计算图的模型执行计划优化的方法,包括:

4、s1、获取用户提交的深度学习模型训练任务,将该深度学习模型转换为计算图;

5、s2、将该深度学习模型的执行计划优化任务转换为一个整数线性约束问题进行求解;若求解任务在用户指定时间内完成则直接输出优化后的执行序,否则进入步骤s3;

6、s3、使用张量生命周期感知的宽度优先算法和链路显存感知的深度优先算法分别对输入的计算图进行执行计划的优化,得到第一执行序和第二执行序;

7、s4、对比第一执行序和第一执行序,选择显存峰值小的执行序,对显存峰值小的执行序微调优化,输出优化后的执行序。

8、具体地,所述计算图为一个有向无环图g=(v,e),其中节点v={v1,v2,…,vn}表示算子,n为计算图中算子总数,边e={e1,e2,…,em}表示张量,m为计算图中张量总数;将任意算子的执行看作一个时间戳,计算图的总执行时间步被建模为t={t1,t2,…,tn},时间步的个数等于计算图中的节点总数,每个时间戳只能有一个算子执行。

9、具体地,所述将该深度学习模型的执行计划优化任务转换为一个整数线性约束问题进行求解,包括:决策变量定义、图约束表达、目标定义三个环节,使用决策变量定义来模型张量的创建和释放操作,根据计算图的结构建立正确性约束,定义优化目标并通过约束求解器对整数线性约束问题对进行求解,。

10、具体地,所述决策变量定义包括:根据计算图分别用二元变量ae,t和pe,t来表达每个张量在每个时刻的创建状态和保存状态,用ae,t∈{0,1}表示创建状态,用pe,t∈{0,1}表示保存状态;ae,t=1表示张量e在t时刻被分配在显存中,ae,t=0则表示张量在此刻不会触发显存分配的操作;pe,t=1表示张量e在t时刻被保存在显存中,pe,t=0则表示此刻张量不在显存中。

11、具体地,所述步骤s3具体包括:

12、s31、根据宽度优先算法,计算顺序最早可执行时间和顺序最晚必须执行时间,预估张量的生命周期,计算每个算子的优先级,在当前可执行的算子中选择优先级最高的算子执行,历遍完成得到第一执行序;

13、s32、根据深度优先算法,进行dfs窗口划分,获取当前窗口关联的相关张量,计算每个窗口的优先级,选择优先级最高的窗口进入历栈,历遍结束后所有的算子按顺序出栈得到第二执行序。。

14、本专利技术还提供一种计算机设备,包括处理器以及用于存储处理器可执行程序的存储器,所述处理器执行存储器存储的程序时,实现上述的一种基于计算图的模型执行计划优化的方法。

15、本专利技术与现有技术相比,具有如下优点和有益效果:

16、本专利技术提出一种基于计算图的模型执行计划优化的方法,通过获取用户提交的深度学习模型训练任务获取其对应的计算图;根据计算图将对应的执行序问题转化为整数线性约束求解问题输入ilp solver工具中进行求解;若求解可在用户指定时间内完成,则直接输出优化后的执行序,一但超时,则尝试采用启发式的方法执行优化;使用张量生命周期感知的宽度优先算法和链路显存感知的深度优先算法分别对计算图进行执行序的优化;获取上述两个优化结果,选择其中显存峰值较低的执行序;最终对选中的执行序进行微调,局部调整一些算子的执行时间并得到最后的执行序;由于不涉及对训练过程的修改,本专利技术能够以低开销的方式减少模型的显存需求;对规模较小的计算图,本专利技术使用精确的整数线性约束求解的方法来推导最优求解方案;同时为了避免图规模过大时整数线性约束求解方案无法在有效时间内提供可行解的情况,本方案提供了两种显存感知的遍历算法以生成低显存开销的执行序,在实际应用场景中能够提供充分的高效性和可用性。

本文档来自技高网...

【技术保护点】

1.一种基于计算图的模型执行计划优化的方法,其特征在于,所述方法包括:

2.根据权利要求1所述的一种基于计算图的模型执行计划优化的方法,其特征在于,所述计算图为一个有向无环图G,G=(V,E),其中节点y={v1,v2,...,vN}表示算子,N为计算图中算子总数,边E={e1,e2,...,eM}表示张量,M为计算图中张量总数;将任意算子的执行看作一个时间戳,计算图的总执行时间步被建模为T={t1,t2,...,tN},时间步的个数等于计算图中的节点总数,每个时间戳只能有一个算子执行。

3.根据权利要求2所述的一种基于计算图的模型执行计划优化的方法,其特征在于,所述将该深度学习模型的执行计划优化任务转换为一个整数线性约束问题进行求解,包括:决策变量定义、图约束表达、目标定义三个步骤,使用决策变量定义来模型张量的创建和释放操作,根据计算图的结构建立正确性约束,定义优化目标并通过约束求解器对整数线性约束问题对进行求解。

4.根据权利要求3所述的一种基于计算图的模型执行计划优化的方法,所述决策变量定义包括:根据计算图分别用二元变量Ae,t和Pe,t来表达每个张量在每个时刻的创建状态和保存状态,用Ae,t∈{0,1}表示创建状态,用Pe,t∈{0,1}表示保存状态;Ae,t=1表示张量e在t时刻被分配在显存中,Ae,t=0则表示张量在此刻不会触发显存分配的操作;Pe,t=1表示张量e在t时刻被保存在显存中,Pe,t=0则表示此刻张量不在显存中。

5.根据权利要求4所述的一种基于计算图的模型执行计划优化的方法,所述的图约束表达包括:

6.根据权利要求1所述的一种基于计算图的模型执行计划优化的方法,其特征在于,步骤S3具体包括:

7.根据权利要求6所述的一种基于计算图的模型执行计划优化的方法,所述计算顺序最早可执行时间和顺序最晚必须执行时间的计算,包括:

8.根据权利要求6所述的一种基于计算图的模型执行计划优化的方法,其特征在于所述的dfs窗口划分包括:

9.根据权利要求6所述的一种基于计算图的模型执行计划优化的方法,其特征在于,所述对显存峰值小的执行序微调优化,包括:遍历显存峰值发生时的保存在显存中的张量集合,对每个张量评估是否可以提前该张量的释放或推迟该张量的生成,若可以则进一步模拟计算该调整操作是否能够降低显存峰值;若能够降低显存峰值则对显存峰值小的执行序进行调整,否则不进行调整。

10.一种计算机设备,包括处理器以及用于存储处理器可执行程序的存储器,其特征在于,所述处理器执行存储器存储的程序时,实现权利要求1-9任一项所述的一种基于计算图的模型执行计划优化的方法。

...

【技术特征摘要】

1.一种基于计算图的模型执行计划优化的方法,其特征在于,所述方法包括:

2.根据权利要求1所述的一种基于计算图的模型执行计划优化的方法,其特征在于,所述计算图为一个有向无环图g,g=(v,e),其中节点y={v1,v2,...,vn}表示算子,n为计算图中算子总数,边e={e1,e2,...,em}表示张量,m为计算图中张量总数;将任意算子的执行看作一个时间戳,计算图的总执行时间步被建模为t={t1,t2,...,tn},时间步的个数等于计算图中的节点总数,每个时间戳只能有一个算子执行。

3.根据权利要求2所述的一种基于计算图的模型执行计划优化的方法,其特征在于,所述将该深度学习模型的执行计划优化任务转换为一个整数线性约束问题进行求解,包括:决策变量定义、图约束表达、目标定义三个步骤,使用决策变量定义来模型张量的创建和释放操作,根据计算图的结构建立正确性约束,定义优化目标并通过约束求解器对整数线性约束问题对进行求解。

4.根据权利要求3所述的一种基于计算图的模型执行计划优化的方法,所述决策变量定义包括:根据计算图分别用二元变量ae,t和pe,t来表达每个张量在每个时刻的创建状态和保存状态,用ae,t∈{0,1}表示创建状态,用pe,t∈{0,1}表示保存状态;ae,t=1表示张量e在t时刻被分配在显存...

【专利技术属性】
技术研发人员:舒惠瑶陆璐冼允廷
申请(专利权)人:华南理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1