面向机器学习系统的变更分类体系探讨
软件工程
2022-12-14 v3 人工智能
摘要
机器学习(ML)研究论文通常在 GitHub 上提供开源实现,使读者能够复现、验证甚至扩展机器学习算法、数据集与元数据。然而,迄今为止,关于此类 ML 研究仓库上协作活动的程度知之甚少,特别是关于(1)此类仓库从 fork 获得贡献的程度,(2)此类贡献的性质(即变更类型),以及(3)未回馈到 fork 的变更的性质,这可能代表错失的机会。在本文中,我们基于 Hindle 等人开创性的代码变更分类体系,对 1,346 个 ML 研究仓库及其 67,369 个 fork 进行了定量与定性实证研究。我们发现,尽管 ML 研究仓库被大量 fork,但仅有 9% 的 fork 对 forked 仓库进行了修改。其中 42% 向父仓库发送了变更,其中一半(52%)被父仓库接受。我们对 539 个贡献变更和 378 个本地(仅 fork)变更进行的定性分析,将 Hindle 等人的分类体系扩展了一个与 ML 相关的新的顶级变更类别(数据),以及 15 个新的子类别,包括九个 ML 特定的子类别(输入数据、输出数据、程序数据、共享、变更评估、参数调优、性能、预处理、模型训练)。虽然 fork 未回馈的变更大多涉及领域特定的定制与本地实验(如参数调优),但原始 ML 仓库确实错失了不可忽略的 15.4% 文档变更、13.6% 功能变更和 11.4% 缺陷修复变更。本文的发现对从业者、研究人员、工具开发者和教育者都将有所裨益。
引用
@article{arxiv.2203.11365,
title = {Towards a Change Taxonomy for Machine Learning Systems},
author = {Aaditya Bhatia and Ellis E. Eghan and Manel Grichi and William G. Cavanagh and Zhen Ming and Jiang and Bram Adams},
journal= {arXiv preprint arXiv:2203.11365},
year = {2022}
}