大型语言模型作为代码执行器:探索性研究
本文探讨了使用 Large Language Models 进行程序合成时,实现 Synthesize,Execute,Debug 方法的方法,包括替换或修复故障程序,以及不同基于模板和基于模型的提示生成技术,取得了比传统方法更好的表现。
Apr, 2023
ASTxplainer是针对代码LLMs的一种可解释性方法,不仅能提供LLM评估的新方法,还能通过可视化LLM预测结果帮助终端用户理解模型预测。通过在常用的GitHub项目上进行实证评估和用户研究,研究结果表明ASTxplainer有潜力深入研究LLM的效能,并帮助终端用户理解预测结果。
Aug, 2023
使用各种大型语言模型自动生成代码片段的自然语言摘要,研究结果表明,代码语言模型优于其通用模型,而零-shot方法在训练集和测试集之间分布不同的数据集上取得了更好的结果。
Oct, 2023
评估大型语言模型在编码任务上的能力的多维度、多语言、多任务评估基准CodeScope的引入和分析
Nov, 2023
通过将代码集成到大型语言模型的训练数据中,可以提高语言模型的代码生成能力、推理能力以及生成结构化和精确的中间步骤,并将其转化为智能代理在复杂自然语言任务中的应用。
Jan, 2024
我们研究了大型语言模型(LLMs)模拟计算机代码和算法执行的程度。通过研究直线程序,我们发现当前的LLMs在处理简单程序时表现不佳,随着代码长度的增加,性能迅速下降。我们进一步研究了LLMs模拟包含关键路径和冗余指令的程序的能力,并展示了常规排序算法和嵌套循环的情况。我们观察到LLMs只能在短程序或标准过程中以低错误率的顺序执行指令。LLMs的代码模拟与其模式识别和记忆能力存在着张力:在需要避免记忆的任务中,我们提出了一种新的提示方法,逐行模拟代码执行。经验证实,我们的新的模拟链(CoSm)方法通过避免记忆的问题改进了标准的思维链提示方法。
Jan, 2024
基于大规模语言模型的代码生成领域的综述,介绍了对LLMs在代码生成领域的最新进展、数据处理、性能评估、实际应用,对学术与实践之间的差距进行了分析,提出了关键挑战和机遇,并提供了一个资源网站以记录和传播该领域的最新进展。
Jun, 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
本研究探讨了大型语言模型(LLMs)作为代码执行器的潜力,首次系统性地分析了多个模型在代码执行中的可行性。研究提出了逐行处理代码片段的迭代指令提示(IIP)技术,有效提高了较弱模型的准确性,最高提升达18.96%。该研究为未来的自动编程和复杂任务的完成奠定了基础。
Oct, 2024