代码大型语言模型的代码比较调整
通过对指令进行细调,利用代码进行指令调整,以提升大型语言模型(LLMs)在自然语言任务中的性能表现,并在Git提交中利用人类指令的自然结构进行指令调整,实现了在16B参数StarCoder模型上超过其他自然和合成代码指令(xP3x,自我指导,OASST)的最新性能,即在HumanEval Python基准测试中达到46.2%的一次通过率。
Aug, 2023
LLaMA-Reviewer是一个创新框架,利用了LLaMA(一种流行的大型语言模型)在代码审查领域的能力。通过使用参数高效的微调方法,即使使用了6.7B参数的最小LLaMA基础模型和有限的微调时期,LLaMA-Reviewer也能达到现有的面向代码审查的模型的性能。
Aug, 2023
利用对最近的大型语言模型进行了代码测试的详尽分析,本研究展示了这些模型的一系列有趣性质,并展示了如何改进大型语言模型的程序测试能力,通过利用生成的测试用例来提高合成程序的质量,相较于GPT-3.5-turbo和最新的最先进技术,我们的方法在HumanEval+上的代码通过率分别提高了11.77%和4.22%。
Oct, 2023
基于28个调优方法和4个模型尺寸,通过对5项任务和8个不同数据集的研究,我们发现完全参数微调通常在所有尺度上都能提供最佳的下游性能,并且参数高效微调方法在模型规模上的功效存在显著差异。然而,LoRA方法通常在成本和性能之间提供了最有利的平衡。此外,我们还发现较大的模型往往表现出较低的稳健性和较低的安全性。最后,我们探讨了更新的参数、交叉熵损失和任务性能之间的关系,并发现在小型模型中观察到的调优效果在大型模型中也普遍适用,指导性调优中的验证损失可以作为总体下游性能的可靠指标。
Jan, 2024
大型语言模型 (LLMs) 在编码能力方面表现出色。然而,作为编程能力的另一个关键组成部分,LLMs 的调试能力仍未得到充分探索。我们介绍了“DebugBench”,一个包含 4,253 个实例的 LLM 调试基准。它涵盖了 C++、Java 和 Python 中的四个主要漏洞类别和 18 个次要类型。通过使用 GPT-4 在源数据中植入漏洞,收集 LeetCode 社区的代码片段,并进行严格的质量检查来构建 DebugBench。我们以零样本场景中评估了两个商业和三个开源模型。我们发现,(1)与人类相比,GPT-4 等闭源模型的调试性能较差,Code Llama 等开源模型未能达到任何通过率;(2)调试的复杂性明显取决于漏洞类别;(3)运行时反馈对调试性能有明显影响,但并非总是有帮助。作为扩展,我们还比较了 LLM 调试和代码生成,发现闭源模型它们之间存在很强的关联。这些发现将有助于 LLM 在调试方面的发展。
Jan, 2024
我们提出了一种评估Large Language Models(LLMs)代码理解性能的新方法,通过引入代码变异来检测LLMs对代码和自然语言描述之间微妙差异的能力,并在各种代码变异和编程语言上对两个常见的LLMs进行了案例研究,发现它们在代码理解性能上存在显著的差异。
Jan, 2024
通过引入一种具有自我评估功能的多样指令模型 (DolphCoder) 来增强预训练的 Code LLM 的代码生成性能,实现了卓越的 HumanEval 和 MBPP 基准性能,为未来的代码指令调优工作提供了新的见解。
Feb, 2024
本文提出了一个面向代码的综合、无污染评估系统LiveCodeBench,其中收集了来自LeetCode、AtCoder和CodeForces三个竞赛平台的问题,着重评估LLMs在代码生成以外的自修复、代码执行和测试输出预测等更广泛的代码相关能力。
Mar, 2024
基于大型语言模型(LLMs)的自动化软件工程在最近的进展中得到了极大的增强。尽管当前的基准测试表明LLMs可以完成各种软件工程任务,如人类开发人员一样,但它们的大多数评估仅限于简短的、自包含的算法任务。解决具有挑战性和实际意义的编程任务需要利用多种函数调用作为工具,以有效地实现数据分析和Web开发等功能。此外,使用多个工具来解决一个任务需要通过准确理解复杂的指令来进行组合推理。同时实现这两个特征对于LLMs来说是一个巨大的挑战。为了评估LLMs解决具有挑战性和实际意义的编程任务的能力,我们引入了一个基准测试集Bench,其中挑战LLMs以从139个库和7个领域中选择1,140个细粒度的编程任务中调用多个函数调用作为工具。为了对LLMs进行严格评估,每个编程任务包括5.6个测试用例,平均分支覆盖率达到99%。此外,我们提出了Bench的自然语言导向变体Benchi,它将原始的文档字符串自动转换为仅具有基本信息的简短指令。我们对60个LLMs进行了广泛评估,结果显示LLMs还不能准确地遵循复杂指令来使用函数调用,得分最高仅为60%,明显低于人类的97%。这些结果强调了在这个领域进一步改进的需要。
Jun, 2024
本文探讨了大型语言模型在代码理解能力评估中的不足,提出了一种新型基准测试工具CodeJudge-Eval(CJ-Eval)。CJ-Eval通过评判代码解决方案的正确性,能够挑战模型识别各种错误类型,研究结果显示即使是最先进的模型在该基准测试中也面临困难,彰显了其在深入评估模型代码理解能力方面的独特价值。
Aug, 2024