qlabs-eng/slowrun
100M tokens. Infinite compute. Lowest val loss wins.
NanoGPT Slowrun – 一个针对 无限计算、固定数据 语言模型训练的基准测试
它是什么 – Slowrun 是一个社区驱动的基准测试,旨在衡量当数据预算固定(来自 FineWeb 数据集的 100 M tokens)但计算预算近乎无限时,语言模型能将验证损失降低到什么程度。这个概念与流行的“速通”(speed-run) 比赛相反,后者是在固定的硬件预算下优化墙上时间。通过移除时间限制,研究人员可以尝试重度正则化、大型模型、昂贵的优化器以及只有在同一数据上花费数小时或数天才能见效的算法技巧。
为什么它很重要 – 大多数现代 LLM 研究专注于同时扩展数据和计算。Slowrun 隔离了问题的 算法 面:在给定一个适度、真实的数据集时,当你通过长时间训练时,哪些训练技巧真正能改善泛化能力?排行榜记录了一系列渐进式的改进(新的激活函数、U-Net 风格架构、随机权重平均、meta-gradients 等),并为每一项提供可重现的脚本。
运作方式
- 数据: 来自公开 FineWeb 语料库的 100 M tokens。
- 赛道: 定义了四个计算时间上限,以便参与者可以在不同的资源水平上竞争:
- Limited – 在单个 8×H100 节点上运行 1 小时(约为原始 NanoChat 1-epoch 基线计算量的 100 倍)。
- Tiny – 在相同硬件上运行 15 分钟。
- Two-hour – 在相同硬件上运行 2 小时。
- Unlimited – 没有硬性的墙上时间限制;仅有最低限度的硬件限制。
- 基线: 一个 2.7 B 参数的 transformer,使用 Muon 优化器、dropout 0.1 和非常高的权重衰减 (1.6) 进行训练。在 Limited 赛道上,该基线在约 47 分钟内达到 3.402 的验证损失。
- 排行榜: 贡献者提交 pull-requests 来改善特定赛道的验证损失。README 记录了每一项世界纪录条目、所使用的脚本以及对更改的简短描述(例如“添加独占自注意力 (XSA)”、“使用随机权重平均”、“在 MLP 矩阵上使用一阶 meta-gradient”)。
入门指南
# 1. Clone 仓库
git clone https://github.com/qlabs-eng/slowrun.git && cd slowrun
# 2. 安装依赖项 (Python 3, PyTorch, HuggingFace, wandb 等)
pip install -r requirements.txt
# 3. 下载并准备 100 M token 的 FineWeb 子集
python prepare_data.py
# 4. 启动训练 (示例: limited-compute 赛道)
# 需要一个 8-GPU 节点;torchrun 将为每个 GPU 产生一个进程。
HF_TOKEN=… WANDB_API_KEY=… torchrun --standalone --nproc_per_node=8 train.py
- 将
train.py替换为您想要的赛道脚本(tiny/train.py、two_hour/train.py或unlimited/train.py)。 - 设置您的 Hugging Face token (
HF_TOKEN) 以访问数据集,并设置 Weights & Biases API key (WANDB_API_KEY)(如果您想要实验日志记录)。
排行榜的主要收获
| 赛道 | 最佳验证损失 (截至 README) | 达成此目标的显著技巧 |
|---|---|---|
| Limited (1 h) | 3.183 | MLP 矩阵上的 meta-gradient, 独占自注意力, MuonEq-R, 加权检查点平均 |
| Tiny (15 min) | 3.295 | fp8 混合精度, 2× 递归, XSA, SWA, EMA |
| Two-hour | 3.139 | 交错头注意力 (Interleaved Head Attention), 文档级洗牌, 上下文窗口调度 |
| Unlimited | 2.987 | 大型集成, 快照集成, 基于梯度的模型选择, 广泛的超参数调整 |
谁在使用它 – 该项目由 Q-Labs 工程团队成员支持,并引起了 Andrej Karpathy 的关注(他转发了公告)。贡献者列出了他们的 X 账号;许多人是活跃的 AI 研究人员,正在尝试新颖的优化器或架构想法。
如何贡献 – Fork 仓库,修改适当的 train.py(或添加新脚本),在赛道时间限制内实现更低的验证损失,并开启 pull-request。维护者将验证运行(使用提供的 HF token 和 wandb 日志),如果成功,将您的条目添加到世界纪录表中。
TL;DR – Slowrun 是一个活的基准测试,让任何拥有 8-GPU H100 节点(或云端同等设备)的人都能在数据受限的情况下尝试重量级训练技巧。通过提交一个击败当前赛道最佳验证损失的 PR,您可以赢得排行榜上的一席之地,并帮助社区了解当计算是唯一限制因素时,哪些算法想法真正具有扩展性。
相关
- 项目
- 项目
- 项目
- 项目