Deep Learning (DL) compilers are widely adopted to optimize advanced DL models for efficient deployment on diverse hardware. Their quality has profound effect on the quality of compiled DL models. A recent bug study shows that the optimization of high-level intermediate representation (IR) is the most error-prone compilation stage. Bugs in this stage are accountable for 44.92% of the whole collected ones. However, existing testing techniques do not consider high-level optimization related features (e.g. high-level IR), and are therefore weak in exposing bugs at this stage. To bridge this gap, we propose HirGen, an automated testing technique that aims to effectively expose coding mistakes in the optimization of high-level IR. The design of HirGen includes 1) three coverage criteria to generate diverse and valid computational graphs; 2) full use of high-level IRs language features to generate diverse IRs; 3) three test oracles inspired from both differential testing and metamorphic testing. HirGen has successfully detected 21 bugs that occur at TVM, with 17 bugs confirmed and 12 fixed. Further, we construct four baselines using the state-of-the-art DL compiler fuzzers that can cover the high-level optimization stage. Our experiment results show that HirGen can detect 10 crashes and inconsistencies that cannot be detected by the baselines in 48 hours. We further validate the usefulness of our proposed coverage criteria and test oracles in evaluation.
翻译:深度学习编译器被广泛采用,以优化高级深度学习模型并实现其在多样化硬件上的高效部署。其质量直接影响所编译深度学习模型的质量。最新的一项缺陷研究表明,高级中间表示(IR)的优化是最易出错的编译阶段,该阶段的缺陷占收集到的全部缺陷的44.92%。然而,现有测试技术未考虑与高级优化相关的特性(例如高级IR),因此在这一阶段暴露缺陷的能力较弱。为弥补这一不足,我们提出HirGen,这是一种自动化测试技术,旨在有效暴露高级IR优化中的编码错误。HirGen的设计包括:1)三种覆盖率标准,用于生成多样且有效的计算图;2)充分利用高级IR的语言特性生成多样化的IR;3)借鉴差分测试和蜕变测试的三种测试预言。HirGen已在TVM中成功检测到21个缺陷,其中17个已确认,12个已修复。此外,我们构建了四个基线,使用最先进的深度学习编译器模糊测试工具覆盖高级优化阶段。实验结果表明,HirGen可在48小时内检测到10个基线无法发现的崩溃和不一致问题。我们进一步在评估中验证了所提出的覆盖率标准和测试预言的有效性。