PerfCodeGen: Improving Performance of LLM Generated Code with Execution Feedback

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Peng, Yun, Gotmare, Akhilesh Deepak, Lyu, Michael, Xiong, Caiming, Savarese, Silvio, Sahoo, Doyen
Format: Preprint
Veröffentlicht: 2024
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866912144874799104
author Peng, Yun
Gotmare, Akhilesh Deepak
Lyu, Michael
Xiong, Caiming
Savarese, Silvio
Sahoo, Doyen
author_facet Peng, Yun
Gotmare, Akhilesh Deepak
Lyu, Michael
Xiong, Caiming
Savarese, Silvio
Sahoo, Doyen
contents Large Language Models (LLMs) are widely adopted for assisting in software development tasks, yet their performance evaluations have narrowly focused on the functional correctness of generated code. Human programmers, however, require LLM-generated code to be not only correct but also optimally efficient. We propose PerfCodeGen, a training-free framework that enhances the performance of LLM-generated code by incorporating feedback based on runtime during test case execution into the self-refinement iterations. With PerfCodeGen, we achieve speedups for a significantly higher proportion of problems compared to using the base LLM with sophisticated prompting techniques. Applied to open language models like Phi-3-mini, PerfCodeGen achieves runtime efficiency comparable to prompting powerful closed models like GPT-4. We achieve state-of-the-art runtime efficiency on benchmarks such as HumanEval, MBPP, and APPS, frequently surpassing the ground truth reference solutions with PerfCodeGen using GPT-3.5 and GPT-4. Additionally, we demonstrate the effectiveness of our approach in enhancing code quality across a range of open LLMs of varying sizes including Phi-3-mini, Llama 3 8B, Mixtral 8x7B, Command R, and Llama 3 70B.
format Preprint
id arxiv_https___arxiv_org_abs_2412_03578
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle PerfCodeGen: Improving Performance of LLM Generated Code with Execution Feedback
Peng, Yun
Gotmare, Akhilesh Deepak
Lyu, Michael
Xiong, Caiming
Savarese, Silvio
Sahoo, Doyen
Software Engineering
Artificial Intelligence
Computation and Language
Programming Languages
Large Language Models (LLMs) are widely adopted for assisting in software development tasks, yet their performance evaluations have narrowly focused on the functional correctness of generated code. Human programmers, however, require LLM-generated code to be not only correct but also optimally efficient. We propose PerfCodeGen, a training-free framework that enhances the performance of LLM-generated code by incorporating feedback based on runtime during test case execution into the self-refinement iterations. With PerfCodeGen, we achieve speedups for a significantly higher proportion of problems compared to using the base LLM with sophisticated prompting techniques. Applied to open language models like Phi-3-mini, PerfCodeGen achieves runtime efficiency comparable to prompting powerful closed models like GPT-4. We achieve state-of-the-art runtime efficiency on benchmarks such as HumanEval, MBPP, and APPS, frequently surpassing the ground truth reference solutions with PerfCodeGen using GPT-3.5 and GPT-4. Additionally, we demonstrate the effectiveness of our approach in enhancing code quality across a range of open LLMs of varying sizes including Phi-3-mini, Llama 3 8B, Mixtral 8x7B, Command R, and Llama 3 70B.
title PerfCodeGen: Improving Performance of LLM Generated Code with Execution Feedback
topic Software Engineering
Artificial Intelligence
Computation and Language
Programming Languages
url https://arxiv.org/abs/2412.03578