code_bagel
收藏Hugging Face2024-10-09 更新2024-12-12 收录
下载链接:
https://huggingface.co/datasets/rombodawg/code_bagel
下载链接
链接失效反馈官方服务:
资源简介:
该数据集是一个包含约8亿个独特代码标记的编程数据集,支持超过100种编程语言。数据集包含320万行以上的高质量、去重、未审查的独特代码数据。数据集的创建过程包括下载多个独立数据集,使用Meta.ai和Claude.ai进行数据提取、格式转换和去重处理。数据集的合并使用了多个高质量的编程数据集,适合用于预训练新的编程模型。
创建时间:
2024-10-09
原始信息汇总
Code Bagel 数据集概述
基本信息
- 语言: 英语 (en)
- 许可证: Apache 2.0
数据集规模
- 总令牌数: 约 8 亿个独特令牌
- 每行最大令牌数: 10,000
- 支持的编程语言: 超过 100 种
数据集内容
- 行数: 超过 320 万行
- 数据质量: 高质量、过滤、未审查、去重、独特
数据集创建过程
- 下载所有单独的数据集
- 使用 Meta.ai 创建代码以提取数据并转换为 Alpaca 格式,并添加指令
- 使用相同的方法将所有数据集合并为一个
- 使用 Claude.ai 创建代码以去重和未审查数据
合并的数据集
- https://huggingface.co/datasets/layoric/tiny-codes-alpaca
- https://huggingface.co/datasets/glaiveai/glaive-code-assistant-v3
- https://huggingface.co/datasets/ajibawa-2023/Code-290k-ShareGPT
- https://huggingface.co/datasets/TIGER-Lab/MathInstruct
- https://huggingface.co/datasets/chargoddard/commitpack-ft-instruct-rated
- https://huggingface.co/datasets/iamtarun/code_instructions_120k_alpaca
- https://huggingface.co/datasets/ise-uiuc/Magicoder-Evol-Instruct-110K
- https://huggingface.co/datasets/cognitivecomputations/dolphin-coder
- https://huggingface.co/datasets/nickrosh/Evol-Instruct-Code-80k-v1
- https://huggingface.co/datasets/coseal/CodeUltraFeedback_binarized
- https://huggingface.co/datasets/glaiveai/glaive-function-calling-v2
- https://huggingface.co/datasets/CyberNative/Code_Vulnerability_Security_DPO
支持的编程语言统计
| 语言 | 出现频率 | 百分比 |
|---|---|---|
| python | 1311720 | 3.29% |
| c | 1975101 | 4.95% |
| self | 923505 | 2.31% |
| java | 631756 | 1.58% |
| javascript | 589796 | 1.48% |
| ruby | 562800 | 1.41% |
| sql | 527178 | 1.32% |
| go | 488987 | 1.23% |
| bash | 461695 | 1.16% |
| rust | 455318 | 1.14% |
| typescript | 377306 | 0.95% |
| julia | 357836 | 0.90% |
| clean | 297606 | 0.75% |
| q | 284196 | 0.71% |
| php | 226355 | 0.57% |
| io | 154093 | 0.39% |
| xml | 138704 | 0.35% |
| red | 105092 | 0.26% |
| factor | 95553 | 0.24% |
| assembly | 86287 | 0.22% |
| alice | 82390 | 0.21% |
| blue | 73990 | 0.19% |
| shell | 57488 | 0.14% |
| dart | 54459 | 0.14% |
| curl | 53624 | 0.13% |
| swift | 49298 | 0.12% |
| scala | 45305 | 0.11% |
| icon | 44932 | 0.11% |
| batch | 43222 | 0.11% |
| inform | 42218 | 0.11% |
| clojure | 40807 | 0.10% |
| scheme | 39851 | 0.10% |
| perl | 39366 | 0.10% |
| verilog | 37458 | 0.09% |
| bc | 37017 | 0.09% |
| lua | 36977 | 0.09% |
| sas | 33938 | 0.09% |
| powershell | 33766 | 0.08% |
| haskell | 33054 | 0.08% |
| kotlin | 32468 | 0.08% |
| elixir | 32400 | 0.08% |
| fortran | 31288 | 0.08% |
| erlang | 29807 | 0.07% |
| lisp | 28644 | 0.07% |
| vhdl | 28002 | 0.07% |
| abc | 26873 | 0.07% |
| ml | 24625 | 0.06% |
| tcl | 23951 | 0.06% |
| zig | 22801 | 0.06% |
| sed | 22645 | 0.06% |
| xslt | 19771 | 0.05% |
| latex | 19566 | 0.05% |
| ring | 18498 | 0.05% |
| racket | 18396 | 0.05% |
| groovy | 17520 | 0.04% |
| whitespace | 15258 | 0.04% |
| ocaml | 15184 | 0.04% |
| logo | 14739 | 0.04% |
| sol | 13969 | 0.04% |
| spark | 13751 | 0.03% |
| matlab | 12689 | 0.03% |
| delphi | 12688 | 0.03% |
| scratch | 12461 | 0.03% |
| stata | 11721 | 0.03% |
| gap | 10940 | 0.03% |
| pascal | 9735 | 0.02% |
| llvm | 9534 | 0.02% |
| objective-c | 9359 | 0.02% |
| forth | 7683 | 0.02% |
| tex | 7233 | 0.02% |
| common lisp | 6954 | 0.02% |
| smalltalk | 6813 | 0.02% |
| visual basic | 6509 | 0.02% |
| prolog | 6284 | 0.02% |
| c++ | 5946 | 0.02% |
| mathematica | 5524 | 0.01% |
| emacs lisp | 5288 | 0.01% |
| ada | 3459 | 0.01% |
| webassembly | 3320 | 0.01% |
| jade | 3084 | 0.01% |
| mercury | 2808 | 0.01% |
| gml | 2794 | 0.01% |
| squirrel | 2773 | 0.01% |
| clips | 2744 | 0.01% |
| coffeescript | 2546 | 0.01% |
| arduino | 2390 | 0.01% |
| dylan | 2266 | 0.01% |
| eiffel | 2263 | 0.01% |
| cocoa | 2193 | 0.01% |
| opencl | 2190 | 0.01% |
| slip | 2096 | 0.01% |
| m4 | 2082 | 0.01% |
| idris | 474 | 0.01% |
| purescript | 345 | 0.01% |
| c# | 396 | 0.01% |
搜集汇总
数据集介绍

构建方式
code_bagel数据集的构建过程体现了大规模数据整合与优化的复杂性。首先,从多个高质量的编程相关数据集中提取数据,并通过Meta.ai生成的代码将其转换为alpaca格式,同时为大部分数据添加指令。随后,利用Claude.ai编写的代码进行去重和去审查处理,确保数据的独特性和完整性。值得注意的是,glaiveai/glaive-function-calling-v2数据集因其包含函数调用数据而未进行去审查处理。最终,通过合并多个数据集,形成了包含320万行高质量、去重、去审查的编程数据。
使用方法
code_bagel数据集的使用方法简单直观,适合用于训练自定义编程模型。用户可通过Google Colab提供的脚本下载数据集,并在TensorDock平台上部署服务器进行模型训练。具体步骤包括下载Colab脚本、部署服务器、配置Hugging Face账户信息并运行代码。该数据集的设计旨在为开发者提供便捷的训练环境,支持Llama或其他AI模型的训练,助力编程模型的开发与优化。
背景与挑战
背景概述
code_bagel数据集是一个专注于编程相关数据的大规模集合,旨在为编程模型的训练提供高质量的语料库。该数据集由多个高质量的编程数据集合并而成,涵盖了超过100种编程语言,总计包含800百万个独特的编程数据标记。其创建过程涉及多个步骤,包括数据下载、格式转换、去重和去敏感化处理。该数据集的构建灵感来源于jondurbin的bagel-v0.5数据集,并在此基础上进行了扩展和优化。code_bagel数据集的发布为编程模型的预训练和微调提供了丰富的资源,推动了编程语言处理领域的研究进展。
当前挑战
code_bagel数据集在构建和应用过程中面临多重挑战。首先,数据集的多样性要求对超过100种编程语言进行统一处理,确保数据格式的一致性和兼容性。其次,数据去重和去敏感化处理是构建过程中的关键步骤,需借助先进的自然语言处理工具如Claude.ai来实现,以确保数据的高质量和安全性。此外,数据集的规模庞大,包含超过320万行代码,这对存储、处理和计算资源提出了较高要求。最后,如何有效利用该数据集进行编程模型的训练,尤其是在多语言环境下的模型优化,仍是一个亟待解决的研究问题。
常用场景
经典使用场景
在编程语言模型的研究与开发中,code_bagel数据集被广泛用于训练和微调多语言编程模型。该数据集包含了超过800百万个独特的编程代码片段,涵盖了100多种编程语言,为研究者提供了一个丰富的资源库,用于探索不同编程语言之间的共性与差异。通过该数据集,研究者可以构建出能够理解和生成多种编程语言的模型,从而推动跨语言编程工具的发展。
解决学术问题
code_bagel数据集解决了编程语言模型训练中数据稀缺和多样性不足的问题。通过整合多个高质量的编程数据集,该数据集为研究者提供了一个大规模、多样化的训练资源,使得模型能够在多种编程语言上表现出色。这不仅提升了模型的泛化能力,还为编程语言理解、代码生成和代码翻译等研究领域提供了坚实的基础。
实际应用
在实际应用中,code_bagel数据集被用于开发智能编程助手、代码自动补全工具以及跨语言代码翻译系统。这些工具能够显著提高开发者的工作效率,尤其是在处理多语言项目时,能够快速生成高质量的代码片段。此外,该数据集还被用于构建代码漏洞检测系统,帮助开发者在早期阶段识别和修复潜在的安全问题。
数据集最近研究
最新研究方向
在编程语言模型领域,code_bagel数据集以其庞大的规模和多样性成为研究热点。该数据集整合了多个高质量的编程数据集,涵盖了超过100种编程语言,提供了超过800百万个独特的编程数据标记。这一丰富的资源为编程语言模型的预训练和微调提供了坚实的基础。当前研究主要集中在如何利用该数据集进一步提升模型的代码生成能力、代码理解能力以及跨语言代码转换能力。特别是在多语言代码生成和代码漏洞检测等前沿领域,code_bagel数据集的应用潜力巨大。此外,随着大模型在编程辅助工具中的广泛应用,该数据集也为开发更智能的代码助手和自动化编程工具提供了重要支持。
以上内容由遇见数据集搜集并总结生成



