Language model · from scratch
A 103M-parameter decoder-only transformer (RoPE, RMSNorm, SwiGLU), pre-trained from scratch on ~1.06 billion Uzbek tokens. Trained on a single RTX 4090 in about 3.4 hours for roughly $3.60 — and it beats mGPT-1.3B + QLoRA on bits-per-byte despite being an order of magnitude smaller.
103M params
1.105 bits/byte
1.06B Uzbek tokens
3.4h · 1× RTX 4090
~$3.60 to train
A custom byte-pair-encoding tokenizer built specifically for Uzbek — handling the language's own characters (oʻ, gʻ) and apostrophes that off-the-shelf multilingual tokenizers fragment badly. Lower fertility means fewer tokens per word, which means cheaper training and longer effective context. This is the higher-leverage half of the whole project.
16,384 vocab
1.839 tokens/word
Uzbek-specific BPE
A free, full-stack learning platform where students teach students — built solo end to end and running in production for over a thousand learners in underserved regions of Uzbekistan. Next.js, TypeScript, and PostgreSQL, launched in 2025.
1,000+ students
Next.js · TypeScript
PostgreSQL
solo-built, in production
The full training code, data pipeline, and a from-scratch-vs-fine-tuning study behind the model — plus an evaluation harness for measuring Uzbek language models fairly. The argument: for a low-resource language, the tokenizer is the choice that matters most.
Training + data pipeline
Eval harness
Reproducible