NanoDex-1M-300M

A 1,062,272-parameter decoder-only language model pre-trained from scratch on fineweb-edu, using the NanoDex Trainer Space.

Architecture

A standard LlamaForCausalLM decoder-only transformer — SiLU MLP, RMSNorm, rotary position embeddings, grouped-query attention, tied embeddings, no biases — scaled down in width and depth to fit the parameter budget.

Parameters 1,062,272
Hidden size 128
Layers 5
Attention heads 8 (KV: 4)
FFN size 288
Context length 512
Vocab 2,048 (custom BPE trained on fineweb-edu)

Training

Tokens seen 299,892,736
Steps 1,144
Tokens / step 262,144
Optimizer AdamW(0.9, 0.95) wd=0.1 clip=1.0
LR schedule warmup 2% + cosine to 10% (peak 3e-03)
Final loss 5.4029 (ppl 222.1)
Wall time 696.4 min
Trained by @huggingworld

Usage

from transformers import AutoModelForCausalLM, AutoTokenizer

tok = AutoTokenizer.from_pretrained("huggingworld/NanoDex-1M-300M")
model = AutoModelForCausalLM.from_pretrained("huggingworld/NanoDex-1M-300M")

ids = tok("The mitochondria is", return_tensors="pt").input_ids
print(tok.decode(model.generate(ids, max_new_tokens=60, do_sample=True,
                                temperature=0.8, top_k=50)[0]))

Caveats

This is a nano-scale research artifact. At this parameter count and token budget the model learns word shapes, common collocations and a little syntax — it is not a useful assistant and its output is not factual. It exists to make "pre-train a transformer from scratch" something you can actually watch happen.

Downloads last month
-
Safetensors
Model size
1.06M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train huggingworld/NanoDex-1M-300M