求解器推荐方法、系统、芯片、设备及介质、程序产品技术方案

技术编号:34203971 阅读:16 留言:0更新日期:2022-07-20 11:23
本申请提供了一种求解器推荐方法,该方法应用于人工智能技术领域,包括:先对求解器集中多个求解器分别建模得到多个性能评估模型,然后根据多个性能评估模型,获得多个求解器对待求解矩阵进行求解的性能值,根据多个性能值,推荐与待求解矩阵对应的目标求解器。如此求解器集中的求解器被更新,或者新增求解器时,无需对所有求解器的性能值排序,并根据排序结果对所有求解器重新建模,实现了对求解器的性能评估模型的增进式管理,具有较好的扩展性,能够满足用户需求。能够满足用户需求。能够满足用户需求。

【技术实现步骤摘要】
求解器推荐方法、系统、芯片、设备及介质、程序产品


[0001]本申请涉及人工智能(artificial intelligence,AI)
,尤其涉及一种求解器推荐方法、系统、芯片、设备以及计算机可读存储介质、计算机程序产品。

技术介绍

[0002]在和高性能计算(high performance computing,HPC)相关的科学与工程领域,如气象学、电磁学、流体力学或者是天体模拟等领域,解决问题的关键最终都回归到线性方程组的求解,如流体力学中对纳维尔斯托克斯方程组(Navier Stokes equations)的求解,电磁学中对麦克斯韦方程组(Maxwell equations)的求解。
[0003]对于线性方程组的求解可以通过求解器实现。求解器是用于对线性方程组求解的工具。求解器可以包括多种类型。例如根据待求解矩阵(例如是方程组的增广矩阵)的存储格式,求解器可以分为稠密矩阵求解器和稀疏矩阵求解器。又例如根据所采用的求解算法的分类,求解器可以分为直接求解法求解器和迭代法求解器。
[0004]对于求解器的选择长期以来是依赖于专家经验和实例测试。随着机器学习的不断发展,业界逐渐产生通过机器学习对各求解器的性能进行建模的尝试。以开源代码lighthouse为例,lighthouse选择一组求解器,在数据集如稀疏矩阵数据集上通过求解器进行求解,并开展性能测试,对各求解器的性能进行排序,根据排序结果通过机器学习建模。应用该模型可以为用户提供的其他矩阵推荐合适的求解器,具体是推荐合适的求解算法和超参数设置。
[0005]当引入新的求解算法或者已有的求解算法被更新,则需要重新排序,并根据更新的排序结果重新建模,扩展性较差,难以满足用户需求。

技术实现思路

[0006]本申请提供了一种求解器推荐方法,该方法通过先对多个求解器建模得到多个性能评估模型,基于多个性能评估模型获得多个求解器对待求解矩阵求解的性能值,基于该性能值进行求解器推荐。由于无需根据排序结果对所有求解器重新建模,可以实现对求解器的性能评估模型的增进式管理,具有较好的扩展性,能够满足用户的需求。本申请还提供了上述方法对应的推荐系统、设备、芯片、计算机可读存储介质以及计算机程序产品。
[0007]第一方面,本申请提供了一种求解器推荐方法。该方法可以由推荐系统执行。其中,推荐系统可以是软件系统,该软件系统可以部署在服务器,例如是公有云、私有云、混合云的服务器中。部署推荐系统的服务器可以称作推荐服务器。
[0008]具体地,推荐系统根据求解器集中多个求解器对应的多个性能评估模型,分别获得多个求解器对待求解矩阵进行求解的性能值。其中,待求解矩阵来自高性能计算应用,例如是天体模拟应用、气象预测应用等等。这些高性能计算应用最终可以回归到方程组的求解。基于此,待求解矩阵可以是待求解的方程组的矩阵形式。具体地,待求解矩阵可以是待求解的方程组被表达为矩阵形式时的系数矩阵和常数列拼接而成的增广矩阵。推荐系统可
以根据多个求解器对待求解矩阵进行求解的性能值,推荐与待求解矩阵对应的目标求解器。
[0009]该方法通过对多个求解器分别进行建模得到多个性能评估模型,避免了引入新的求解器或已有的求解器被更新时,对各个求解器的性能重新进行排序,并基于排序结果进行统一建模,实现了对求解器的性能评估模型的增进式管理,具有较好的扩展性,能够满足用户的需求。
[0010]在一些可能的实现方式中,多个性能评估模型与多个求解器一一对应。具体地,多个求解器中的每个求解器对应一个性能评估模型,并且每个求解器对应的性能评估模型不同。如此,推荐系统可以根据每个求解器各自对应的性能评估模型,获得每个求解器对待求解矩阵进行求解的性能值,然后基于该性能值推荐目标求解器。当引入新的求解器或已有的求解器被更新时,无需对各个求解器的性能重新排序,并基于排序结果统一建模,实现了对性能评估模型的增进式管理,提升了扩展性。
[0011]在一些可能的实现方式中,推荐系统在模型训练阶段不对性能值进行排序,并基于排序结果对多个求解器统一建模,而是直接以样本数据中多个求解器对样本矩阵进行求解的性能值作为监督信息进行性能评估模型的训练。如此可以对多个求解器分别建模,得到多个性能评估模型。
[0012]区别于以lighthouse为代表的推荐方法,在模型训练阶段对性能值进行排序,以排序结果作为监督信息进行性能评估模型的训练,该方法通过先建模再排序进行求解器推荐,避免了已有求解器的求解算法更新或求解器集中增加新的求解器时,对各求解器的性能重新排序,进而对所有求解器重新建模。如此可以减少建模计算量,提高建模效率,进而提高求解器推荐的效率,提高响应速度。
[0013]在一些可能的实现方式中,多个性能评估模型中的一个性能评估模型,可以通过与一个求解器匹配的机器学习算法训练得到。如此,推荐系统可以针对多个求解器分别确定与其匹配的多个机器学习算法,利用多个机器学习算法分别训练得到多个性能评估模型。一方面,推荐系统可以利用与多个求解器各自匹配的机器学习算法,提高建模效率,另一方面,推荐系统对不同求解器的建模过程进行解耦,当求解器集中已有求解器被更新或新增求解器时,可以仅对更新或新增的求解器建模,提升了扩展性。
[0014]在一些可能的实现方式中,性能评估模型为拟合模型。该拟合模型的输出为与所述拟合模型对应的求解器的性能值。区别以lighthouse为代表的推荐方法,该方法采用拟合模型代替排序模型,直接拟合求解器的性能值,避免了求解器集中已有求解器被更新或新增求解器时对所有求解器重新排序,然后基于排序结果重新对所有求解器建模,提升了扩展性,满足了用户的需求。
[0015]在一些可能的实现方式中,推荐系统可以对多个性能值排序,然后根据多个性能值的排序结果,推荐与待求解矩阵对应的目标求解器。其中,目标求解器可以是多个求解器中性能值最优(例如运行时间最短、占用内存最小)的求解器。
[0016]基于该方法推荐的求解器在对待求解矩阵进行求解时具有较好的性能,例如求解效率高、求解精度高。
[0017]在一些可能的实现方式中,推荐系统可以根据性能值是否满足预设条件,从而推荐与待求解矩阵对应的目标求解器。其中,目标求解器可以是多个求解器中性能值满足预
设条件的求解器。预设条件可以根据需求设定,例如可以是性能值大于预设阈值或者不大于预设阈值。推荐系统可以将多个性能值与预设阈值进行比较,根据与预设阈值的比较结果,推荐与待求解矩阵对应的目标求解器。在一些实施例中,目标求解器可以是运行时间不大于预设时间的求解器,或者是占用内存不大于预设内存的求解器。
[0018]基于该方法可以实现推荐多个求解器,以供用户根据实际需求选择合适的求解器。并且,通过推荐多个求解器可以保障求解过程的高可用性,例如一个求解器停止服务时,可以切换至另一个求解器。
[0019]在一些可能的实现方式中,所述求解器推荐方法的触发条件包括求解器推荐接口被调用。求解器推荐接口是指用于推荐本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种求解器推荐方法,其特征在于,所述方法包括:根据求解器集中多个求解器对应的多个性能评估模型,获得所述多个求解器对待求解矩阵进行求解的性能值,所述待求解矩阵来自高性能计算应用;根据所述多个求解器对所述待求解矩阵进行求解的性能值,推荐与所述待求解矩阵对应的目标求解器。2.根据权利要求1所述的方法,其特征在于,所述多个性能评估模型与所述多个求解器一一对应。3.根据权利要求1或2所述的方法,其特征在于,所述多个性能评估模型中的一个性能评估模型,是通过与一个求解器匹配的机器学习算法训练得到。4.根据权利要求1至3任一项所述的方法,其特征在于,所述性能评估模型为拟合模型,所述拟合模型的输出为与所述拟合模型对应的求解器的性能值。5.根据权利要求1至4任一项所述的方法,其特征在于,所述根据所述多个求解器对所述待求解矩阵进行求解的性能值,推荐与所述待求解矩阵对应的目标求解器,包括:根据所述性能值的排序结果或者与预设阈值的比较结果,推荐与所述待求解矩阵对应的目标求解器。6.根据权利要求1至5任一项所述的方法,其特征在于,所述求解器推荐方法的触发条件包括求解器推荐接口被调用。7.根据权利要求1至6任一项所述的方法,其特征在于,所述根据求解器集中多个求解器对应的多个性能评估模型,获得所述多个求解器对待求解矩阵进行求解的性能值,包括:获取所述待求解矩阵的特征;将所述待求解矩阵的特征输入至多个性能评估模型,获得多个性能值。8.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:推荐所述目标求解器的目标超参数,所述目标超参数根据搜索算法从超参数的搜索空间搜索得到。9.根据权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:根据所述多个求解器对应的定义信息,获得所述多个性能评估模型。10.根据权利要求9所述的方法,其特征在于,所述定义信息包括以下任意一项或多项:求解器特征、矩阵特征、平台特性、超参数、性能、性能评估模型特征和搜索参数。11.根据权利要求9或10所述的方法,其特征在于,所述多个求解器中第一求解器被更新,所述方法还包括:根据更新后的所述第一求解器对应的定义信息,更新所述第一求解器的性能评估模型。12.根据权利要求9至11任一项所述的方法,其特征在于,所述求解器集中新增有第二求解器,所述多个性能评估模型包括所述第二求解器的性能评估模型。13.根据权利要求9至12任一项所述的方法,其特征在于,所述方法还包括:通过用户界面或者应用程序编程接口API接收所述多个求解器对应的定义信息。14.根据权利要求9至13任一项所述的方法,其特征在于,所述定义信息承载在YAML标记语言格式、Javascript对象简谱JSON格式或者文本格式的文档中。15.根据权利要求1至14任一项所述的方法,其特征在于,所述性能值包括运行时间或
占用内存。16.一种求解器推荐方法,其特征在于,所述方法包括:接收用户输入的待求解矩阵,所述待求解矩阵来自高性能计算应用;向所述用户呈现与所述待求解矩阵对应的目标求解器,所述目标求解器根据求解器集中多个求解器对所述待求解矩阵进行求解的多个性能...

【专利技术属性】
技术研发人员:宋昌成王哲王正毛禹鑫
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1