摘要
尽管大型语言模型 (LLMs) 在生成功能正确的程序方面取得了巨大成功,但使模型能够生成高效的解决方案并同时确保正确性仍然是一个挑战。此外,在流行的解释型语言(如 Python)中,跨不同硬件规格对代码效率进行基准测试的不可靠性是一个障碍。在本文中,我们提出了 ECCO,一个可重复的基准,用于通过两种范式评估程序效率:基于自然语言 (NL) 的代码生成和基于历史的代码编辑。在 ECCO 上,我们调整并彻底研究了三种最有希望的现有基于 LLM 的方法:上下文学习、带有执行或 NL 反馈的迭代细化以及根据执行和编辑历史进行微调。虽然大多数方法降低了功能正确性并适度提高了程序效率,但我们发现添加执行信息通常有助于维护功能正确性,而 NL 反馈则更多地提高了效率。我们发布我们的基准以支持未来关于基于 LLM 的高效代码生成的进一步研究。