文章总结与翻译
一、主要内容
本文聚焦大语言模型(LLMs)代码生成的功能正确性评估问题,指出现有编程基准测试(如HUMANEVAL)存在测试用例数量不足、质量不高、问题描述模糊等缺陷,导致无法准确反映LLM生成代码的真实正确性。为此,作者提出了代码合成评估框架EvalPlus,通过LLM辅助和基于变异的自动测试输入生成策略,为现有基准测试扩充大量高质量测试用例。
基于EvalPlus,作者将HUMANEVAL基准的测试用例扩充80倍,构建了HUMANEVAL+,并进一步通过测试套件缩减得到HUMANEVAL±MINI(规模缩小47倍但保持相近测试效果)。对26个主流LLM(包括GPT-4、ChatGPT等)的评估显示,HUMANEVAL+能检测出大量原有基准未发现的错误代码,使模型的pass@k值最高下降19.3%-28.9%,还修正了模型排名(如WizardCoder-CodeLlama和Phind-CodeLlama在HUMANEVAL+上超越ChatGPT,而在原HUMANEVAL中未体现)。此外,研究还发现原HUMANEVAL中11%的基准解决方案存在错误。
二、创新点
- 首次系统研究测试不足问题:明确现有代码生成基准的测试用例数量少、覆盖不全面等缺陷,揭示其导致LLM代码正确性被高估的核心问题,开辟了精准评估LLM代码合成能力的新研究方向。
- 提出混合式测试输入生成方法:结合LLM(ChatGPT)生成高质量种子输入和类型感知变异策略,高效扩充测试用例,既保证测试的语义有效性(解决

订阅专栏 解锁全文

426

被折叠的 条评论
为什么被折叠?



