Hyperswitch Curriculum Learning Dataset
收藏资源简介:
该数据集包括:- **未分割数据集**(860 MB,28,703条目)- 用于动态分块的完整条目 - **分块数据集**(904 MB,50,145块)- 预分割为8192个标记 - **课程学习阶段** - 3个渐进式训练阶段以实现最佳学习
This dataset includes: - **Unsegmented Dataset** (860 MB, 28,703 entries) – Complete entries for dynamic chunking - **Chunked Dataset** (904 MB, 50,145 chunks) – Pre-split into 8192 tokens - **Curriculum Learning Stages** – 3 progressive training stages for optimal learning
Hyperswitch CPT 数据集概述
数据集简介
该数据集生成器用于从 Hyperswitch 仓库生成用于持续预训练(CPT)的综合数据集。
预构建数据集
可直接使用的数据集下载地址: https://huggingface.co/datasets/AdityaNarayan/HS-Repo-Curriculum-Learning
数据集包含:
- 未分块数据集(860 MB,28,703 条条目)- 用于动态分块的完整条目
- 分块数据集(904 MB,50,145 个块)- 已按 8192 个令牌预分块
- 课程学习阶段 - 3 个渐进式训练阶段,用于优化学习
数据来源与特征
此工具从多个来源提取并格式化训练数据:
- 完整仓库快照 - 所有 Rust 源文件、配置、模式、测试
- Git 提交历史 - 包含差异和消息的完整提交历史
- GitHub PRs - 包含描述、差异、审查和评论的拉取请求
- 测试-代码对 - 测试文件与其实现配对
- 课程学习 - 自动将数据组织成 3 个训练阶段以优化学习
所有数据均使用 GLM-4.5-Air 分词器进行分词,并对大文件进行可配置的分块。
输出格式
数据集以 JSONL 格式生成,每行是一个 JSON 对象。training_content 字段包含用于模型训练的格式化文本,其他字段是用于过滤/分析的元数据。
数据集类型
- file - 仓库源文件
- commit - 包含差异的 Git 提交
- pr_diff - 包含审查的拉取请求
- test_pair - 测试和实现配对
数据集统计信息(基于 2024 年 12 月的 Hyperswitch 仓库)
未分块数据集
- 总条目数: 28,703
- 文件大小: 860 MB
- 分布:
- 提交:42.8%(12,283 条条目)
- 文件:32.2%(9,235 条条目)
- PRs:24.6%(7,056 条条目)
- 测试对:0.4%(129 条条目)
分块数据集(8192 令牌/块)
- 总块数: 50,145
- 文件大小: 904 MB
- 分布:
- 提交:49.5%(24,804 个块)
- PRs:29.8%(14,928 个块)
- 文件:20.1%(10,104 个块)
- 测试对:0.6%(309 个块)
课程学习阶段(推荐)
未分块版本
- 阶段 1(基础):9,364 条条目,66 MB
- 阶段 2(演进):12,325 条条目,457 MB
- 阶段 3(PR 精通):7,014 条条目,337 MB
分块版本
- 阶段 1(基础):10,413 个块,69 MB
- 阶段 2(演进):25,124 个块,485 MB
- 阶段 3(PR 精通):14,608 个块,351 MB
训练策略概述
阶段 1:代码基础(2 轮次)
目标: 学习 Hyperswitch 代码库结构、Rust 语法和基本模式 内容: 所有仓库文件(10,104 条目)和测试-实现配对(309 条目)
阶段 2:变更模式(2-3 轮次)
目标: 理解代码如何演进以及如何进行增量更改 内容: 按时间顺序排序的所有提交(24,804 条目)和小于 5K 字符的小型 PRs(320 条目)
阶段 3:PR 精通(3-4 轮次)
目标: 掌握 PR 解决、代码审查和复杂变更 内容: 中型 PRs(4,474 条目)和包含讨论的大型 PRs(10,134 条目),按复杂度排序
预期结果
与随机训练相比:
- 训练收敛速度: 提升 25-40%
- 代码补全准确率: 从 72% 提升至 85-88%
- PR 质量: 从 65% 提升至 78-82%
- 知识保留率: 提升约 30%
硬件要求
- 最低配置: GPU 24GB VRAM(RTX 3090, A5000), RAM 32GB, 磁盘 10GB
- 推荐配置: GPU 40GB+ VRAM(A100, H100), RAM 64GB, 磁盘 50GB(用于检查点)
系统要求
- Python 3.8+
- 本地安装 Git
- GitHub API 令牌(具有仓库读取权限的细粒度令牌)
- 约 1GB 磁盘空间用于输出
总结
总训练时间: 跨 3 个阶段共 8-9 轮次 预计时长: 在单 A100 上 24-48 小时 成果: 能够理解 Hyperswitch 代码库并有效解决 PRs 的模型 课程学习方法确保模型渐进式学习,更好地保留知识,并取得比随机训练好 25-40% 的结果。




