[论文解读] L2CEval: Evaluating Language-to-Code Generation Capabilities of Large Language Models
L2CEval 提供了一个全面且标准化的基准,用于评估大型语言模型(LLMs)在语言到代码(L2C)生成任务中的表现,涵盖7项任务,包括语义解析、数学推理和Python编程,评估了54种模型。该研究分析了模型性能、鲁棒性、置信度校准以及失败模式,揭示了模型规模、预训练数据、指令微调和提示策略对性能的影响。所有模型输出均已公开,以促进未来研究。
Recently, large language models (LLMs), especially those that are pretrained on code, have demonstrated strong capabilities in generating programs from natural language inputs in a few-shot or even zero-shot manner. Despite promising results, there is a notable lack of a comprehensive evaluation of these models language-to-code generation capabilities. Existing studies often focus on specific tasks, model architectures, or learning paradigms, leading to a fragmented understanding of the overall landscape. In this work, we present L2CEval, a systematic evaluation of the language-to-code generation capabilities of LLMs on 7 tasks across the domain spectrum of semantic parsing, math reasoning and Python programming, analyzing the factors that potentially affect their performance, such as model size, pretraining data, instruction tuning, and different prompting methods. In addition to assessing model performance, we measure confidence calibration for the models and conduct human evaluations of the output programs. This enables us to identify and analyze the typical failure modes across various tasks and models. L2CEval offers a comprehensive understanding of the capabilities and limitations of LLMs in language-to-code generation. We also release the evaluation framework and all model outputs, hoping to lay the groundwork for further future research in this domain.
研究动机与目标
- 为解决大型语言模型(LLMs)在语言到代码(L2C)生成任务中缺乏系统化、标准化评估框架的问题。
- 评估模型规模、预训练数据混合比例、指令微调和提示策略对多样化任务中L2C性能的影响。
- 衡量模型的鲁棒性和置信度校准程度,识别不同模型能力下常见的失败模式。
- 提供一个全面、可复现的基准,包含一致的提示和度量标准,实现对来自13家机构的54种模型的公平比较。
- 公开所有模型输出和评估框架,以加速语言到代码生成领域的未来研究。
提出的方法
- 采用标准化评估协议,在7项L2C任务中使用一致的提示和度量标准:2项语义解析(Spider、WikiTQ),2项数学推理(GSM8K、SVAMP),3项Python编程(MBPP、HumanEval、DS-1000)。
- 评估了来自13家机构的54种LLM,涵盖开源和专有模型,参数规模从1B到170B+不等。
- 系统性分析模型规模和预训练数据(35B至1T tokens)的缩放规律,测量在各项任务中的性能提升。
- 比较少样本提示、零样本提示和指令微调提示策略,评估其对生成质量的影响。
- 利用logits和预测置信度分数进行置信度校准分析,以评估模型的可靠性。
- 通过人工评估模型输出,验证自动度量标准并识别定性失败模式。
实验结果
研究问题
- RQ1在多样化语言到代码任务中,模型规模和预训练数据的规模如何影响性能?
- RQ2指令微调与不同提示策略(零样本 vs. 少样本)对L2C生成质量的相对影响是什么?
- RQ3LLMs在生成正确代码时的置信度分数校准程度如何?这种校准在不同模型类型和任务中是否存在差异?
- RQ4LLM生成代码中最常见的失败模式是什么?这些模式在不同模型能力与任务类型之间有何差异?
- RQ5自动度量标准与人类对代码正确性和质量的判断之间的相关性如何?
主要发现
- 在所有L2C任务中,更大的模型始终优于更小的模型,性能提升遵循可预测的缩放规律,与模型规模和预训练数据规模相关。
- 指令微调显著提升了零样本和少样本生成性能,尤其在复杂推理和代码生成任务中表现突出。
- 置信度校准存在显著差异:更大的模型和经过指令微调的模型表现出更好的校准效果,减少了对错误输出的过度自信。
- 常见失败模式包括算术错误、对问题约束的误解以及控制流中的逻辑错误,尤其在数学推理和语义解析任务中更为明显。
- 自动度量标准(如精确匹配和pass@k)与人类判断的相关性中等,但无法捕捉细微的逻辑或语法错误。
- 所有模型输出(文本和logits)的公开发布,使未来研究能够分析失败模式、改进评估度量标准,并训练出在代码生成任务中更具鲁棒性的LLM。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。