five

codefuse-ai/Evol-instruction-66k

收藏
Hugging Face2025-03-15 更新2024-03-04 收录
下载链接:
https://hf-mirror.com/datasets/codefuse-ai/Evol-instruction-66k
下载链接
链接失效反馈
官方服务:
资源简介:
Evol-instruction-66k数据是根据论文《WizardCoder: Empowering Code Large Language Models with Evol-Instruct》中提到的方法,通过添加复杂的代码指令来增强预训练代码大模型的微调效果。该数据是在开源数据集Evol-Instruct-Code-80k-v1基础上对数据进行了一系列处理,包括低质量过滤、HumanEval评测相似数据过滤等,从原始80k数据筛选后得到66k高质量训练微调数据。

Evol-instruction-66k数据是根据论文《WizardCoder: Empowering Code Large Language Models with Evol-Instruct》中提到的方法,通过添加复杂的代码指令来增强预训练代码大模型的微调效果。该数据是在开源数据集Evol-Instruct-Code-80k-v1基础上对数据进行了一系列处理,包括低质量过滤、HumanEval评测相似数据过滤等,从原始80k数据筛选后得到66k高质量训练微调数据。
提供机构:
codefuse-ai
原始信息汇总

数据集概述

数据集名称

  • CodeFuse-Evol-instruction-66k

数据集描述

  • 目的: 增强预训练代码大模型的微调效果,通过添加复杂的代码指令。
  • 基础: 基于论文《WizardCoder: Empowering Code Large Language Models with Evol-Instruct》的方法。
  • 来源: 处理自开源数据集Evol-Instruct-Code-80k-v1
  • 处理: 包括低质量过滤和通过HumanEval评测过滤相似数据。
  • 规模: 从原始80k数据筛选后得到66k高质量训练和微调数据。

数据集创建

  • 低质量数据过滤:
    • 过滤instruction长度小于10个单词或大于1000个单词的数据。
    • 过滤output长度小于50个单词或大于2000个单词的数据。
    • 过滤output中无markdown格式或多个markdown格式的数据。
    • 过滤markdown格式中代码少于3行或大于100行的数据。
    • 过滤markdown格式前面描述单词大于200个单词的数据。
  • 过滤与humaneval相似的数据:
    • 过滤包含humaneval中任意函数名的数据。
    • 使用NLTK去除humaneval的docstring中停用词和标点符号,过滤包含超过40%核心词的数据。

数据集结构

  • 示例:
    • Instruction: 执行多阶段计算任务,包括组织提供的数字列表并确定中间值(中位数)。
    • Output: 提供Python解决方案,展示如何排序列表并计算中位数。
搜集汇总
数据集介绍
main_image_url
构建方式
在代码生成领域,高质量指令数据对提升大语言模型的编程能力至关重要。Evol-instruction-66k数据集的构建源于《WizardCoder: Empowering Code Large Language Models with Evol-Instruct》论文提出的演化指令方法,旨在通过复杂代码指令增强模型微调效果。该数据集以开源Evol-Instruct-Code-80k-v1为基础,经过多阶段严格筛选:首先依据指令与输出长度、Markdown格式规范性及代码行数等维度剔除低质量样本;随后采用HumanEval基准进行去重,过滤包含其函数名或核心词汇超过阈值的数据,最终从八万条原始数据中提炼出六万六千条精炼样本,确保了数据集的纯净性与多样性。
特点
该数据集的核心特征体现在其高度的结构化与任务导向性。每条数据均遵循“Instruction-Output”范式,其中指令部分描述了多步骤计算任务,输出则提供完整的代码解决方案及自然语言解释。这种设计模拟了真实编程场景中问题定义与代码实现的对应关系,有助于模型理解复杂逻辑。数据覆盖了排序、算法实现等常见编程问题,且所有代码均以Markdown格式规范呈现,保证了机器可读性与人类可理解性的平衡。通过过滤与基准测试相似的数据,该数据集有效避免了评估时的数据泄露风险,为模型训练提供了可靠的基础。
使用方法
在代码大语言模型的微调实践中,该数据集可直接用于监督式训练。研究者可将指令作为模型输入,对应的代码输出作为目标,通过标准语言建模损失函数优化模型参数。由于数据已进行长度与格式标准化,无需额外预处理即可融入训练流程。其高质量特性使得模型能够学习从复杂自然语言描述到精确代码生成的映射关系,适用于提升代码生成、程序合成等任务的性能。在评估阶段,建议结合HumanEval等基准测试以衡量模型泛化能力,避免因数据相似性导致过拟合。
背景与挑战
背景概述
在代码大语言模型迅速发展的背景下,提升模型对复杂代码指令的理解与生成能力成为关键研究方向。CodeFuse-Evol-instruction-66k数据集应运而生,其构建灵感源自《WizardCoder: Empowering Code Large Language Models with Evol-Instruct》论文中提出的Evol-Instruct方法,旨在通过引入多样且复杂的代码指令来增强预训练模型的微调效果。该数据集由CodeFuse团队于2023年基于开源数据Evol-Instruct-Code-80k-v1精心筛选而成,通过严格的质量控制流程,从原始80k样本中提炼出66k高质量数据,专注于解决代码生成任务中指令复杂度不足的瓶颈,为代码智能领域提供了重要的训练资源。
当前挑战
该数据集致力于应对代码生成领域的核心挑战,即如何使大语言模型准确理解并执行多层次、高复杂度的编程指令,从而生成功能正确且结构清晰的代码。在构建过程中,团队面临双重挑战:一方面,需从海量数据中剔除低质量样本,例如过滤指令或输出长度异常、格式不规范或代码行数不合理的条目,以确保数据的一致性与有效性;另一方面,为避免数据泄露与评估偏差,必须严格排除与HumanEval基准测试相似的内容,通过函数名匹配与核心词汇重叠分析来维持数据集的独立性与泛化能力,这些精细处理步骤显著提升了数据集的可靠性与实用性。
常用场景
经典使用场景
在代码生成与智能编程辅助领域,Evol-instruction-66k数据集凭借其经过严格筛选的高质量指令-代码对,成为微调预训练代码大语言模型的核心资源。该数据集通过演化指令技术,将基础编程任务逐步复杂化,生成了涵盖多阶段计算、算法实现及代码解释的多样化样本,能够有效提升模型在理解复杂指令、生成准确且结构化工整的代码片段方面的能力。
实际应用
在实际开发环境中,基于此数据集微调的模型可集成于智能编程助手、自动化代码审查及教育工具中。它能够协助开发者将高层次的自然语言需求转化为可执行代码,加速原型构建;在教育场景,则可作为生成编程练习题与示例的引擎,帮助学生理解复杂逻辑。其高质量的输出规范也有助于生成可直接嵌入项目的、风格一致的代码块。
衍生相关工作
该数据集直接衍生于WizardCoder研究提出的Evol-Instruct方法,并通过对原始Evol-Instruct-Code-80k-v1数据集进行质量与独特性过滤而优化产生。相关经典工作包括探索指令演化对代码模型性能边界的推动,以及如何利用此类数据提升模型在HumanEval等基准测试上的表现。这些工作共同促进了代码生成模型从规模驱动向质量与复杂度驱动的发展范式转变。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作