|
Download README.md from Compactbot/ldt-10m: direct link, hf CLI and curl.
- Browser
- Download file 3.53 kB
-
https://huggingface.co/Compactbot/ldt-10m/resolve/refs%2Fpr%2F8/README.md
- Command line
-
hf download hf://Compactbot/ldt-10m@refs/pr/8/README.md
-
curl -L -o README.md https://huggingface.co/Compactbot/ldt-10m/resolve/refs%2Fpr%2F8/README.md
3.53 kB
| license: mit | |
| pipeline_tag: text-generation | |
| language: en | |
| library_name: transformers | |
| tags: | |
| - tiny | |
| - tiny-model | |
| - slm | |
| - small-language-model | |
| - sub-10m | |
| - llama | |
| - from-scratch | |
| metrics: | |
| - perplexity | |
| # LDT-10M | |
| A **10,284,480-parameter** LLaMA-style text model, trained from scratch. This is a | |
| verified **first checkpoint** for the LDT-10M request (model-requests #12, | |
| DedeProGames) — real weights, real training, but **undertrained** (see the honest | |
| status below). It is not a quality release yet; the card states that plainly. | |
| ## Architecture | |
| Standard LLaMA block, no sliding window, no GQA: | |
| | field | value | | |
| |---|---| | |
| | params (learnable) | **10,284,480** | | |
| | layers | 5 | | |
| | d_model | 320 | | |
| | heads | 5 (head_dim 64) | | |
| | FFN | SwiGLU, inter 896 | | |
| | vocab | 12,288 (gollem byte-level BPE) | | |
| | context | 512 | | |
| | embeddings | tied (lm_head → tok.weight) | | |
| | norm | RMSNorm, pre-norm | | |
| | attention | causal, RoPE (base 10000) | | |
| The parameter count is the learnable total: the raw safetensors sum is 14,216,640, | |
| which double-counts the tied embedding (tok.weight 12288×320 = 3,932,160) that | |
| `head.weight` aliases. Tied, the true count is 10,284,480. | |
| ## Training | |
| - **Data:** FineWeb-Edu (~30.1M tokens) + DCLM-baseline (~21.4M tokens) = **~50.5M tokens**. | |
| - **Steps:** 4000 (the requested 2.6B-token budget is **not** met — see below). | |
| - **Final val loss:** 4.6020 (ppl 99.68) on the held-out split. | |
| - Trained from scratch (no base model). | |
| ## Honest status: undertrained, not broken | |
| The model learned real context — val loss 4.602 is well below the 7.38 unigram | |
| floor, so it is **not** flatlined and **not** degenerate. But it has seen only | |
| ~50.5M tokens ≈ **4.9 tokens/param**, far below the ~10–20+ tok/param small | |
| models typically need for coherent prose. The result is grammatical but | |
| semantically thin: wordy, repetitive, and it drifts off-topic mid-sentence. | |
| Real samples (best.pt, step 4000, temp 0.8, top-k 40) — no broken tokens, no | |
| token-loops: | |
| > "The sun is" → "The sun is assembled by a new study because he is an associate | |
| > of the study of the disease in the early years. I've been interested in having | |
| > a very different study…" | |
| > "Once upon a time" → "Once upon a time, she is an attack. But he is not a good | |
| > idea. But it is something that does not have a moment of his own life…" | |
| > "The cat sat on the" → "The cat sat on the ground. The sunp is a piece of light | |
| > and is not a good deal of tear. The new story of the MD's Ford…" | |
| > "def hello():" → "def hello(): I have a lot of the best. I'm not sure what | |
| > happened to me. I'll be able to do anything, but I think it's been just a lot | |
| > to say…" | |
| **What this is:** a verified, non-degenerate 10M checkpoint that learned grammar | |
| and surface fluency. **What it is not:** a coherent prose model. It is a first | |
| milestone on the path to the requested 2.6B-token model, not the destination. | |
| ## Loading | |
| Self-contained `model.py` (no transformers dependency required): | |
| ```python | |
| import torch | |
| from model import LDT | |
| m = LDT.from_pretrained("model.safetensors", device="cpu") | |
| ids = torch.tensor([[1, 2, 3]]) # token ids | |
| out = m.generate(ids, max_new_tokens=64, temperature=0.8, top_k=40, seed=0) | |
| ``` | |
| The tokenizer is a byte-level BPE (`tokenizer.json`, vocab 12288). | |
| ## Roadmap | |
| Continuing training toward the 2.6B-token budget is the next step; this repo | |
| will be updated (or a v2 published) once the model is coherent. This checkpoint | |
| is kept public as an honest intermediate, not a finished model. |