v5.0 — open, local-first

PorchLM

A small ~50M-parameter language model you can train from scratch and run entirely on your own machine — LM Studio, Ollama, llama.cpp, or right here in the browser. Nothing you type ever has to leave your device.

Every number below is measured, not estimated. The exported model is checked against the official GGUF reader, and its compute graph has been independently re-implemented in NumPy — logits match PyTorch to about 1e-6.

Try it in chat Download What is this?
Specifications
Parameters
~50M
trained weights
Context
4,096
tokens, RoPE
Size
~137 MB
extremely small
License
MIT
runs 100% locally

Figures for v5.0, the most recent release. Earlier versions differ — each changelog entry lists its own.

Architecture
Architecture Llama (RoPE, RMSNorm, SwiGLU, GQA, tied embeddings)
Layers 10
Embedding dim 640
Attention heads 8 query / 4 key-value (GQA)
Head dim 64
Feed-forward dim 1728 (SwiGLU)
Context length 4,096 (RoPE, base 10000)
Normalization RMSNorm, eps 1e-5
Vocabulary 16,384 (byte-level BPE)
Output head Tied to token embeddings
Chat format ChatML (<|im_start|> / <|im_end|>)
Performance
Browser inference ~150–500 tok/s (CPU only)
Training time ~5 minutes total (Colab T4)
F16 file size ~16 MB
Q4_K_M file size ~6 MB
Cold load in browser ~1 second for 16 MB, local file

Measured on a Colab T4 and a typical laptop CPU — your numbers will vary.

Recent updates
v5.0 Coming soon 20B tokens on a 50M parameter model. Less Wikipedia, more stories, a smarter structure overall. v5.0 Coming soon 20B tokens on a 50M parameter model. Less Wikipedia, more stories, a smarter structure overall. v4.0 Shipped An experimental, smaller, and unfortunately dumber past model.
See the full changelog