EffiLearner:通过自优化提升生成代码的效率
软件工程
2025-05-13 v4 计算与语言
摘要
大型语言模型(LLM)在代码生成方面取得了显著进展,但其生成的代码常常存在效率低下的问题,导致执行时间更长、内存消耗更高。为解决此问题,我们提出了‛EffiLearner‛,一个利用执行负载轮廓来提高LLM生成代码效率的自优化框架。EffiLearner首先使用LLM生成代码,然后在本地执行以捕获执行时间和内存使用轮廓。这些轮廓被反馈给LLM,后者随后修订代码以降低负载。为评估EffiLearner的有效性,我们在EffiBench、HumanEval和MBPP上进行了大量实验,涵盖16个开源和6个闭源模型。我们的评估结果表明,通过迭代自优化,EffiLearner显著提高了LLM生成代码的效率。例如,StarCoder2-15B在EffiBench上的执行时间(ET)从0.93秒降低到0.12秒,相较于初始代码减少了87.1%的执行时间要求。StarCoder2-15B的总内存使用(TMU)也从22.02(Mb*s)降低到2.03(Mb*s),执行期间的总内存消耗降低了90.8%。EffiLearner的源代码已发布于https://github.com/huangd1999/EffiLearner
引用
@article{arxiv.2405.15189,
title = {EffiLearner: Enhancing Efficiency of Generated Code via Self-Optimization},
author = {Dong Huang and Jianbo Dai and Han Weng and Puzhen Wu and Yuhao Qing and Heming Cui and Zhijiang Guo and Jie M. Zhang},
journal= {arXiv preprint arXiv:2405.15189},
year = {2025}
}
备注
Accepted by NeurIPS 2024