ClassEval: A Manually-Crafted Benchmark for Evaluating LLMs on Class-level Code Generation

要約

本研究では、より困難なコード生成シナリオ、すなわちクラスレベルのコード生成においてLLMを評価する最初の試みを行う。まず、100のクラスレベルのPythonコード生成タスクからなる最初のクラスレベルコード生成ベンチマークClassEvalを約500人時で手動で構築する。それに基づいて、クラスレベルのコード生成に関する11の最先端のLLMの最初の研究を行う。その結果、次のような主な知見が得られた。第一に、すべての既存のLLMは、HumanEvalのような単独のメソッドレベルのコード生成ベンチマークと比較して、クラスレベルのコード生成ではるかに悪い性能を示し、メソッドレベルの符号化能力は、LLM間のクラスレベルの符号化能力を同等に反映できないことがわかった。第二に、GPT-4とGPT-3.5はクラスレベルコード生成において依然として他のLLMよりも圧倒的な優位性を示し、Instruct-Starcoder、Instruct-Codegen、Wizardcoderを含む第二層のモデルは非常によく似た性能を持つことがわかった。第3に、GPT-4とGPT-3.5においてのみ、クラス全体を一度に生成する(全体的な生成戦略)ことが最良の生成戦略であり、長い命令を理解し、中間情報を利用する能力に限界がある他のモデルにおいては、メソッドごとの生成(インクリメンタルな生成、構成的な生成)がより良い戦略であることがわかった。最後に、メソッド依存のコードを生成するモデルの能力が限定的であることを発見し、生成されたクラスで頻発するエラータイプについて議論する。我々のベンチマークはhttps://github.com/FudanSELab/ClassEval。

要約(オリジナル)

In this work, we make the first attempt to evaluate LLMs in a more challenging code generation scenario, i.e. class-level code generation. We first manually construct the first class-level code generation benchmark ClassEval of 100 class-level Python code generation tasks with approximately 500 person-hours. Based on it, we then perform the first study of 11 state-of-the-art LLMs on class-level code generation. Based on our results, we have the following main findings. First, we find that all existing LLMs show much worse performance on class-level code generation compared to on standalone method-level code generation benchmarks like HumanEval; and the method-level coding ability cannot equivalently reflect the class-level coding ability among LLMs. Second, we find that GPT-4 and GPT-3.5 still exhibit dominate superior than other LLMs on class-level code generation, and the second-tier models includes Instruct-Starcoder, Instruct-Codegen, and Wizardcoder with very similar performance. Third, we find that generating the entire class all at once (i.e. holistic generation strategy) is the best generation strategy only for GPT-4 and GPT-3.5, while method-by-method generation (i.e. incremental and compositional) is better strategies for the other models with limited ability of understanding long instructions and utilizing the middle information. Lastly, we find the limited model ability of generating method-dependent code and discuss the frequent error types in generated classes. Our benchmark is available at https://github.com/FudanSELab/ClassEval.

arxiv情報

著者 Xueying Du,Mingwei Liu,Kaixin Wang,Hanlin Wang,Junwei Liu,Yixuan Chen,Jiayi Feng,Chaofeng Sha,Xin Peng,Yiling Lou
発行日 2023-08-03 16:31:02+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, DeepL

カテゴリー: cs.AI, cs.CL パーマリンク