five

starcoder

收藏
Hugging Face2025-10-25 更新2025-10-26 收录
下载链接:
https://huggingface.co/datasets/Sam-Shin/starcoder
下载链接
链接失效反馈
官方服务:
资源简介:
Starcoder数据集(The Stack的子采样版)包含了一种或多种编程语言的源代码,这些源代码是从The Stack数据集中选取的,共包含384种编程语言。每个子集对应一种编程语言或数据类型,并以Parquet格式存储。
创建时间:
2025-10-25
原始信息汇总

Starcoder数据集概述

数据集来源

  • 本数据集源自"The Stack"数据集的"Starcoder"版本
  • 原始数据集包含384种编程语言的许可源代码,总容量为6.4 TB

数据组织方式

  • 数据按编程语言或数据类型划分为多个子集
  • 每个子集对应一个特定的编程语言
  • 所有数据文件均采用parquet格式存储
  • 所有子集仅包含训练集分割

可用子集配置

数据集包含以下编程语言和数据类型子集:

编程语言子集

  • 主流语言: Python, Java, JavaScript, C, C++, C#, Go, Rust, Ruby, PHP
  • 函数式语言: Haskell, Clojure, Scala, F#, OCaml, Standard ML, Scheme, Racket
  • 脚本语言: Shell, PowerShell, Perl, Python, Ruby, Lua, JavaScript, TypeScript
  • Web开发: HTML, CSS, JavaScript, TypeScript, PHP, Java Server Pages
  • 数据科学: Python, R, Julia, MATLAB, Mathematica, SAS, Stata
  • 系统编程: C, C++, Rust, Go, Zig, Assembly
  • 移动开发: Java, Kotlin, Swift, Dart
  • 学术语言: Agda, Coq, Isabelle, Lean, Idris
  • 其他语言: Ada, ALGOL, Alloy, ANTLR, AppleScript, Augeas, AWK, Batchfile, Bluespec, CMake, CoffeeScript, Common Lisp, CUDA, Dockerfile, Elixir, Elm, Emacs Lisp, Erlang, Fortran, GLSL, Groovy, JSON, LaTeX, Makefile, Maple, Markdown, Pascal, Prolog, Protocol Buffer, reStructuredText, RMarkdown, Smalltalk, Solidity, SPARQL, SQL, Stan, SystemVerilog, Tcl, Tcsh, Thrift, Verilog, VHDL, Visual Basic, XSLT, Yacc, YAML

特殊数据类型子集

  • Git提交记录清理版
  • GitHub问题筛选结构化数据
  • Jupyter脚本去重筛选版
  • Jupyter结构化清理去重版

使用方法

使用datasets库加载特定语言子集,需指定对应的语言名称参数:

python from datasets import load_dataset

加载Python子集

python_data = load_dataset("Sam-Shin/starcoder", name="python", split="train")

加载C++子集

cpp_data = load_dataset("Sam-Shin/starcoder", name="cpp", split="train")

加载C#子集

csharp_data = load_dataset("Sam-Shin/starcoder", name="c-sharp", split="train")

数据格式

  • 所有数据文件均为parquet格式
  • 文件路径格式:data/[语言名称].parquet
  • 数据分割:仅包含训练集
搜集汇总
数据集介绍
main_image_url
构建方式
在软件工程领域,StarCoder数据集源自The Stack项目的精选版本,该原始数据集包含384种编程语言中经过许可的源代码,总量达6.4TB。本数据集通过系统化采样方法,将庞杂的原始数据按编程语言类型分解为独立子集,每个子集以标准化Parquet格式存储,确保了数据结构的统一性与高效访问。这种构建策略不仅保留了多语言代码的丰富性,还通过模块化组织提升了数据管理的灵活性,为代码智能研究奠定了坚实基础。
特点
作为代码智能领域的代表性资源,StarCoder数据集最显著的特点是覆盖了从Ada到Zig的86种编程语言变体,包括主流语言与专业领域专用语言。数据集采用分语言独立存储模式,每个子集仅包含训练分割,这种设计既保证了语言特性的纯粹性,又满足了机器学习模型训练的需求。其Parquet文件格式兼具压缩效率与快速读取优势,使得研究者能够针对特定语言生态开展深度分析,而无需处理冗余的跨语言数据干扰。
使用方法
对于从事代码生成与程序分析的研究者而言,该数据集可通过HuggingFace的datasets库进行灵活调用。使用者需在加载函数中明确指定目标语言参数,例如选取Python子集时传入name='python'参数。这种接口设计允许研究人员精准定位所需语言数据,直接获取对应数据表的训练集内容,继而应用于代码补全、缺陷检测或跨语言迁移学习等具体场景,为实证研究提供标准化数据支撑。
背景与挑战
背景概述
在人工智能与软件工程交叉领域,StarCoder数据集作为BigCode项目于2023年发布的重要成果,标志着大规模代码智能研究的里程碑。该数据集由ServiceNow Research与HuggingFace团队联合构建,汇集了来自384种编程语言的许可合规源代码,原始数据规模达6.4TB。其核心目标在于解决代码生成、程序理解和自动化编程等基础问题,通过海量多语言代码语料为预训练模型提供支撑,显著推动了智能编程助手和代码补全系统的发展。
当前挑战
该数据集致力于攻克多语言代码理解与生成的共性难题,包括跨语言语义对齐、长程依赖建模及程序逻辑一致性验证等核心挑战。在构建过程中面临多重技术障碍:需从数十亿代码文件中精准识别许可协议,确保法律合规性;针对不同编程语言特性设计异构数据清洗流程,处理注释、字符串与代码结构的混合模式;同时要平衡语言分布,避免主流语言对低资源语言的覆盖效应,并解决代码重复检测与质量评估的算法优化问题。
常用场景
经典使用场景
在代码智能研究领域,Starcoder数据集作为多语言编程语料库,其经典应用场景聚焦于大规模代码生成模型的训练与评估。该数据集涵盖384种编程语言的许可源代码,为深度学习模型提供了丰富的语义模式和语法结构学习素材。研究人员通过构建基于Transformer的神经网络架构,利用该数据集训练模型掌握从自然语言描述到程序代码的转换能力,显著提升了代码自动补全和程序合成任务的性能表现。
解决学术问题
该数据集有效解决了代码智能研究中数据稀缺与语言覆盖不足的核心难题。通过提供经过严格许可筛选的多语言代码样本,它使研究者能够系统探索跨编程语言的通用表示学习机制。在程序理解、代码摘要生成以及缺陷检测等研究方向,该数据集为构建稳健的评估基准提供了重要支撑,推动了软件工程与人工智能领域的交叉融合,为代码大语言模型的发展奠定了数据基础。
衍生相关工作
该数据集催生了系列里程碑式的研究成果,包括StarCoder系列代码大模型及其改进架构。这些衍生工作深入探索了代码填充、跨语言迁移学习等前沿方向。基于该数据集构建的HumanEval与MBPP评估基准已成为衡量代码生成模型性能的标准测试集。后续研究进一步扩展了其在程序修复、代码翻译等任务的应用边界,形成了完整的代码智能研究生态体系。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作