中文

语言模型能多样地解决问题?探究模型生成代码的算法多样性

软件工程 2025-03-10 v2 人工智能 计算与语言

摘要

语言模型(LM)在从自然语言需求生成代码方面展现出惊人的能力。本文强调代码多样性作为评估 LM 代码生成能力的关键标准。缺乏聚焦评估生成代码多样性的研究,忽视了其重要性。因此,我们提出系统方法来评估代码多样性,引入各种基于代码相似度的指标。具体而言,我们引入代码聚类方法,利用 LM 在代码理解与推理方面的能力,形成一组代表模型生成解中算法数量的指标。我们广泛调查模型生成解的特性,通过与人编写的解进行对比,量化影响代码多样性的各种因素:模型规模、温度、指令调优和问题复杂度。我们的分析表明,模型生成的解表现出低算法多样性,这一点被忽视了。此外,我们探索了通过组合不同模型的解和提高采样温度来增加代码多样性的方法。我们的发现表明,借助异构模型和设置超过 1.0 的温度(该温度因功能正确性降低而未被充分探索),可增强代码多样性。为促进我们的研究方向,我们通过开源仓库公开分享了代码和数据集。

关键词

引用

@article{arxiv.2503.00691,
  title  = {How Diversely Can Language Models Solve Problems? Exploring the Algorithmic Diversity of Model-Generated Code},
  author = {Seonghyeon Lee and Heejae Chon and Joonwon Jang and Dongha Lee and Hwanjo Yu},
  journal= {arXiv preprint arXiv:2503.00691},
  year   = {2025}
}