【代码大模型】Is Your Code Generated by ChatGPT Really Correct?论文阅读

Is Your Code Generated by ChatGPT Really Correct? Rigorous Evaluation of Large Language Models for Code Generation

key word: evaluation framework, LLM-synthesized code, benchmark

论文:https://arxiv.org/pdf/2305.01210.pdf

代码:https://github.com/evalplus/evalplus

【why】

现存的 LLM-for-code 的基准测试集的局限性:

(1)Insufficient testing

当前的编程基准程序通常只包含平均少于10个测试的每个编码问题。

此外,这些测试相对过于简单,无法充分发掘代码或角案例的功能。

(2)Imprecise problem description

代码生成的输入除了函数签名外,还包括自然语言。现有基准程序中的这些任务描述往往过于模糊,无法充分阐明预期的程序行为。

【what】
1.EvalPlus -- a code synthesis evaluation framework to rigorously benchmark the functional correctness of LLM-synthesized code

(1)Seed initialization via ChatGPT

ChatGPT作为一个自动生成引擎,生成少量但高质量种子

prompt 中包含的内容:

· 所要考察问题的真实解

· 一组作为示范的测试输入

· 激励ChatGPT提出输入的指令词
(2)Type-aware input mutation

inputs 的生成规则:

· 使用Chatgpt生成的种子初始化 seed pool 并引导 generation pipeline

· 每次从种子池中随机选择一个输入,将其突变为一个新的输入(即突变型)

· 在种子池中添加新的符合程序要求的输入,重复二三步
(3)Test-suite reduction

· code coverage

· mutant killings

· LLM sample killings
(4)Program input contracts

评估代码的最终目的是需要检查合成的代码是否符合期望的用户意图。

采用contracts编程思想,以断言的形式注释函数的前置条件。
2. Extend the test-cases of the popular HUMANEVAL benchmark by 80× to build HUMANEVAL+

【how】

评价指标:无偏版本的pass@k

1.结果

(1)在所有的LLMs,模型大小和k值中,使用HUMANEVAL +,几乎所有的pass @ k结果与使用基本HUMANEVAL相比一致下降。

(2)HUMANEVAL+更严格的评估可能会产生与HUMANEVAL不同或完全相反的相对结果。

(3) 在使用HUMANEVAL +前后,最佳temperature保持相当一致,说明具有稳健性。

(4) 精简后的测试集仅用47 ×的测试用例就可以达到与HUMANEVAL +几乎相同的pass @ 1⋆drop。

(5) HUMANEVAL和HUMANEVAL +之间的通过率差距表明,总体上HUMANEVAL +可以检测出HUMANEVAL错误识别的所有级别困难问题的解决方案。
2.实验细节:

(1)随机抽取200个programs,并且在 temperature{0.2, 0.4, 0.6, 0.8} 和greedy decoding with zero temperature 上重复实验

思考问题:

1.ChatGPT一般的输出包含很多无用词汇or符号,具有输出不稳定性,请问怎么保证每次输出稳定+正确的呢?

  1. temperature 是什么呢?

  2. 还是很迷惑,测试结果变差就代表本文提出的方法更好吗?

相关推荐
精彩AI说2 小时前
ChatGPT合并多份资料总是内容重复?去重、分类与统一结构整理方法
chatgpt·提示词·ai工具·办公效率·资料整理·chatgpt教程
DeepIntelli8 小时前
GEO 团队选型
人工智能·chatgpt
m4Rk_8 小时前
【论文阅读】Agent 记忆机制(54):MINJA——普通用户如何仅通过查询污染 Agent 的长期记忆
论文阅读·人工智能·学习·开源·github
精彩AI说19 小时前
ChatGPT写段落总是太散?主题句、层次结构与段落衔接优化方法
chatgpt·ai写作·提示词·文章结构·chatgpt教程
Capricorn198819 小时前
个人知识库接入大模型频现“幻觉引用”?排查 RAG 溯源失效问题,解析知芽构建可信第三大脑的底层架构
大数据·论文阅读·人工智能·笔记·架构·论文笔记
Capricorn19881 天前
科研引用无法溯源怎么排查?知芽 Notebook Skill 技术机制拆解
大数据·论文阅读·人工智能·笔记·论文笔记
Capricorn19881 天前
Agent 记忆层接入后引用仍不可信?知芽 Notebook Skill 排障指南
大数据·论文阅读·人工智能·笔记·架构
Rocky Ding*1 天前
【三年面试五年模拟】2026-08-16_拼多多_笔试题与题解全解析
论文阅读·人工智能·深度学习·机器学习·aigc·ai-native·拼多多
dunge20261 天前
ChatGPT Plus / Pro + Codex 实战指南(2026-08-28):从零搭建 AI 编程工作流
人工智能·chatgpt
kaixin_啊啊1 天前
Windows版ChatGPT启动失败Unable-to-locate-Codex-CLI-binary解决方法
windows·chatgpt