roneneldan/TinyStories
Viewer • Updated • 2.14M • 94.3k • 1.1k
Ultra-small Llama-style language model trained on TinyStories for bare-metal inference on the Vicharak Shrike-Lite (RP2040 + Renesas FPGA).
Weights are sized to live in QSPI Flash via XIP; activations + KV cache fit in the RP2040's 264KB SRAM.
| Field | Value |
|---|---|
| Parameters | 213,312 |
d_model |
64 |
| MLP hidden | 128 |
| Layers | 2 |
| Heads | 2 |
| Context | 128 |
| Vocab (BPE) | 1024 |
| Architecture | RoPE · RMSNorm · SwiGLU |
| Framework | JAX / Flax / Optax |
| Train device | gpu |
| Train steps | 5,000 |
| Dataset | roneneldan/TinyStories |
| File | Description |
|---|---|
micro_llama.bin |
llama2.c-style float32 weight blob (Phase-3 firmware) |
micro_llama.json |
Export metadata / layout notes |
latest_params.npz |
Flax parameter tree (NumPy object array) |
latest_meta.json |
Train + model config used for this checkpoint |
tinystories_bpe_1024.model |
SentencePiece BPE model |
tinystories_bpe_1024.vocab |
SentencePiece vocabulary |
Research / education for edge LLM inference on MCU+FPGA boards. Not intended for general chat or production NLP.
# from this repo
uv run python phase-2/generate.py --prompt "Once upon a time"
Or load the SentencePiece tokenizer + Flax params from this repo and run MicroLlama in phase-2/model.py.
micro_llama.bin into the Phase-3 C inference engine (Pico SDK / UF2).@misc{micro-llama-shrike,
title = {Micro-Llama for Vicharak Shrike-Lite},
author = {weights-and-wires},
year = {2026},
url = {https://huggingface.co/weights-and-wires/vicharak-micro-llama}
}