← 最新论文
💻 computer science

Data-driven Test Generation for Fuzzing AI Compiler

本文提出了 OPERA,这是一个统一的数据驱动测试框架,通过三种专门的技术(OPERA、OATest 和 HARMONY)系统地解决了 AI 编译器的阶段特定挑战,并在四个广泛使用的编译器中成功检测到了 266 个此前未知的缺陷。

原作者: Qingchao Shen

发布于 2026-01-27
📖 1 分钟阅读☕ 轻松阅读

原作者: Qingchao Shen

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,将 AI 编译器(AI Compiler) 视为一位高科技厨房里的顶级大厨。它的职责是将一份复杂的食谱(由数据科学家编写的 AI 模型)转化为可以在任何特定炉灶、烤箱或烧烤架(如 GPU 或 TPU 等不同硬件)上完美烹饪出的佳肴。

然而,就像任何复杂的厨房一样,这位大厨也可能犯错。有时食谱翻译错了,有时烹饪步骤优化得不好,有时因为误解了炉灶设置而导致最后的菜肴烧焦了。这些错误就是“漏洞(bugs)”;如果发生这些错误,AI 模型可能会崩溃或给出错误的答案。

这篇论文介绍了一个由三部分组成的全新“品鉴团队”,名为 OPERAOATestHARMONY。这个团队不再仅仅寄希望于大厨能做对,而是通过系统地尝试在烹饪的每一个阶段“搞砸”大厨的过程,从而在错误到达顾客面前之前发现并修复它们。

以下是该团队各部分的运作方式,使用了简单的类比:

1. 翻译检查:OPERA(模型加载阶段)

问题所在: 第一步是将食谱从特定语言(如 PyTorch 或 Keras)翻译成厨房能理解的通用语言。如果翻译员弄错了某个特定的食材(如“ReLU”或“Conv2D”),整道菜就会失败。
解决方案 (OPERA): 想象你拥有一个由专业厨师已经测试过的、包含数千份“练习食谱”的图书馆,以确保食材使用正确。OPERA 利用这些现有的、经过验证的练习食谱,强制要求编译器进行翻译。

  • 运作方式: 它并不发明新食谱;它将这些已知的、正确的测试“迁移”到编译器的翻译阶段。
  • 结果: 通过检查每一种可能的食材用法,OPERA 发现了 170 个漏洞,即编译器在翻译食谱时出错的情况。这就像是在检查大厨是否掌握了 50 种不同的切洋葱方法,而不只是其中一种。

2. 策略检查:OATest(高层优化)

问题所在: 一旦食谱被翻译完成,大厨会尝试让它变得更快。这就是“高层优化”阶段。大厨可能会决定将两个步骤合并为一个,或者重新排列操作顺序。棘手之处在于,“上下文(context)”至关重要。在一种情况下合并步骤效果极佳,但在另一种情况下却会导致灾难。
解决方案 (OATest): 可以将其看作一场“假设游戏”。团队会查看大厨关于他们“打算如何”进行优化的笔记。然后,他们将这些优化想法粘贴到随机且复杂的食谱部分,看看大厨是否会感到困惑。

  • 运作方式: 它提取大厨用于优化的“规则”,然后将其与随机、混乱的场景混合在一起,观察其逻辑是否会崩溃。这就像是在问:“如果你把这两个步骤合并,如果锅是空的,会发生什么?”
  • 结果: 这种方法发现了 56 个漏洞,在这些漏洞中,大厨用于加速的策略实际上破坏了菜肴的逻辑。

3. 硬件检查:HARMONY(底层优化)

问题所在: 最后一个阶段是为特定的炉灶(如高端 GPU)量身定制食谱。这是“底层优化”。这非常具有技术性,涉及内存速度和并行烹饪等内容。由于规则非常严格且隐藏在手册深处,因此很难进行测试。
解决方案 (HARMONY): 这个团队使用了一种“变异(Mutation)”方法。想象你有一份完美的、正在运行的食谱。HARMONY 对其进行细微且谨慎的修改(变异),以观察特定的炉灶是否能处理新版本。

  • 运作方式: 它使用一个智能 AI 助手(大语言模型)来阅读炉灶说明书,并生成一组多样化的“种子(seed)”食谱。然后,它对这些种子进行微调,专门用来触发炉灶的特殊功能(如隐藏内存延迟)。
  • 结果: 这发现了 40 个漏洞,即编译器试图针对特定硬件进行优化,但最终生成的代码却无法被硬件正确执行。

大局观

通过结合这三种方法,该团队创建了一个统一的测试框架,覆盖了从开始到结束的整个烹饪过程。

  • OPERA 检查翻译。
  • OATest 检查策略。
  • HARMONY 检查硬件执行。

成绩单:
通过这些方法,该团队在四种主要的 AI 编译器(TVM、TensorRT、ONNXRuntime 和 OpenVINO)中共同发现了 266 个此前未知的漏洞。其中许多漏洞得到了开发者的确认,证明了这个“品鉴团队”对于保持 AI 软件的可靠性和安全性至关重要。

论文最后指出,他们计划未来将这个团队扩展到测试更多新兴的 AI 厨房,以确保随着 AI 技术的发展,构建它的工具也能保持无漏洞状态。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →