rig-logs
收藏资源简介:
该数据集是 rig 项目(https://github.com/honglu2875/rig)中所有 GPT 预训练运行的完整训练日志归档。它包含 300 次运行,分布在 10 个不同的研究中,记录了每个优化器步骤的损失和学习率曲线,以及每个诊断步骤的逐层参数、梯度和更新统计信息。原始日志未经过降采样,保留了完整的记录分辨率。 数据集结构按研究组织,每个研究文件夹包含多个运行子文件夹,每个运行包含以下文件: - training.riglog:记录每个步骤的损失、学习率、梯度范数等。 - diagnostics.riglog:记录每个诊断步骤的逐层统计信息。 - result.json:包含配置、最终指标和来源信息。 - validation.csv:记录验证损失。 此外,每个研究还包含 records.jsonl(运行摘要)和 snapshot.json.gz(用于轻量级消费的精选曲线快照)。 运行名称编码了关键变量,例如“500m-20tpp-bs128-lr2e-8-s1337”表示 500M 参数规模、20 tokens per parameter、批大小 128、基础学习率 2^-8、种子 1337。 数据集涵盖了多种实验设置,包括批大小、学习率、种子、模型规模(60M、125M、250M、500M)、上下文长度(1k 和 8k)、密集和 MoE(混合专家)架构等。硬件平台包括 TPU v4 和 TPU v6 lite,不同配置下运行结果可能存在微小差异(由于浮点非关联性)。 该数据集适用于研究缩放定律、超参数迁移、学习率与批大小扫描、梯度尖峰分析、MoE 路由行为等任务。用户可以通过 huggingface_hub 和 rig 库的 logpack 模块读取 .riglog 文件。
This dataset is a complete archive of training logs for all GPT pre-training runs in the rig project (https://github.com/honglu2875/rig). It contains 300 runs distributed across 10 different studies, recording loss and learning rate curves at each optimizer step, as well as layer-wise parameter, gradient, and update statistics at each diagnostic step. The original logs are not downsampled, preserving full resolution. The dataset is organized by study, with each study folder containing multiple run subfolders. Each run includes the following files: training.riglog (records loss, learning rate, gradient norm, etc. per step), diagnostics.riglog (records layer-wise statistics per diagnostic step), result.json (contains configuration, final metrics, and source information), and validation.csv (records validation loss). Additionally, each study contains records.jsonl (run summaries) and snapshot.json.gz (curated curve snapshots for lightweight consumption). Run names encode key variables, e.g., 500m-20tpp-bs128-lr2e-8-s1337 indicates 500M parameters, 20 tokens per parameter, batch size 128, base learning rate 2^-8, seed 1337. The dataset covers a variety of experimental settings, including batch size, learning rate, seed, model size (60M, 125M, 250M, 500M), context length (1k and 8k), dense and MoE (Mixture of Experts) architectures. Hardware platforms include TPU v4 and TPU v6 lite, with minor differences in results across configurations due to floating-point non-associativity. This dataset is suitable for studying scaling laws, hyperparameter transfer, learning rate and batch size sweeps, gradient spike analysis, MoE routing behavior, etc. Users can read .riglog files via huggingface_hub and the logpack module of the rig library.
rig training logs 数据集概述
基本信息
- 数据集名称: rig training logs
- 许可证: MIT
- 标签: training-logs、scaling-laws、hyperparameter-transfer、tpu、jax
- 数据集地址: https://huggingface.co/datasets/quintic/rig-logs
数据集内容
该数据集包含 honglu2875/rig 中所有 GPT 预训练运行的完整训练日志,共 300 次运行,涵盖 10 项研究。日志保持完整记录分辨率,未进行降采样处理,具体包括:
- 每个优化器步骤的损失和学习率曲线
- 每个诊断步骤的逐层参数、梯度和更新统计
数据组织结构
每个研究目录下包含:
<study>/ <run-name>/ training.riglog # 损失、学习率、梯度范数(每步) diagnostics.riglog # 逐范围统计(每诊断步) result.json # 配置、最终指标、来源信息 validation.csv # 验证集损失 records.jsonl # 每次运行的账目记录 snapshot.json.gz # 精简曲线快照
运行命名规则
运行名称反映变量差异,例如 500m-20tpp-bs128-lr2e-8-s1337 表示:
- 500M 参数规模
- 每个参数 20 个 token
- 批次大小 128
- 基础学习率 2^-8
- 随机种子 1337
硬件配置
不同研究使用不同的硬件拓扑,种子不能单独标识运行结果:
| 研究 | 硬件 |
|---|---|
batch-sweep-60M |
TPU v4 — 4 进程,16 芯片 |
lr-batch-sweep-125M |
TPU v4 — 4 进程,16 芯片 |
batch-sweep-250M |
TPU v4 — 4 进程,16 芯片 |
batch-sweep-500M |
混合:6 次 TPU v4,6 次 TPU v6 lite |
lr-transfer-250M |
TPU v4 — 4 进程,16 芯片 |
lr-sweep-8k-60M |
TPU v4 — 4 进程,16 芯片 |
moe-lr-sweep-8k |
TPU v4 — 4 进程,16 芯片 |
batch-size-grid-8k |
TPU v4 — 4 进程,16 芯片 |
seed-variance-60M |
TPU v6 lite — 1 进程,8 芯片 |
seed-variance-125M |
TPU v4 — 4 进程,16 芯片 |
重要发现:相同配置和种子在不同拓扑(8 芯片 vs 16 芯片)上运行,结果相差 0.004 至 0.023 nats,与种子效应大小相当。这是由浮点非结合性导致的,无法通过设置种子解决。
文件格式
.riglog 是压缩二进制日志格式:
- 8 字节魔数、固定头部、列表(用整数 ID 定位序列)、定宽记录
- 比长格式 CSV 小约 21 倍,单次内存复制即可读取
- 可通过 Python 的
logpack模块读取
研究汇总
| 研究 | 运行次数 | 参数规模 | 变量 | 日志目录 |
|---|---|---|---|---|
| batch-size-sweep-60M | 75 | 60M | batch × LR × seed | batch-sweep-60M |
| lr-batch-sweep-125M | 27 | 125M | batch × LR × seed | lr-batch-sweep-125M |
| batch-size-sweep-250M | 36 | 250M | batch × LR × seed | batch-sweep-250M |
| batch-size-sweep-500M | 12 | 500M | batch × LR × seed,5 和 20 TPP | batch-sweep-500M |
| 3-seed-gradient-spike | 12 | 250M | LR × seed | lr-transfer-250M |
| 8k-lr-sweep-60M | 15 | 60M | 8k 上下文下 LR × seed | lr-sweep-8k-60M |
| moe-lr-sweep-8k | 18 | 60M/125M | LR × seed,8 专家中的 top-2 | moe-lr-sweep-8k |
| batch-size-grid-8k | 42 | 60M/125M | 8k 下 batch × LR × seed,密集和路由 | batch-size-grid-8k |
| seed-variance | 63 | 60M/125M | 固定 MoE 配方下的 seed | seed-variance-60M, seed-variance-125M |
| transfer-charts | — | — | 派生图表,非运行仪表盘 | — |
关键研究发现
- 批大小 16 在所有场景中表现最优:最佳 batch-32 运行在 60M 密集模型上损失 0.39 nats,路由模型 0.27,125M 上 0.05;最佳 batch-64 运行分别损失 1.30、1.15 和 0.31
- MoE 路由优势:路由阶梯在 2^-8 学习率达到峰值(与密集相同),在每个学习率上以相等的活跃参数和匹配计算量优于密集模型 0.07–0.12 nats,内存约为 1.7 倍
- 历史 MoE 优化器说明:所有归档的
reference_moe运行和路由臂在提交102a264之前,采用了错误的 AdamW 权重衰减推断(基于数组秩),修正后的配方无法逐位复现这些运行
使用方式
python from huggingface_hub import hf_hub_download from rig import logpack
path = hf_hub_download("quintic/rig-logs", "batch-sweep-60M/60m-5tpp-bs128-lr2e-8-s1337/training.riglog", repo_type="dataset") log = logpack.read_log(path) log.series("train_loss") # 每个优化器步骤 log.series("grad.l2_norm", "block", 7) # 每层,来自诊断




