five

nuprl/CanItEdit

收藏
Hugging Face2024-03-19 更新2024-03-04 收录
下载链接:
https://hf-mirror.com/datasets/nuprl/CanItEdit
下载链接
链接失效反馈
官方服务:
资源简介:
CanItEdit是一个用于评估大型语言模型(LLMs)在遵循代码编辑指令方面能力的基准测试。该基准测试包含105个手工制作的Python程序,每个程序都有修改前后的代码块、两种类型的自然语言指令(描述性和懒人式)以及一个隐藏的测试套件。描述性指令模拟用户提供具体规格或另一个模型概述计划的情况,类似于Reflexion提示;而懒人式指令则类似于用户在代码生成中对LLMs的典型查询。

CanItEdit is a benchmark designed to evaluate the capability of large language models (LLMs) to follow code editing instructions. This benchmark includes 105 handcrafted Python programs, each of which contains pre-modification and post-modification code blocks, two types of natural language instructions (descriptive and lazy-style), and a hidden test suite. Descriptive instructions simulate scenarios where a user provides specific specifications or another model outlines a plan, similar to Reflexion prompts; while lazy-style instructions are analogous to typical user queries for LLMs in code generation scenarios.
提供机构:
nuprl
原始信息汇总

数据集概述

数据集名称

CanItEdit

数据集目的

评估大型语言模型(LLMs)在指令代码编辑任务上的表现。

数据集内容

  • 包含105个手工制作的Python程序。
  • 每个程序包含编辑前后的代码块。
  • 提供两种类型的自然语言指令:描述性和懒惰型。
  • 包含一个隐藏的测试套件。
搜集汇总
数据集介绍
main_image_url
构建方式
CanItEdit数据集由领域专家精心构建,旨在评估大型语言模型在指令式代码编辑任务上的表现。该数据集包含105个手工制作的Python程序,每个程序均配备修改前后的代码块、两种类型的自然语言指令(描述性与随意性)以及一套隐藏的测试用例。指令设计涵盖两种典型场景:描述性指令模拟用户提供详细规格或模型通过类似Reflexion提示制定计划的情形,而随意性指令则更贴近用户在代码生成中常见的非正式查询。这种双指令结构旨在全面检验模型在不同复杂度指令下的编辑能力。
特点
CanItEdit数据集的核心特点在于其精细化的指令设计与评估维度。每个样本均包含描述性与随意性两种指令,前者提供详细上下文,后者仅给出简洁目标,从而测试模型在信息充分与不足条件下的适应能力。数据集还引入隐藏测试套件,确保评估的公正性与客观性。此外,每个样本附带丰富的元数据,包括编辑类型、相关库和主题分类,为深入分析模型在不同代码编辑场景下的表现提供了有力支撑。
使用方法
使用CanItEdit数据集进行评估时,研究人员需从HuggingFace平台加载数据,并参照官方GitHub仓库提供的评估代码。评估流程通常包括:将描述性或随意性指令与修改前代码输入模型,生成编辑后的代码,再通过隐藏测试套件验证其正确性。数据集以标准格式存储,包含id、name、before、after、tests、instruction_descriptive、instruction_lazy及taxonomy等字段,便于直接用于文本到文本生成任务的训练与评测。建议结合论文中的基线结果进行对比分析,以全面衡量模型性能。
背景与挑战
背景概述
在大型语言模型(LLMs)蓬勃发展的浪潮中,代码编辑任务作为软件工程自动化的核心环节,正受到学术界与工业界的广泛关注。然而,现有基准测试多聚焦于代码生成,鲜有系统评估模型遵循自然语言指令进行代码编辑的能力。为填补这一空白,来自美国东北大学(NUPRL)的Federico Cassano、Luisa Li、Noah Shinn等研究者于2023年12月发布了CanItEdit基准数据集。该数据集精心设计了105个手工构建的Python程序,每个样本均包含编辑前后的代码块,并配套两种类型的自然语言指令:描述性指令(模拟详细规范场景)与懒惰指令(模拟用户非正式查询)。这一创新设计旨在深入探究LLMs在不同指令粒度下的编辑准确性与鲁棒性,为代码智能领域提供了关键评估工具,其研究结果已发表于2024年首届大型语言模型代码国际研讨会(LLM4Code)。
当前挑战
CanItEdit所面对的挑战首先体现在领域问题的复杂性上:与简单的代码生成不同,代码编辑要求模型精准理解现有代码的上下文、意图与边界,并在不破坏原有功能的前提下完成局部修改,这对模型的语义推理和结构化编辑能力提出了更高要求。其次,在数据集构建过程中,研究者面临两大难题:一是如何设计能够覆盖多种编辑类型(如函数重构、库更新、逻辑修正)且具有代表性的样本,同时确保每个程序配有可自动验证的隐藏测试套件;二是如何平衡描述性与懒惰指令的表述差异,避免因指令模糊性导致评估偏差,从而真实反映模型在实际人机协作场景中的表现。此外,确保105个样本在规模有限的情况下仍能提供统计显著的评估结果,也是构建过程中的重要考量。
常用场景
经典使用场景
在代码智能与软件工程领域,CanItEdit数据集被广泛用作评估大型语言模型(LLM)指令遵循能力的基准测试。该数据集聚焦于指令性代码编辑任务,要求模型根据自然语言描述对给定Python程序进行精准修改。其经典使用场景包括衡量模型在两种指令类型(详细描述型与简洁懒惰型)下的表现,从而揭示LLM在理解复杂规范与模糊用户需求时的差异。通过105个精心构造的实例与隐藏测试套件,研究者能够系统性地评估模型的编辑准确性与鲁棒性,为代码生成与编辑模型的优化提供关键依据。
衍生相关工作
CanItEdit数据集催生了一系列相关研究,推动了代码编辑与LLM评估的交叉发展。其论文中提出的双指令设计启发了后续工作如Reflexion(基于反思的自我优化方法)与Self-Edit(自我编辑策略),这些方法借鉴了描述性指令场景下的规划思路。此外,该基准被用于评估CodeLlama、StarCoder等主流模型的编辑能力,促使研究者开发了更细粒度的编辑评估指标。相关工作还包括将CanItEdit与HumanEval、MBPP结合,构建多任务代码智能评估体系,以及探索指令编辑在跨语言代码迁移和API替换中的扩展应用。
数据集最近研究
最新研究方向
随着大语言模型在代码生成领域的迅猛发展,如何精准评估其对代码编辑指令的遵循能力成为前沿热点。nuprl/CanItEdit数据集应运而生,聚焦于指令驱动的代码编辑任务,通过105个精心设计的Python程序案例,构建了包含描述性与随意性两种自然语言指令的评估基准。这一设计不仅模拟了用户提供详细规范或模型自主规划(如Reflexion提示)的复杂场景,还覆盖了日常使用中常见的模糊指令,从而全面检验模型在不同粒度指令下的代码修改能力。该数据集的提出紧密关联了当前大语言模型在交互式编程与自动化代码维护中的实际应用需求,为衡量模型在真实开发环境中的实用性与鲁棒性提供了关键标尺,推动了代码智能编辑领域向更细致、更贴近用户习惯的方向演进。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务