- 简介大型语言模型(LLMs)越来越被用于合成和推理源代码。然而,这些模型的静态知识并不能反映它们调用的库和API函数不断演变的事实,功能也在不断增加或改变。虽然有许多基准测试评估LLMs如何生成代码,但之前没有研究LLMs关于代码API函数的知识如何更新。为了填补这个空白,我们提出了CodeUpdateArena,这是一个用于代码领域知识编辑的基准测试。我们基准测试中的一个实例由一个合成的API函数更新和一个使用更新功能的程序综合示例组成;我们的目标是更新LLM,使其能够解决这个程序综合示例,而不需要在推理时提供更新的文档。与编辑文本中编码的事实相比,这里的成功更具挑战性:代码LLM必须正确地推理修改后函数的语义,而不仅仅是重现其语法。我们的数据集是通过首先提示GPT-4生成原子和可执行的函数更新来构建的。然后,针对每个更新,我们生成程序综合示例,其代码解决方案容易使用更新。我们的基准测试涵盖了来自七个不同Python包的54个函数的各种类型的更新,共计670个程序综合示例。我们的实验表明,在开源代码LLMs(即DeepSeek、CodeLlama)中添加更新文档无法使它们整合问题解决的更改,现有的知识编辑技术也有很大的改进空间。我们希望我们的基准测试能够激发出新的方法来更新代码LLMs中的知识。
- 图表
- 解决问题本文旨在解决大型语言模型在代码领域的知识更新问题,即如何让模型能够正确处理代码库和API函数的不断变化和新增,以便更好地实现程序综合。
- 关键思路本文提出了CodeUpdateArena基准测试,通过对54个Python包中的670个程序综合示例进行更新API函数的测试,评估了现有知识编辑技术在代码领域的适用性,并提出了一种新的方法来解决这个问题。
- 其它亮点本文提出了一个新的代码领域的知识更新基准测试,包含了多种类型的API函数更新和程序综合示例,证明了现有方法在解决这个问题上存在很大的改进空间。实验使用了GPT-4生成的原子可执行函数更新,以及开源的DeepSeek和CodeLlama模型进行测试。作者还提出了一种新的知识更新方法,即使用程序综合示例来训练模型,以便更好地适应代码库和API函数的变化。
- 最近的相关研究包括使用语言模型进行程序综合的工作,以及使用机器学习方法更新知识库的工作。其中一些研究包括:《Neural Program Synthesis with Priority Queue Training》、《Learning to Update Knowledge Graphs》等。
沙发等你来抢
去评论
评论
沙发等你来抢