文章名:
Graph-based Fuzz Testing for Deep Learning Inference Engines
中文译名:
基于图的深度学习推理机模糊测试
关键词:
Deep Learning Inference Engine, Graph Theory,Deep Learning Models, Operator-Level Coverage, Monte Carlo Tree Search
动机:
然而,现有的测试技术侧重于DL模型的质量,但缺乏对核心底层推理引擎的测试,但我们可以基于图的模糊测试方法来提高DL推理机的质量。但是这又有两个挑战:
一是生成各种DL模型,以触发给定DL推理机的不同结构部分。
二是捕获每个测试的行为,这样模糊测试可以很好地指导生成新的测试。
怎么做的:
核心思想是在DL推理机上最大化操作员级别的覆盖率,以便尽可能多地暴露错误行为。引入了一种新的基于图论的算子级覆盖准则,通过探索模型结构、参数和数据输入的组合,实现了六种不同的突变,以生成多样化的DL模型。
其框架流程图如下所示:
基于图的模糊测试框架由块选择器、覆盖准则、输入变量和变量选择器组成。对于每个迭代,基于MCTS(MCTS用于解决搜索问题,以确定新模型中是否选择了算子,从而可以选择最有希望的块来生成随机DL模型。蒙特卡洛树搜索 MCTS 入门 - 知乎 (zhihu.com))的块选择器从块语料库中选择一组块。突变选择选择一个或多个突变以确定突变规则。突变参数在其约束下随机分配。在这之后,输入变异器确定哪些动作将应用于形成变异动作并生成测试样本的地方。测试样本将在DL框架中运行(例如。GTensorFlow),其输出数据保存为预期结果。输入数据包含模型及其预期结果。覆盖率标准获取变异样本以检查当前覆盖率是否增加。如果当前覆盖率增加,新的输入数据将添加到测试集中;否则,这些数据将被丢弃。此过程一直运行,直到达到预设阈值 。
实验过程略。
本人对科研论文了解尚浅,如有错误,还请指正!