机器学习模型中的代码重复对系统的负面影响
研究发现现有的语言模型数据集包含大量近似重复的示例和长的重复子串。因此,在这些数据集上训练的语言模型的超过 1%的非提示输出是直接从训练数据复制的。我们开发了两个工具,使我们能够定位训练数据集中的冗余数据,以便通过去重来训练模型,减少内存化文本的发生。这也减少了训练和测试重叠,从而提高了模型的准确性。我们在指定的 https 网址上发布我们的工作和代码。
Jul, 2021
大语言模型的训练是否会侵犯代码许可证?是否有可以安全使用来训练这些模型的可用数据集而不违反这些许可证呢?通过 53 个训练于文件级代码的大语言模型的研究,我们发现每个数据集都存在许可证一致性问题。因此,我们建议研究人员和社区都应优先发展和采用最佳实践来创建和管理数据集。
Mar, 2024
该研究显示,大型语言模型在面对隐私攻击时,其攻击的成功与常用网络爬取的训练集中的重复数据有很大关系,而消除重复数据的方法可以显著提高语言模型的隐私安全性。
Feb, 2022
分析软件工程领域的软件错误预测是否存在与其他机器学习领域相似的可复现性问题,发现大部分研究文章缺乏关键的复现元素,呼吁改进研究实践以确保基于机器学习的研究的可复现性。
Feb, 2024
本文研究大型语言模型中反复数据对性能的影响机理,并发现了一个强烈的双下降现象,即重复数据可能导致测试损失在训练中途上升。实验表明,反复数据对模型的性能造成了明显的损害,可能会导致模型从泛化到记忆出现转移。
May, 2022
该研究介绍了一种新的集成学习方法来评估代码相似性,结合多种无监督相似度度量的优点。初步结果表明,尽管基于 Transformers 的 CodeBERT 和其变种 GraphCodeBERT 在有充足训练数据的情况下是最佳选择,但在特定的小数据集(最多 500 个样本)的情况下,我们的集成方法达到了类似的结果,而且结果解释性较强,与训练相关的碳足迹明显较低。
May, 2024
该研究分析了深度学习框架中的代码克隆现象的演化特征,包括长期演化趋势、短期克隆模式以及框架间的代码克隆。研究结果揭示了深度学习框架中存在四种不同的克隆演化趋势,并探讨了克隆对 bug 修复活动的影响。此外,研究还发现了不同框架之间存在功能和架构适应性的文件级别的代码克隆。研究结果为深度学习框架的可靠克隆实践和协同维护提供了启示。
Apr, 2024
本研究探讨了对源代码词汇进行建模时需要做出的关键决策,研究了这些决策对 14,436 个项目的大规模语料库所产生的词汇的影响,并表明其中的一些决策具有决定性特征,允许在大规模的 10,106 个项目的语料库上快速训练准确的神经语言模型。
Apr, 2019