The
tiny champion of the Brújula family — a
15.5M-parameter decoder-only language
model, trained
entirely on a single consumer GPU (one Intel Arc B580, ~5h16m) from scratch
on
FineWeb-Edu.
Brújula
("compass" in Spanish) is a minimal DeepSeek-style architecture: Multi-head Latent Attention
(MLA) + RoPE + SquaredReLU FFN, tied embeddings, hybrid
Muon + AdamW optimizer.
It won't compete with much larger models on absolute perplexity — the point is that this is a
complete, from-scratch LM that fits and trains on one consumer GPU. See the family below.
1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer
3
4repo = "Sakatepon/Brujula-15M"
5tok = AutoTokenizer.from_pretrained(repo)
6model = AutoModelForCausalLM.from_pretrained(repo, trust_remote_code=True).eval()
7
8ids = tok("The mitochondria is the", return_tensors="pt").input_ids
9out = model.generate(ids, max_new_tokens=64, do_sample=True, temperature=0.8, top_p=0.95, repetition_penalty=1.2)
10print(tok.decode(out[0], skip_special_tokens=True))