中文

面向深度学习库的子图导向测试

软件工程 2025-06-10 v2

摘要

深度学习 (DL) 库(如 PyTorch)广泛用于在 various hardware 平台上构建和部署 DL 模型。然而,这些库被发现包含导致计算结果不正确的问题,如非收敛训练和不准确预测等。因此,已对 DL 库进行大量测试以揭示 bug。然而,现有的 DL 库测试方法存在局限性:模型级测试方法导致故障定位复杂;API 级测试方法常生成无效输入,或主要关注导致崩溃的极端输入,同时忽略测试真实的 API 交互。这些局限性可能导致漏检,即使针对常用 API 也可能如此。为此,我们提出了 SORT (子图导向真实测试),用于对不同硬件平台上的 DL 库进行差分测试。SORT 采用表示模型计算图中常见子图的流行 API 交互模式作为测试对象。如此一来,既引入了真实的 API 交互序列,又保持了定位故障 API 的效率。此外,SORT 通过参考每个 API 在执行真实基准数据时输入的广泛特征来生成测试输入。预期这些生成的输入能更好地模拟有效的真实输入,从而更可能揭示在实际使用中出现的 bug。对 49 个流行 PyTorch 模型的 728 个流行子图的评估表明,SORT 实现了 100% 的有效输入生成率,检测的精度 bug 超过现有方法,并揭示了单 API 测试所忽略的交互相关 bug。我们发现了 18 个 PyTorch 中的精度 bug。

关键词

引用

@article{arxiv.2412.06430,
  title  = {Subgraph-Oriented Testing for Deep Learning Libraries},
  author = {Xiaoyuan Xie and Yan Song and Songqiang Chen and Jinfu Chen},
  journal= {arXiv preprint arXiv:2412.06430},
  year   = {2025}
}