资源描述
The Stack v2 是由 BigCode 社区构建的高质量、多语言开源代码数据集,规模达12TB,覆盖30+编程语言(如Python、JavaScript、Rust、Go等),经许可证合规过滤、重复去重、函数级切分及单元测试执行验证,专为训练和评估代码大模型(Code LLMs)设计,广泛应用于代码补全、生成、翻译与漏洞检测等任务。
详细内容
# The Stack v2 Code Dataset
## 数据集背景与来源
The Stack v2 是 BigCode(一个开放协作的代码AI研究社区)发布的第二代开源代码语料库,旨在为代码大模型提供透明、可复现、合规的训练数据基础。其原始数据源自公开 GitHub 仓库(截至2023年6月快照),严格遵循 OSI 认可的开源许可证(如 MIT、Apache-2.0、GPL-3.0 等),并排除无明确许可证或非商业许可(NC)项目,确保法律安全性与可商用潜力。
## 数据规模与标注信息
- **总规模**:约12TB原始文本(未压缩),经清洗后约6.4TB结构化JSONL格式数据;
- **语言覆盖**:支持30+主流及新兴编程语言,前5位为 Python、JavaScript、Java、TypeScript、C++,每语言均按行数、文件数、仓库数分级统计;
- **结构化字段**:每条样本包含 `content`(源码)、`path`、`language`、`repo_name`、`license`、`size_bytes`、`is_generated`(是否机器生成)、`is_test`(是否测试文件)等关键元数据;
- **质量增强**:集成函数级切分(function-level chunking)、基于AST的语法有效性校验、跨文件依赖解析,并对约20%高价值子集执行真实环境单元测试(通过率≥95%作为可用性指标)。
## 典型应用场景
- ✅ **代码大模型预训练/微调**:如 StarCoder2、CodeGen、CodeLlama 的底层训练语料;
- ✅ **代码理解与生成评估**:作为 HumanEval-X、MBPP 等基准的补充训练分布,提升泛化性;
- ✅ **许可证合规研究**:支持 license-aware modeling 与版权溯源分析;
- ✅ **代码克隆检测与去重策略验证**:提供已标注的重复片段哈希(simhash + minhash)及跨仓库相似度参考。
## 使用注意事项
- ⚠️ **许可证约束**:虽已过滤非合规仓库,但下游模型输出仍需独立评估其生成代码的许可证兼容性,不可直接推定衍生作品自动获得相同许可;
- ⚠️ **数据时效性**:快照截止于2023年中,不包含此后新增仓库或更新;
- ⚠️ **资源门槛**:全量加载需高性能存储与分布式处理能力(推荐使用 Hugging Face Datasets 的 streaming 模式加载);
- ⚠️ **敏感内容**:含少量真实生产环境配置密钥模板(如 `API_KEY = "..."`)或占位符,建议在训练前启用正则过滤或 token-level masking。