中文

衡量编程语言分布的影响

机器学习 2023-05-25 v3 计算与语言 编程语言

摘要

当前用于评估神经代码模型的基准测试仅关注编程语言的一小部分,排除了许多流行语言,如Go或Rust。为改善这一问题,我们提出BabelCode框架,用于对任意基准测试在任意语言中进行基于执行的评估。BabelCode使得对模型内存、运行时间和单个测试用例结果的定性性能进行新的研究成为可能。此外,我们基于Python编程谜题(Schuster et al. 2021)基准,提出了一个名为“翻译Python编程谜题”(TP3)的新代码翻译数据集,该任务涉及将专家级Python函数翻译到任意语言。借助BabelCode和TP3基准,我们研究了在训练数据集中平衡14种语言的分布是否能提高大型语言模型在低资源语言上的性能。在平衡语料库上训练模型,与基线相比,所有任务和语言上的平均pass@k提高了12.34%。我们发现,该策略在低资源语言上实现了66.48%更好的pass@k,而高资源语言的性能仅下降12.94%。在我们的三个翻译任务中,该策略平均使低资源语言的pass@k提高了30.77%,而高资源语言的pass@k下降了19.58%。

关键词

引用

@article{arxiv.2302.01973,
  title  = {Measuring The Impact Of Programming Language Distribution},
  author = {Gabriel Orlanski and Kefan Xiao and Xavier Garcia and Jeffrey Hui and Joshua Howland and Jonathan Malmaud and Jacob Austin and Rishabh Singh and Michele Catasta},
  journal= {arXiv preprint arXiv:2302.01973},
  year   = {2023}
}

备注

Accepted to ICML 2023, Code and data release: https://github.com/google-research/babelcode