[论文解读] The Devil is in the Tails: How Long-Tailed Code Distributions Impact Large Language Models
本文研究了软件工程(SE)数据集中长尾分布对代码大语言模型(LLMs)性能的显著影响,尤其在罕见(尾部)标签上表现更差。在三个SE任务中,LLMs在尾部标签上的性能比头部标签差30.0%至254.0%,凸显了针对数据和模型策略进行定制化改进的必要性。
Learning-based techniques, especially advanced Large Language Models (LLMs) for code, have gained considerable popularity in various software engineering (SE) tasks. However, most existing works focus on designing better learning-based models and pay less attention to the properties of datasets. Learning-based models, including popular LLMs for code, heavily rely on data, and the data's properties (e.g., data distribution) could significantly affect their behavior. We conducted an exploratory study on the distribution of SE data and found that such data usually follows a skewed distribution (i.e., long-tailed distribution) where a small number of classes have an extensive collection of samples, while a large number of classes have very few samples. We investigate three distinct SE tasks and analyze the impacts of long-tailed distribution on the performance of LLMs for code. Our experimental results reveal that the long-tailed distribution has a substantial impact on the effectiveness of LLMs for code. Specifically, LLMs for code perform between 30.0\% and 254.0\% worse on data samples associated with infrequent labels compared to data samples of frequent labels. Our study provides a better understanding of the effects of long-tailed distributions on popular LLMs for code and insights for the future development of SE automation.
研究动机与目标
- 调查软件工程数据集中长尾分布的普遍性及其对代码相关任务标签数据的影响。
- 考察此类偏斜的数据分布如何影响最先进的代码LLMs性能,尤其是对罕见(尾部)标签的影响。
- 评估计算机视觉领域现有长尾缓解技术在SE场景下的有效性。
- 倡导将性能分别报告头部和尾部标签,以避免掩盖模型在罕见类别上的弱点。
- 呼吁未来研究关注标签关系感知方法以及数据增强技术,以提升SE数据集中对尾部类别的学习能力。
提出的方法
- 收集并分析了三个不同的SE数据集:API序列推荐、代码修订推荐和漏洞类型预测,均表现出长尾标签分布。
- 将标签划分为‘头部’(占数据样本前50%)和‘尾部’(占后50%),以隔离标签频率差异带来的性能差异。
- 在头部和尾部子集上评估多种LLMs(如CodeBERT、CodeT5)和传统机器学习模型(如逻辑回归、SVM),以测量性能差异。
- 将现有的基于计算机视觉的长尾缓解技术(如类别重平衡、焦点损失)应用于SE数据集,以测试其可迁移性。
- 采用分层数据划分方法,将数据分为10组,以验证研究结果的一致性并减少性能评估中的偏差。
- 发布公开的可复现包,以确保研究可复现,并支持未来研究的扩展。
实验结果
研究问题
- RQ1SE数据集中的长尾标签分布在多大程度上影响了代码LLMs的性能?
- RQ2在不同SE任务中,LLMs在头部标签与尾部标签上的表现如何?
- RQ3来自计算机视觉领域的现有长尾缓解技术能否有效提升SE数据集中尾部标签的模型性能?
- RQ4当SE数据集中存在长尾分布时,仅报告平均准确率会产生什么影响?
- RQ5如何利用标签关系和数据增强技术来提升对罕见代码相关标签的学习效果?
主要发现
- 在评估的三个SE任务中,代码LLMs在尾部标签上的性能相比头部标签下降了30.0%至254.0%。
- 在漏洞类型预测任务中,TreeVul在频繁的头部标签(CWE-79)上达到88.5%的准确率,但在罕见的尾部标签(CWE-863)上仅达到11.1%,尽管整体平均准确率为73.1%。
- 传统机器学习模型如逻辑回归和SVM也表现出显著的性能差距,尾部准确率相比头部准确率最高下降20个百分点。
- 现有基于计算机视觉的长尾缓解技术在SE数据集中未能有效提升尾部标签的性能,可能是因为未充分考虑语义标签关系。
- 本研究证实,仅报告平均准确率会掩盖尾部标签上的严重性能不足,呼吁社区分别报告头部和尾部性能。
- 研究结果表明,未来解决方案必须考虑标签关系,并探索数据生成技术(如通过生成式AI)以改善SE数据集中对尾部类别的学习。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。