v3 trained (30000 steps × batch 32 × seq 256 = 245.8M tok, ~0.53 epoch), single-GPU batched via T10 (~26K tok/s, ~2.65h). Archived to registry ~/projects/tiny-models/v3-tinystories-dim512/ (xtrain.ckpt + config.json + model.safetensors BF16 179 tensors + tokenizer.json + RUN.md) and served in xserv (loads 16L/dim512 qwen3, 2/3 prompts token-match xtrain greedy; 3rd diverges on BF16 drift as in v1/v2). best/final val 1.3027 (beats ~1.4 target). val ladder on the same held-out 1M-token set: v0 3.80 / v1 2.58 / v2 1.71 / v3 1.30. T10 (batched forward) validated at scale (KI-1 root cause = launch-bound, not all-reduce); single-GPU avoids KI-5. Update docs/runs/README.md comparison table. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.6 KiB
2.6 KiB
Scaling Runs
xtrain 的 scaling 阶段:在 v0-baseline 之上逐版放大数据 + 参数,每版一份
docs/runs/NN-<version>.md 设计文档(数据来源 / 架构 + 参数 / 超参 / 结果 val-loss + 采样 /
相比上一版的提升),训练完存入 dash5 模型 registry(~/projects/tiny-models/<version>/)并导出
xserv 格式验证可服务。
模型核心参数(core params)= Config::core_params() = 总参数减去两张 vocab×dim 表
(token embedding + lm_head)。gpt2 vocab=50257 使这两张表固定占 ~25.7M(dim256 时),它不反映
模型容量,所以阶梯按 core 来量。
对比表
val loss 一栏给的是各版各自训练 run 报告的 best val(held-out 1M token,全量 train 末尾切片)。 注:v0/v1 训练用 seq128、v2 用 seq256,eval 窗口不同 → 同一保留集 + 同一 eval 设置(seq256/64batch) 重评 v1=2.6756→v2=2.0418(低 0.634,apples-to-apples);下表 best-val 同向。
| 版本 | 数据 | 架构 (dim/L/heads·hd/ffn) | core 参数 | 总参数 | val loss | 备注 |
|---|---|---|---|---|---|---|
| v0-baseline | TinyStories valid 3MB 切片 (~72 万 tok) | 32 / 4 / 2·16 / 64 | ~41K | 3.26M | 3.8050 | 太小不可用;采样陷入 "mommy's mommy's mommy" 循环 |
| v1-tinystories-dim256 | TinyStories 全量 train (468.3M tok, u16 缓存) | 256 / 8 / 8·32 / 1024 | 8.39M | 34.13M | 2.5847 | 全量数据 + dim256/8L;val 低 1.22,采样连贯成篇;~25.9min/单卡 |
| v2-tinystories-dim384 | TinyStories 全量 (复用 v1 缓存, 训 ~36.9M tok) | 384 / 12 / 12·32 / 1536 | 28.32M | 66.92M | 1.7055 | dim384/12L + DDP 4 卡;val 比 v1 低 0.88,情节更长;~2.8h/4 卡。⚠️ DDP 弱扩展见 KI-1 |
| v3-tinystories-dim512 | TinyStories 全量 (复用 v1 缓存, 训 ~245.8M tok, ~0.53 epoch) | 512 / 16 / 16·32 / 2048 | 67.13M | 118.59M | 1.3027 | dim512/16L + 单卡 batched (T10);val 比 v2 低 0.40,带动机/转折的连续叙事;~2.65h/单卡 ~26K tok/s。T10 修 KI-1 根因(launch-bound),单卡避开 KI-5 |
下一档(提案)
- v4(待派发):见
03-v3-*.md末尾 "v4 提案"——放大 dim640–768/20–24L (~130–200M core) + ~600M–1B token,目标 val ~1.0–1.1;多卡需先修 KI-5(分桶 all-reduce),模型变大后启用 KI-2/3 (bf16/重计算),并按数据阶梯开始广化语料(TinyStories + 通用高质语料)。