[发明专利]基于GPU的神经网络注错测试方法及其存储介质在审
申请号: | 202210708017.7 | 申请日: | 2022-06-22 |
公开(公告)号: | CN115098321A | 公开(公告)日: | 2022-09-23 |
发明(设计)人: | 金永双;郑剑锋;巫航;蒋承奇;李梓畅;梁可 | 申请(专利权)人: | 常州大学 |
主分类号: | G06F11/26 | 分类号: | G06F11/26;G06N3/063;G06N3/04;G06N3/08 |
代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 韩红莉 |
地址: | 213164 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 gpu 神经网络 测试 方法 及其 存储 介质 | ||
本发明公开了基于GPU的神经网络注错测试方法及其存储介质,用预先获取的注错脚本解析神经网络模型,获取GPU动态指令;基于获取的GPU动态指令,获得所有计算内核的指令;根据预先获取的注错配置文件,将注错脚本中记载的故障注入计算内核的指令中。本发明方法在对注错后的运行结果分析更为全面,从硬件指令、神经网络各层等方面得出全面数据,根据运行结果反向得到神经网络出错的神经网络层级位置和神经网络函数级位置,作为评估和修改神经网络模型的依据。
技术领域
本发明涉及基于GPU的神经网络注错测试方法及其存储介质,属于神经网络注错测试技术领域。
背景技术
基于GPU的神经网络系统已经广泛的应用在人工智能、机器学习、自动驾驶汽车和高性能计算等领域中,这些领域有一个共同的特点,就是需要快速处理大量数据,同时需要很高的可靠性、可用性和安全性。可靠性是指神经网络系统对于软错误的恢复能力,如何发现基于GPU的神经网络系统的脆弱点,将是加固基于GPU的神经网络系统的关键点。
基于GPU的神经网络系统可能出现的故障点分为:在指令级别、神经网络层级和神经网络函数级。传统的注错方式是通过FPGA模拟神经网络进行故障仿真,这种方式模型搭建时间长,运行效率低。
发明内容
本发明所要解决的技术问题是克服现有技术的缺陷,提供基于GPU的神经网络注错测试方法及其存储介质,本方法的核心是将神经网络模型在注错系统中运行,通过配置注错方法对神经网络模型自动注入错误,获得故障类型,并写入日志中保存,分析获得运行结果,本发明方法能够快速的从硬件指令和神经网络各层等方面的到全面运行数据,从多个维度对神经网络进行分析。
为达到上述目的,本发明提供基于GPU的神经网络注错测试方法,包括:
用预先获取的注错脚本解析神经网络模型,获取GPU动态指令;
基于获取的GPU动态指令,获得所有计算内核的指令;
根据预先获取的注错配置文件,将注错脚本中记载的故障注入计算内核的指令中。
优先地,注错脚本中记载的故障包括单比特翻转、双比特翻转、随机数、按位翻转、归零操作、左移或右移若干位、置1操作。
优先地,注错配置文件包括SM的编号ID、core编号、注错类型、注错次数、故障注入位置、指令编码的位置。
优先地,根据注错配置文件,将注错脚本中记载的故障注入GPU动态指令中,GPU动态指令执行后得到输出结果,分析输出结果所属的故障类型。
优先地,故障类型包括SDC,DUE和masked;
SDC表示神经网络模型的输出结果不同于神经网络模型的标准结果;
DUE表示致命错误;
masked表示错误被屏蔽,未引起异常;
将故障类型保存到日志中;
若故障类型为SDC或DUE,则对神经网络模型进行加固。
优先地,若故障类型为SDC或DUE,则对神经网络模型进行加固,通过以下步骤实现:
对引起SDC故障类型的计算内核的指令,做三重冗余设计;对引起DUE故障类型的计算内核的指令,在计算内核的指令调用前对之前的计算内核的指令计算结果备份,当出现DUE故障类型时快速恢复到上次出现DUE故障类型的GPU动态指令所在位置重新计算。
优先地,根据注错配置文件,将注错脚本中记载的故障注入计算内核的指令中,通过以下步骤实现:
从N个计算内核的指令中随机选取一个键值对x,x∈N,基于注错脚本中记载的故障对键值进行修改,将键值写入该计算内核的指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于常州大学,未经常州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210708017.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种虚拟机的部署方法、装置、设备及产品
- 下一篇:一种酒驾车辆识别方法