【技术实现步骤摘要】
一种高性能算子选择的动态决策方法及装置
[0001]本说明书涉及深度学习算子优化领域,尤其涉及一种高性能算子选择的动态决策方法及装置
。
技术介绍
[0002]在深度学习模型训练中,基于不同加速芯片的算子库其性能表现不同,对于硬件厂商而言,开发出适合自家芯片的计算算子库,并进行持续的迭代优化是十分重要的工作
。
[0003]然而,一方面由于深度学习加速卡的弱复杂逻辑判断处理能力,硬件算子库的开发人员或
AI
编译器很难将计算密集型算子的泛化性能和性能相统一;另一方面,定制化
AI
芯片的算子库建设往往也需要定制化,面临巨大的工作量
。
因此,为了解决算子泛化性和高性能之间的矛盾,通常的做法是对同一算子进行多种不同的实现,每种实现所适用的算子特征参数(
shape
特征)的区间不一致,其性能的侧重点不同,通过添加算子特征区间的限制,这样就可以在小范围内实现性能较好的算子,也有利于算子库的开发和迭代
。
然而,在具体的模型训练中,如何高效的选择到性能最佳的算子实现是算子库面临的一个重要问题
。
如果在训练中没有选择到算子库中的高性能那个算子,往往会导致模型训练的性能极差,而目前所采用的主要方法是通过给定每个算子一个静态的分值来表示这个算子的性能好坏,根据分值大小进行算子选择
。
这种做法的一个问题是,在具体场景下的选择精度问题,即所选算子并不一定是库中性能最佳的实现,因为每个算子在其所适 ...
【技术保护点】
【技术特征摘要】
1.
一种高性能算子选择的动态决策方法,其特征在于,包括:确定构建出的待训练模型;确定所述待训练模型对应的计算图,并根据所述计算图,确定出所述待训练模型中的特定算子;确定所述特定算子的
shape
特征,基于所述
shape
特征,确定在算子库中用于实现所述特定算子的各候选算子,并确定所述
shape
特征落入的特征区间;判断所述特征区间对应的性能排序子表是否已被更新,所述性能排序子表用于排序所述特征区间下所述各候选算子的性能分数;若所述性能排序子表未被更新,在训练所述待训练模型时在不同轮次的训练中采用所述各候选算子中的不同候选算子实现所述特定算子,以得到所述各候选算子在所述特征区间下的性能分数,并根据所述性能分数,对性能排序子表进行更新,以及基于更新后的性能排序子表从所述各候选算子中选取出目标算子,将所述目标算子应用在所述待训练模型中以对所述待训练模型进行训练;若所述性能排序子表已被更新,基于所述性能排序子表从所述各候选算子中选取出目标算子,并将所述目标算子应用在所述待训练模型中以对所述待训练模型进行训练,所述待训练模型完成训练后用于执行所述待训练模型所对应的业务
。2.
如权利要求1所述的方法,其特征在于,所述
shape
特征用于表示算子的输入参数
、
输出参数以及算子相关参数中的至少一种,算子相关参数包括卷积核相关参数
。3.
如权利要求1或2所述的方法,其特征在于,确定所述
shape
特征落入的特征区间,具体包括:根据所述
shape
特征中的各参数值,确定优化半径;根据所述优化半径以及所述
shape
特征,确定所述
shape
特征落入的特征区间
。4.
如权利要求3所述的方法,其特征在于,根据所述
shape
特征中的各参数值,确定优化半径,具体包括:针对所述
shape
特征中的每个参数,根据该参数
、
该参数对应的方差
、
该参数对应的均值,确定该参数的归一化值;根据所述
shape
特征中各参数的归一化值,确定所述优化半径
。5.
如权利要求1所述的方法,其特征在于,确定构建出的待训练模型之前,所述方法还包括:初始化性能排序表,并按照所述性能...
【专利技术属性】
技术研发人员:孙红江,陈晨,杨贺淞,范文杰,王鹏程,李勇,曾令仿,陈光,
申请(专利权)人:之江实验室,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。