ECCO: Can We Improve Model-Generated Code Efficiency Without Sacrificing Functional Correctness?

2024年07月19日
  • 简介
    虽然大型语言模型(LLMs)在生成功能正确的程序方面取得了很大成功,但是在确保正确性的同时训练模型生成高效解决方案仍然是一个挑战。此外,对于像Python这样的流行解释性语言,基准测试代码效率的不可靠性是跨越不同硬件规格的障碍。在本文中,我们提出了ECCO,这是一个可重复的基准测试,用于通过两种范式评估程序效率:基于自然语言(NL)的代码生成和基于历史的代码编辑。在ECCO上,我们改编并深入研究了三种最有前途的现有LLM方法:上下文学习、迭代改进与执行或NL反馈以及基于执行和编辑历史的微调。虽然大多数方法会降低功能正确性并适度提高程序效率,但我们发现添加执行信息通常有助于维护功能正确性,而NL反馈更有助于提高效率。我们发布了我们的基准测试,以支持基于LLM的高效代码生成的未来工作。
  • 作者讲解
  • 图表
  • 解决问题
    本论文旨在解决使用自然语言生成高效程序的问题,并提出了一个可重复的基准测试平台ECCO。同时,论文探究了三种基于大型语言模型的生成方法在ECCO上的表现。
  • 关键思路
    论文提出了三种方法来提高生成程序的效率:在上下文中学习、迭代优化和微调。其中,加入执行信息可以帮助保持程序的正确性,而自然语言反馈则更有助于提高程序的效率。
  • 其它亮点
    论文提出了ECCO基准测试平台,用于评估程序的效率。同时,论文探究了三种基于大型语言模型的生成方法在ECCO上的表现,并发现加入执行信息和自然语言反馈可以提高程序的效率和正确性。研究者还公开了ECCO基准测试平台,以便未来的研究。
  • 相关研究
    在这个领域中,最近的相关研究包括:《Learning to Generate Code with Sparse Directives》、《Code Generation with Transformer》等。
许愿开讲
PDF
原文
点赞 收藏
向作者提问
NEW
分享到Link

提问交流

提交问题,平台邀请作者,轻松获得权威解答~

向作者提问