故障感知神经代码排序器
利用执行结果修正生成的代码,我们提出了一种基于人类编程阶段的生成和编辑方法来提高大型语言模型(LLM)在竞争性编程任务方面的代码质量,对使用不同参数大小的 9 种常见代码生成 LLM 在两个竞争性编程数据集上进行了广泛评估,相比于直接从 LLMs 生成的代码,我们的方法在 APP-dev 上的 pass@1 平均值提高了 89%,在 APPS-test 上提高了 31%,在 HumanEval 上提高了 48%,比其他后处理方法表现更优。
May, 2023
该研究介绍了一种名为 SRank 的新型重排序策略,通过量化聚类之间的功能重叠,为代码生成提供了更好的排名策略,实验结果表明,该方法在 pass@1 得分上取得了显著的结果,与现有的排名方法相比,显示出优越性和鲁棒性。
Oct, 2023
本研究提出了一种基于语言到代码生成的方法,利用预先训练好的代码语言模型的采样程序生成,再利用后验验证器对生成的程序进行验证,对程序进行重新排序,从而提高最终程序的正确性,实验结果表明该方法在多个领域取得了最优的生成效果。
Feb, 2023
通过添加 Reviewer 模型来限制生成代码的多样性并对生成结果进行评估,从而改善了常见的代码生成算法中对退化方案的倾向,实验结果表明,这种算法实现简单且泛化性强,有望在某些情况下取代最小贝叶斯风险方法。
Nov, 2022
通过 RRTF (Rank Responses to align Test&Teacher Feedback) 框架,我们提出了 PanGu-Coder2,它在 OpenAI HumanEval 基准测试中实现了 62.20% 的 pass@1,并通过对 CoderEval 和 LeetCode 基准测试的广泛评估显示,PanGu-Coder2 始终优于所有之前的 Code LLMs。
Jul, 2023
使用大型语言模型的程序修复任务中,通过降低训练数据量、使用代码剪裁技术及构建全面的代码修复数据集,我们的系统能够在更少的案例中准确匹配人工修复,并显著提升可用模型的性能。
Feb, 2024
最近,大型语言模型 (LLMs) 在理解自然语言和生成编程代码方面表现出了非凡的能力。然而,对于 LLMs 生成的代码的可靠性和鲁棒性的研究尚未得到深入的探讨。这项研究提出了一个包括 1208 个编程问题的数据集 RobustAPI,用于评估 LLMs 生成的代码的可靠性和鲁棒性,并发现甚至对于 GPT-4 而言,62% 的生成代码存在 API 误用,这可能导致意想不到的后果。
Aug, 2023
下一代 AI 系统需要强有力的安全保证。本报告研究了神经网络和相关内存安全性质的软件实现,包括空指针引用、越界访问、double-free 和内存泄漏。我们旨在检测这些漏洞,并借助大型语言模型自动修复它们。为此,我们首先通过程序突变的自动化过程,将现有的神经网络代码数据集 NeuroCodeBench 的规模扩大到约 81k 个程序。然后,我们使用最先进的软件验证器 ESBMC 验证突变的神经网络实现的内存安全性。每当 ESBMC 发现漏洞时,我们会调用一个大型语言模型来修复源代码。在最新的任务中,我们比较了各种最先进的提示工程技术,以及重复调用大型语言模型的迭代方法的性能。
May, 2024
大型语言模型能够通过代码生成和理解任务进行细粒度调整,而上下文学习技术在缺陷检测和修补中表现出色。本论文提出了代码对分类任务,其中模型接收有缺陷和无缺陷版本的代码对,从中识别出有缺陷的版本。实验证明,与判断代码片段中是否存在缺陷及其位置相比,大型语言模型更容易识别出有缺陷的代码对。
Nov, 2023