five

Open-Critic-GPT

收藏
Hugging Face2024-07-29 更新2024-12-12 收录
下载链接:
https://huggingface.co/datasets/Vezora/Open-Critic-GPT
下载链接
链接失效反馈
官方服务:
资源简介:
Open-Critic-GPT数据集是一个合成数据集,旨在训练模型识别和修复代码中的错误。该数据集通过一个独特的合成数据流水线生成,包括向现有代码示例中引入错误,并让模型从第一人称视角找出这些错误并解释它们。数据集包含两种类型:代码偏好对数据集(Code-Preference-Pairs Dataset)和Open-Critic-GPT数据集(DPO),每种类型包含约55,000个示例。数据集涵盖127种不同的语言/结构。每个代码示例包括带有引入错误的代码、错误解释和修复后的代码。
创建时间:
2024-07-28
原始信息汇总

Open-Critic-GPT 数据集

概述

创建者 Nicolas Mejia-Petit

Open-Critic-GPT 数据集是一个用于训练模型识别和修复代码中错误的合成数据集。该数据集通过以下独特的合成数据流程生成:

  1. 使用现有代码示例提示本地模型。
  2. 在代码中引入错误,同时让模型从第一人称视角找到这些错误并解释它们。
  3. 通过移动错误代码和工作代码的位置,并移除代码中的 # bug//# error// 注释来操纵数据。

此过程在 Open-Critic-GPT 中创建了两个不同的数据集:

  • Code-Preference-Pairs 数据集(SFT):包含成对的重复代码示例,唯一的区别是一个示例中有错误的代码被“外科手术式地移植”,而另一个示例保持不变。
  • Open-Critic-GPT 数据集(DPO):训练模型从错误代码中找到错误并生成正确的工作代码。

两个数据集涵盖了总共 127 种不同的语言/结构,每个数据集包含约 55K 个示例(均来自同一个父示例)。

数据集结构

数据集的组织如下:

  • 代码示例:每个代码示例包含一个带有错误的代码片段,并要求找到错误并修复它们:
    • 错误代码:带有引入的错误且没有注释的代码版本,以避免模型从注释中学习“Bug”或“Error”。
    • 解释:为每个错误代码示例提供解释,详细说明错误的性质、错误对代码的影响以及避免错误的提示。
    • 修复代码:最后,模型编写完全正确的工作代码,修复错误并添加注释。

使用

  • 只需给我信用 :)
  • 目前 Open AI 及其公司的员工不允许使用此数据集或任何可能由此产生的衍生作品进行训练。这在自定义的 Apache 许可证中有所提及。
  • 否则,对于其他人来说,它属于 Apache 2.0 许可证。

训练模型

在使用 Open-Critic-GPT 数据集训练模型时,使用数据整理器确保不会在错误代码上计算损失。数据整理器在训练期间管理数据集,为模型提供正确的输入和输出以进行损失计算。

数据集创建者致谢

  • 该数据集是使用 m-a-p/CodeFeedback-Filtered-Instruction 创建的,其中包含来自多个不同来源的数据。
  • 以下是原始来源的原始作者,感谢以下作者:Nick Roshdieh 的 evol Instruct,Ajinkya Bawase 的 Python shareGPT 23k,Intelligent Software Engineering 的 Magicoder,以及 Multimodal Art Projection 的编译和过滤的 m-a-p/CodeFeedback-Filtered-Instruction。
搜集汇总
数据集介绍
main_image_url
构建方式
Open-Critic-GPT数据集的构建过程采用了独特的合成数据生成管道。首先,通过向本地模型提供现有代码示例,并在代码中引入错误。接着,模型从第一人称视角识别并解释这些错误。随后,通过调整错误代码和正常代码的位置,并移除代码中的注释,生成了两个独立的数据集:Code-Preference-Pairs Dataset和Open-Critic-GPT Dataset。前者包含重复的代码示例对,其中一个示例被植入了错误代码,而另一个保持不变;后者则用于训练模型从错误代码中生成正确的代码。整个数据集涵盖了127种不同的编程语言和结构,最终生成了约55,000个示例。
特点
Open-Critic-GPT数据集的特点在于其多样性和实用性。数据集涵盖了广泛的编程语言和结构,确保了模型在不同编程环境下的泛化能力。每个代码示例都包含错误代码、错误解释以及修复后的代码,使得模型不仅能够识别错误,还能理解错误的本质并提供修复建议。此外,数据集中移除了与错误相关的注释,避免了模型从注释中直接学习错误信息,从而增强了模型的独立学习能力。
使用方法
使用Open-Critic-GPT数据集时,用户需注意在训练模型时使用数据整理器(data collator),以确保损失函数不会在错误代码上计算。数据集的使用遵循Apache 2.0许可,但禁止Open AI及其员工使用该数据集或其衍生作品进行训练。用户在使用该数据集时,需对数据集创建者进行适当的引用和致谢。此外,数据集创建者鼓励用户通过捐赠支持其开源项目,以继续为社区提供高质量的免费资源。
背景与挑战
背景概述
Open-Critic-GPT数据集由Nicolas Mejia-Petit创建,旨在通过合成数据管道训练模型识别并修复代码中的错误。该数据集通过引入错误代码并让模型从第一人称视角发现并解释这些错误,生成了两个主要子数据集:Code-Preference-Pairs和Open-Critic-GPT。这些数据集涵盖了127种不同的编程语言和结构,尽管在转换过程中部分数据丢失,最终保留了约55,000个示例。该数据集的创建为代码错误检测与修复领域提供了重要的训练资源,推动了自动化代码修复技术的发展。
当前挑战
Open-Critic-GPT数据集在构建过程中面临多重挑战。首先,生成高质量的错误代码并确保其多样性是一项复杂任务,需要精确控制错误的类型和位置,以避免模型过度依赖特定模式。其次,数据转换过程中丢失了大量原始数据,导致数据集规模缩减,可能影响模型的泛化能力。此外,数据集的注释和解释部分需要人工干预以确保准确性,这增加了构建成本和时间。在应用层面,如何有效利用该数据集训练模型,使其能够准确识别并修复复杂代码中的错误,仍是一个亟待解决的技术难题。
常用场景
经典使用场景
Open-Critic-GPT数据集在代码缺陷检测与修复领域展现了其独特的价值。通过生成包含缺陷的代码片段及其修复版本,该数据集为模型提供了丰富的训练材料,使其能够在代码审查和自动化修复任务中表现出色。特别是在软件工程领域,该数据集被广泛应用于训练智能代码审查工具,帮助开发者快速识别并修复代码中的潜在问题。
实际应用
在实际应用中,Open-Critic-GPT数据集被广泛用于开发智能代码审查工具和自动化修复系统。例如,在软件开发过程中,集成基于该数据集训练的模型可以实时检测代码中的潜在缺陷,并提供修复建议,从而显著提高代码质量和开发效率。此外,该数据集还被用于教育领域,帮助学生和初学者通过分析缺陷代码及其修复过程,深入理解编程语言的特性和最佳实践。
衍生相关工作
Open-Critic-GPT数据集的发布催生了一系列相关研究工作。例如,基于该数据集训练的模型被用于开发更高效的代码缺陷检测工具,如智能代码审查助手和自动化修复系统。此外,一些研究还利用该数据集探索了代码缺陷的传播机制及其对软件质量的影响,为软件工程领域的理论研究和实践应用提供了新的视角。这些衍生工作不仅验证了数据集的价值,也进一步拓展了其应用范围。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作