首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于消息传递神经网络的深度学习编译器测试加速方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:大连理工大学

摘要:本发明属于软件测试领域,涉及一种基于消息传递神经网络的深度学习编译器测试加速方法,可用于优化深度学习编译器测试用例的执行顺序,从而提高测试效率。本方法由数据预处理、数据集构建、预测器和调度器四个模块组成。数据预处理模块负责从深度学习模型中提取算子特征、边特征及结构特征,并转换为消息传递神经网络的输入;数据集构建模块利用NNSmith等模型生成工具,生成大量的深度学习模型,使用数据预处理模块提取每个模型的特征,并判断每个模型是否触发了目标编译器的错误;预测器负责利用模型的特征信息预测一个模型是否会引发目标编译器的错误;调度器模块负责对测试用例集合中的模型进行排序,决定将哪些模型输入给目标编译器。

主权项:1.一种基于消息传递神经网络的深度学习编译器测试加速方法,其特征在于,所述的方法由数据预处理、数据集构建、预测器和调度器四个模块组成;其中,数据预处理模块负责从深度学习模型中提取算子特征、边特征及结构特征,并转换为消息传递神经网络的输入;数据集构建模块利用模型生成工具,生成深度学习模型,使用数据预处理模块提取每个模型的特征,并判断每个模型是否触发了目标编译器的错误;预测器负责利用模型的特征信息预测一个模型是否会引发目标编译器的错误;调度器模块负责对测试用例集合中的模型进行排序,决定将哪些模型输入给目标编译器;具体步骤如下:步骤1:使用数据预处理模块将各类格式的计算图转换为统一格式;将模型生成工具生成的多种类型模型统一转换为TVM中的Relay格式;步骤2:使用数据预处理模块从计算图中提取特征;提取Relay格式的模型的特征,包括节点特征、边特征和算子之间的连接关系;遍历relay中间表示得到node_list列表,该列表中存储了模型中所有的算子信息,从node_list列表中可以获得各个算子的类型、名称、该算子与其他算子的连接关系,以及算子之间传递的张量信息,作为图结构中的边特征;步骤3:利用计算图的节点特征、边特征以及连接关系构建图数据结构,并将特征转换为图神经网络的输入;具体地,将Relay中的特征转换为可以被消息传递神经网络接受的特征;步骤4:使用数据集构建模块创建训练数据集;利用深度学习模型生成工具生成大量深度学习模型,依次执行步骤1到步骤3,将模型转换为Relay表示并提取其特征;在目标编译器上编译运行模型,得到模型的计算结果,如果在运行过程中触发了编译器的错误,则判定该模型触发了目标编译器错误;使用PyTorch对模型进行相同的计算过程,将PyTorch的计算结果作为该模型运算结果的标准值,与目标编译器的运算结果对比,如果两者的计算结果差异超出了设定的阈值,则该模型触发了目标编译器的错误;每次执行步骤4,得到一个深度学习模型的特征信息、运算结果以及该模型能否触发目标编译器错误;步骤5:预测器利用消息传递神经网络更新模型中的节点特征和边特征;使用消息传递神经网络来预测深度学习模型触发深度学习编译器错误的概率;具体地,在消息传递神经网络中,消息沿着计算图中的边传播,并在传播过程中逐步;消息的传播过程由T次更新周期组成,在消息的传递过程中,用给定长度的向量来表示节点和边的隐藏状态;节点的初始状态和边的初始状态分别为: 其中,xv和evw分别是节点v的特征和节点v与节点w之间的边的特征,τ为激活函数,Wi为需要训练的权重矩阵,cat为拼接函数;在第t次传播周期内,使用消息更新函数Mt以及节点状态更新函数Ut来更新节点的隐藏状态及边传播的消息其中,消息更新函数Mt和节点状态更新函数Ut分别为: 其中,xv、xw分别为源点和终点的特征,u为节点w所有入边的源点的集合,Wm为需要训练的权重矩阵,τ为激活函数;节点和边的特征更新为: T次消息传播后,计算图的下游节点就能获得其上游节点及边的特征信息,并将这些特征聚合到自身特征中;具体来说,节点的最终特征hw和边的最终特征mvw表示为: mvw=hv其中,Wo是需要学习的权重矩阵;步骤6:预测器模块计算模型的全局特征,预测该模型能否触发目标编译器的错误;将多轮消息传播之后的节点和边特征聚合为图的全局特征,使用全局特征预测计算图能否触发目标编译器错误;其中,模型的全局特征h可以由以下公式得到: 其中,G为模型对应的计算图,V为图中所有节点;将步骤5中消息传播后的节点的隐藏状态进行相加,得到计算图的全局向量,这个向量称为“学习得到的计算图向量”,作为全连接前馈网络的输入,预测其对应深度学习模型能否触发目标编译器错误;步骤7:使用数据集构建模块构建的训练数据集S0训练消息传递神经网络,并用该网络预测测试集T0中的深度学习模型能否触发目标编译器错误,调度器根据预测结果优化测试序列;具体来说,使用训练数据集S0训练出消息传递神经网络N1;使用神经网络N1预测T0中的深度学习模型能否触发目标编译器的错误;将T0中预测结果为能触发目标编译器错误的模型集合称为T1,无法触发错误的模型集合称为T2,在T2中随机选取部分的模型集合T3,将T1和T3中的模型依次输入到目标编译器中编译运行,检测其错误。

全文数据:

权利要求:

百度查询: 大连理工大学 一种基于消息传递神经网络的深度学习编译器测试加速方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。