Version incompatibility issues are rampant when reusing or reproducing deep learning models and applications. Existing techniques are limited to library dependency specifications declared in PyPI. Therefore, these techniques cannot detect version issues due to undocumented version constraints or issues involving hardware drivers or OS. To address this challenge, we propose to leverage the abundant discussions of DL version issues from Stack Overflow to facilitate version incompatibility detection. We reformulate the problem of knowledge extraction as a Question-Answering (QA) problem and use a pre-trained QA model to extract version compatibility knowledge from online discussions. The extracted knowledge is further consolidated into a weighted knowledge graph to detect potential version incompatibilities when reusing a DL project. Our evaluation results show that (1) our approach can accurately extract version knowledge with 84% accuracy, and (2) our approach can accurately identify 65% of known version issues in 10 popular DL projects with a high precision (92%), while two state-of-the-art approaches can only detect 29% and 6% of these issues with 33% and 17% precision respectively.
翻译:在重用或复现深度学习模型及应用时,版本不兼容问题普遍存在。现有技术局限于PyPI声明的库依赖规范,因此无法检测因未记录的版本约束或涉及硬件驱动、操作系统的问题所导致的版本异常。为应对这一挑战,我们提出利用Stack Overflow平台上关于深度学习版本问题的丰富讨论来辅助版本不兼容检测。我们将知识提取问题重构为问答(QA)任务,并使用预训练的QA模型从在线讨论中提取版本兼容性知识。进一步将提取的知识整合为加权知识图谱,用于检测重用深度学习项目时潜在的版本不兼容问题。评估结果表明:(1)该方法能以84%的准确率精确提取版本知识;(2)在10个主流深度学习项目中,该方法能以92%的高精确率准确识别65%的已知版本问题,而两种最先进方法仅能检测到29%和6%的此类问题,精确率分别为33%和17%。