派 7B 数据集
收藏资源简介:
# PIE 预训练语料 本数据集为 [PIE 手搓大模型](https://github.com/Tianyu-Zhou1964/PIE-Handmaking_LLM) 项目的预训练语料,包含两个版本的二进制 token 文件,可直接用于 PyTorch `mmap` 加载训练。 --- ## 文件说明 | 文件名 | Token 数量 | 文件大小 | 用途 | |---|---|---|---| | `all.bin` | ~1B tokens | ~4 GB | 快速实验、消融研究 | | `all7B.bin` | ~7.1B tokens | ~26.5 GB | 完整预训练 | 所有 token 均以 `uint32` 格式存储(每个 token 占 4 字节),可直接通过 `np.memmap` 读取,无需额外解压或转换。 --- ## 数据配比 ### all.bin(1B tokens) | 数据集 | 配比 | 约 Token 数 | 说明 | |---|---|---|---| | [SkyPile-150B](https://huggingface.co/datasets/Skywork/SkyPile-150B) | 60% | ~600M | 中文网页语料主力 | | [FineWeb](https://huggingface.co/datasets/HuggingFaceFW/fineweb) | 25% | ~250M | 英文高质量网页语料 | | [StarCoder](https://huggingface.co/datasets/bigcode/starcoderdata) | 10% | ~100M | 代码语料 | | [NuminaMath-CoT](https://huggingface.co/datasets/AI-MO/NuminaMath-CoT) | 5% | ~50M | 数学推理链 | ### all7B.bin(~7.1B tokens) 由于 SkyPile 原始语料体量有限,实际配比与目标有所偏差: | 数据集 | 目标配比 | 实际 Token 数 | 实际占比 | |---|---|---|---| | SkyPile-150B | 60% | ~3.186B | ~45% | | FineWeb | 25% | ~2.500B | ~35% | | StarCoder | 10% | ~1.000B | ~14% | | NuminaMath-CoT | 5% | ~0.415B | ~6% | --- ## 分词器 本语料使用 PIE 项目自训练的 **BPE 分词器**处理,词表大小 **32,128**(含 64 个特殊 token 预留位)。分词器由 Rust(PyO3)实现核心编码逻辑,速度约为纯 Python 实现的 50 倍。 分词器文件详见主仓库:[PIE-Handmaking_LLM/Tokenizer](https://github.com/Tianyu-Zhou1964/PIE-Handmaking_LLM) --- ## 使用方法 ```python import numpy as np # 加载语料(mmap 模式,不会一次性读入内存) data = np.memmap("all.bin", dtype=np.uint32, mode="r") print(f"总 Token 数:{len(data):,}") print(f"前 10 个 Token:{data[:10]}") ``` 在 PyTorch 训练中按 `block_size` 切片: ```python import torch block_size = 1024 def get_batch(data, batch_size, block_size, device): ix = torch.randint(len(data) - block_size, (batch_size,)) x = torch.stack([torch.from_numpy(data[i : i + block_size].astype(np.int64)) for i in ix]) y = torch.stack([torch.from_numpy(data[i + 1 : i + block_size + 1].astype(np.int64)) for i in ix]) return x.to(device), y.to(device) ``` 完整训练流程(含 DDP 多卡支持)参见主仓库的 `train.py`。 --- ## 主仓库 **[https://github.com/Tianyu-Zhou1964/PIE-Handmaking_LLM](https://github.com/Tianyu-Zhou1964/PIE-Handmaking_LLM)** PIE(Process of Intelligence Emergence)是一个完全从零手搓的 0.2B 参数密集型语言模型,涵盖: - 自研 Rust BPE 分词器 - 完整预训练流程(GQA / SwiGLU / RoPE / Flash Attention / DDP) - 全程 Bilibili/抖音 视频记录(共 23 期) --- ## 许可证 本数据集继承各原始数据集的许可协议: - SkyPile:[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) - FineWeb:[ODC-By 1.0](https://opendatacommons.org/licenses/by/1-0/) - StarCoder:[BigCode OpenRAIL-M](https://huggingface.co/spaces/bigcode/bigcode-model-license-agreement) - NuminaMath-CoT:[Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0)



