five

CodeUpdateArena

收藏
arXiv2024-07-09 更新2024-07-12 收录
下载链接:
https://github.com/leo-liuzy/CodeUpdateArena
下载链接
链接失效反馈
官方服务:
资源简介:
CodeUpdateArena数据集由德克萨斯大学奥斯汀分校开发,专注于评估大型语言模型在代码合成领域的知识编辑能力。该数据集包含670个程序合成任务,涉及54个函数从7个不同的Python包中的更新。数据集通过GPT-4生成,确保了合成API更新的原子性和可执行性。创建过程中,每个更新都配有一系列程序合成示例,这些示例的设计旨在促使模型使用更新后的API功能。CodeUpdateArena主要应用于评估和提升代码生成模型对API更新的适应性和准确性。

Developed by The University of Texas at Austin, the CodeUpdateArena dataset focuses on evaluating the knowledge editing capabilities of large language models (LLMs) in the domain of code synthesis. This dataset comprises 670 program synthesis tasks, involving updates to 54 functions across 7 distinct Python packages. It was constructed using GPT-4, which guarantees the atomicity and executability of the synthesized API updates. During the dataset creation process, each update is paired with a series of program synthesis examples tailored to prompt models to leverage the functionalities of the updated APIs. CodeUpdateArena is primarily utilized to evaluate and improve the adaptability and accuracy of code generation models in response to API updates.
提供机构:
德克萨斯大学奥斯汀分校
创建时间:
2024-07-09
原始信息汇总

CodeUpdateArena: Benchmarking Knowledge Editing on API Updates

数据集描述

目标

该数据集的目标是更新大型语言模型(LLM)关于代码API的更新,并能够在不提供更新文档的情况下解决相关的程序合成示例。

内容

  • 数据集类型:包含54个来自7个不同Python包的虚构且可执行的函数更新。
  • 数据实例:每个虚构的API函数更新与至少3个可执行的程序合成示例配对。

访问

数据集可通过HuggingFace的datasets库加载: python from datasets import load_dataset ds = load_dataset("leo-liuzy/CodeUpdateArena")

实验设置

实验脚本

提供了多种实验脚本,用于运行不同的知识编辑基线:

  • Prepending:将[Update][Task][Test]作为输入,不更新模型参数,仅在上下文中学习更新。 bash bash scripts/prepend.sh

  • FT (U):在[Update]上进行微调,测试输入为[Task]+[Test]。 bash bash scripts/ft_u.sh

  • FT (PS):在[Task]+[Test]上进行监督微调。 bash bash scripts/ft_ps.sh

  • FT (U+PS):类似于FT(PS),但在上下文中预置了更新文档。 bash bash scripts/ft_ups.sh

特殊实验

  • Specificity:测试模型是否过度拟合于特定的[Update],通过测量模型在固定样本上的性能差异。 bash bash scripts/specificity.sh

  • Random-FT:在其他随机更新的程序合成示例上进行微调,以理解模型在微调过程中实际学到的内容。 bash bash scripts/rand_ft.sh

数据集生成

生成流程

提供了数据集生成的核心脚本,包括manager_update.pymanager_prog_syn.py,分别用于生成更新和程序合成示例。

去重

包含了自动去重重程序合成示例的核心代码auto-dedup.py

搜集汇总
数据集介绍
main_image_url
构建方式
CodeUpdateArena数据集的构建方法首先由GPT-4生成原子和可执行的函数更新,然后针对每个更新生成程序合成示例,这些示例的代码解决方案倾向于使用更新。数据集覆盖了来自七个不同Python包的54个函数的各种类型的更新,共有670个程序合成示例。生成的更新和程序合成示例通过手动检查和启发式方法进行验证,以确保数据质量。
特点
CodeUpdateArena数据集的特点在于其合成的API更新和相应的程序合成示例,这些示例旨在评估大型语言模型(LLM)在代码域中更新知识的能力。数据集涵盖了来自七个不同Python包的54个函数的各种类型的更新,共有670个程序合成示例。数据集的构建方法是由GPT-4驱动的精心设计的数据生成流程,可以扩展或更新新的实例。
使用方法
CodeUpdateArena数据集的使用方法包括对LLM进行知识更新,以使其能够解决使用更新后的API的程序合成问题。使用数据集时,首先对LLM进行更新,使其了解API更新(例如,通过更新函数的文档字符串)。然后,提供一系列程序合成示例,要求LLM使用更新后的API来解决这些问题。评估LLM的能力,以使用更新后的API解决程序合成问题,而不在推理时提供更新。
背景与挑战
背景概述
随着大型语言模型(LLM)在代码合成和推理方面的能力不断增强,如何使这些模型的知识保持最新,以适应不断发展的库和API函数,成为了一个关键问题。CodeUpdateArena数据集正是为了解决这一问题而创建的,它提供了一个基准,用于评估和改进代码领域中的知识编辑能力。该数据集由Zeyu Leo Liu等人于2024年提出,旨在通过模拟API更新和程序合成问题,测试LLM在更新其知识库后解决新问题的能力。CodeUpdateArena涵盖了来自七个Python包的54个函数的更新,总计670个程序合成示例,为研究LLM知识更新提供了宝贵的资源。
当前挑战
CodeUpdateArena数据集面临的挑战主要涉及两个方面:首先,LLM必须能够理解并正确推理更新后的API函数的语义,而不仅仅是复制其语法。其次,构建过程中遇到的挑战包括如何生成高质量的合成API更新和程序合成示例,确保它们既具有挑战性又能够被LLM解决。此外,如何有效地更新LLM的知识,使其能够在不提供更新文档的情况下解决程序合成问题,也是一个亟待解决的问题。
常用场景
经典使用场景
CodeUpdateArena 数据集主要用于评估和改进大型语言模型(LLM)在处理代码 API 更新方面的能力。该数据集包含合成的 API 更新和相应的程序合成示例,旨在测试 LLM 是否能够在没有提供更新文档的情况下,更新其关于 API 函数的知识并解决程序合成问题。
实际应用
CodeUpdateArena 数据集在实际应用场景中可用于评估和改进 LLM 在处理代码 API 更新方面的能力。例如,在软件开发过程中,当 API 函数发生更新时,使用 CodeUpdateArena 可以评估 LLM 是否能够正确理解更新后的 API 函数的语义并生成相应的代码。此外,CodeUpdateArena 也可以用于训练和改进 LLM,使其能够更好地适应 API 更新,提高代码生成和调试的准确性。
衍生相关工作
CodeUpdateArena 数据集的衍生相关工作主要集中在知识编辑和程序合成方面。例如,一些研究探索了如何使用 CodeUpdateArena 数据集来评估和改进 LLM 在处理代码 API 更新方面的知识更新能力,以及如何使用 CodeUpdateArena 数据集来训练和改进 LLM,使其能够更好地适应 API 更新。此外,一些研究还探索了如何将 CodeUpdateArena 数据集与其他数据集结合使用,以评估和改进 LLM 在处理更复杂代码任务方面的能力。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作