技术领域
本发明涉及神经网络、深度学习、机器学习领域,特别涉及一种计算深度学习模型运行资源的最优化方法。
背景技术
随着云技术和AI技术的不断发展,深度学习模型在云端训练和部署已经成为趋势。而云服务提供商会根据用户选择的计算资源(CPU/GPU,内存/显存)进行收费。如何根据模型的不同来动态计算模型的最优化运行资源,是能够保证模型效果和降低成本的关键。
根据RooflineModel[1]理论,深度学习模型在计算平台上能够达到的每秒浮点运算次数(FLOPS),取决于计算平台的计算强度上限I
I
I=模型计算量F/访存量M(2)。
因此,模型在计算平台的限制下,所能达到的理论计算能力上限P的计算公式如(3)。而示意图如图1所示,
当模型的计算强度I小于平台的计算强度上限I
发明内容
本发明要解决的技术问题是克服现有技术的缺陷,提供一种计算深度学习模型运行资源的最优化方法,能够在满足计算指标的情况下,最优化选择运行资源利用率最高及成本最低的方案。
为了解决上述技术问题,本发明提供了如下的技术方案:
本发明一种计算深度学习模型运行资源的最优化方法,包括以下步骤:
S1.获取计算平台的各项资源,如CPU/GPU,内存/显存的参数,如计算能力、带宽、内存/显存和成本(π
S2.获取模型在计算平台上运行的约束条件,如神经网络迭代一次的时间T;
S3.获取深度学习模型的计算量F和访存量M,计算模型的计算强度I,I=F/M;
S4.以成本函数Cost(x)和资源利用率函数Util(x)为目标函数,列出模型运行的约束条件;
目标函数:
其中,t
约束条件:
S5.利用Pareto优化算法对步骤S4中的多目标优化问题进行求解,能够在满足约束条件下,在解空间中寻找一组最优解来满足多目标函数,因此通过该算法的计算能够得到模型运行的成本的最低值C
与现有技术相比,本发明的有益效果如下:
本发明提出了一种计算深度学习模型运行资源的最优化方法,能够在满足计算指标的情况下,最优化选择运行资源利用率最高及成本最低的方案。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是模型可达到的理论计算能力P与理论计算强度I的关系示意图;
图2是本发明基于数据绘制的最优化资源策略选择示意图;
图3是本发明算法的实施流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例1
本发明如图1-3所示,本发明提供一种计算深度学习模型运行资源的最优化方法,为了根据模型选择最优化运行资源,需要按照图3的步骤进行计算,包括以下步骤:
S1.获取计算平台的各项资源(CPU/GPU,内存/显存)的参数,如计算能力、带宽、内存/显存和成本(π
S2.获取模型在计算平台上运行的约束条件,如神经网络迭代一次的时间T;
S3.获取深度学习模型的计算量F和访存量M,计算模型的计算强度I,I=F/M;
S4.以成本函数Cost(x)和资源利用率函数Util(x)为目标函数,列出模型运行的约束条件;
目标函数:
其中,t
约束条件:
S5.利用Pareto优化算法对步骤S4中的多目标优化问题进行求解,Pareto算法是常用的解决多目标函数问题的算法之一,能够在满足约束条件下,在解空间中寻找一组最优解来满足多目标函数,因此通过该算法的计算能够得到模型运行的成本的最低值C
具体的,本发明提出了一种计算深度学习模型运行资源的最优化方法,能够在满足计算指标的情况下,最优化选择运行资源利用率最高及成本最低的方案。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 两个阶段培训,以获得最佳的深度学习模型,有效利用计算资源
机译: 一种用于获取,监视和/或分析电气设备,特别是开关系统及其组件的运行参数的方法,其中,运行介质或一组传感器运行装置与至少一个计算机和资源相关联-通过接口的计算机具有Intranet-或Internet访问
机译: 睡眠深度测量装置,睡眠深度测量方法,计算机程序和学习模型