mpu-30m-base

mpu-30m is a 30.3M-parameter GPT-style language model trained from scratch on 400M tokens of TinyStories. It is the first model in the mpu series and the proof-of-concept run for an elastic, checkpoint-driven training platform that migrates a single training job across free and disposable GPU sessions (Colab/Kaggle) without losing progress.

It writes short, simple children's stories. It is small on purpose: the goal of this run was to validate the training infrastructure end to end, not to compete on quality.

Model details

Architecture Decoder-only transformer (GPT-2 style, pre-LN, tied embeddings)
Parameters 30.3M total (10.6M non-embedding)
Layers / heads / width 6 / 6 / 384
Context length 1024
Vocabulary GPT-2 BPE, 50,304 (padded)
Precision (training) fp16 + loss scaling (Tesla T4)
Format safetensors

Training

Data TinyStories, ~400M tokens (GPT-2 tokenizer, uint16 memmap shards)
Steps 6,104 (65,536 tokens/step: batch 8 × 1024 ctx × grad-accum 8)
Optimizer AdamW (β=0.9/0.95, wd 0.1), lr 6e-4, cosine to 10%, 300 warmup steps
Hardware 1× NVIDIA T4 (free Colab), ~2 hours, ~49k tokens/sec
Checkpointing Atomic checkpoints pushed to this repo every 300 steps

The interesting part: how it was trained

This model was trained by an elastic training system in which compute is disposable and checkpoints are persistent. Every ~20 minutes the trainer writes a full checkpoint (weights, optimizer, scaler, RNG state) and promotes it atomically to this repo. A session can be killed at any time; any other GPU session resumes from the latest promoted checkpoint and — because data batches are a pure function of (seed, step) — continues bit-identically, verified by test. This run survived a mid-training kill-and-resume across sessions.

Usage

The checkpoint uses a custom (nanoGPT-style) architecture and is not loadable via transformers.AutoModel. Weights are standard safetensors (see config.json in the checkpoint folder for the architecture: 6 layers, 6 heads, width 384, GPT-2 BPE tokenizer). The training and inference code is not yet public; it will be released alongside a later model in the series.

Sample output

Once upon a time there was a little robot. He was very happy and liked to roll with his friends. But one day, he rolled too fast and fell into a big puddle. He tried to roll out of his wet puddle, but he couldn't. He was stuck and couldn't get out. Luckily, a kind little girl saw the robot and knew just what to do. [...] From then on, the robot was extra careful.

Limitations

  • Trained only on synthetic children's stories: tiny vocabulary in practice, simple grammar, no factual knowledge, English only.
  • At this scale the model loses track of characters and pronouns, and occasionally substitutes a wrong noun mid-story.
  • No instruction tuning, no safety tuning, no formal evaluation. Not for any production use — this is an educational artifact.
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train dangeA/mpu-30m-base