roneneldan/TinyStories
Viewer β’ Updated β’ 2.14M β’ 155k β’ 1.23k
Atom-1.0 is a small (29.1M parameter) GPT-style language model trained from scratch on the TinyStories dataset. It writes short, simple children's stories.
Try it: Atom-1.0 demo Space
| Parameters | 29.1M |
| Architecture | Decoder-only transformer (Llama-style) |
| Layers / heads / width | 8 layers, 8 heads, 512 hidden size |
| Context length | 512 tokens |
| Vocabulary | 8,192 (byte-level BPE, trained on the same data) |
| Normalization | RMSNorm (pre-norm) |
| Positions | Rotary embeddings (RoPE) |
| MLP | SwiGLU |
| Embeddings | Input and output embeddings tied |
| Precision | Weights stored as float32 |
| Metric | Value |
|---|---|
| Validation loss | 1.587 |
| Validation perplexity | 4.89 |
Prompt: One day, a little girl named Lily found a shiny key
One day, a little girl named Lily found a shiny key under her bed. She was very happy and wanted to show her mom the pretty key.
Sampling settings used: temperature 0.8, top-k 50, top-p 0.9, repetition penalty 1.15.
model.safetensors: final weightsconfig.json: model dimensions (D, L, H, T, VOCAB), final step and best validation losstokenizer.json: byte-level BPE tokenizer (EOS token: <|endoftext|>)ckpt_last.pt / ckpt_best.pt: PyTorch training checkpointsThis is a custom architecture, so it does not load with transformers.AutoModel.
The full model definition and a working generation loop are in
app.py of the demo Space.
Load the weights with safetensors.torch.load_model (not load_file), because the embeddings are tied.