Text Generation
Transformers
Safetensors
English
lowonmind
tiny-lm
pretrained-from-scratch
scaling-limits
custom_code
Instructions to use DedeProGames/LowOnMind-1M with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use DedeProGames/LowOnMind-1M with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="DedeProGames/LowOnMind-1M", trust_remote_code=True)# Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("DedeProGames/LowOnMind-1M", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use DedeProGames/LowOnMind-1M with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "DedeProGames/LowOnMind-1M" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "DedeProGames/LowOnMind-1M", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/DedeProGames/LowOnMind-1M
- SGLang
How to use DedeProGames/LowOnMind-1M with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "DedeProGames/LowOnMind-1M" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "DedeProGames/LowOnMind-1M", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "DedeProGames/LowOnMind-1M" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "DedeProGames/LowOnMind-1M", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use DedeProGames/LowOnMind-1M with Docker Model Runner:
docker model run hf.co/DedeProGames/LowOnMind-1M
File size: 7,506 Bytes
5082d41 438449b 5082d41 438449b 5082d41 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 | ---
license: apache-2.0
datasets:
- HuggingFaceFW/fineweb-edu
language:
- en
pipeline_tag: text-generation
library_name: transformers
tags:
- lowonmind
- tiny-lm
- pretrained-from-scratch
- scaling-limits
---
# LowOnMind-1M
A decoder-only language model with **985,152 parameters**, pretrained from
scratch on **200M tokens** of
`HuggingFaceFW/fineweb-edu` (sample-10BT).
This is the 3.3x scale-up of
[DedeProGames/LowOnMind-300k](https://huggingface.co/DedeProGames/LowOnMind-300k),
run as a **controlled experiment**: identical tokenizer, identical dataset,
identical token budget, identical schedule, and the same hidden/layers aspect
ratio. Parameter count is the only variable, so the two models are directly
comparable on validation loss and on downstream benchmarks.
## Architecture
| | LowOnMind-300k | LowOnMind-1M |
|---|---|---|
| parameters | 296,960 | **985,152** |
| hidden_size | 64 | 96 |
| intermediate_size | 136 (2.12x) | 256 (2.67x) |
| num_hidden_layers | 6 | 9 |
| heads (q / kv) | 4 / 2 | 6 / 2 |
| head_dim | 16 | 16 |
| aspect ratio | 10.7 | 10.7 |
| vocab_size | 1024 | 1024 (same tokenizer) |
| context | 512 | 512 |
| tokens seen | 200M | 200M |
| tokens/param | 673 | 203 |
Architecture details, inherited from
[DynamicMind-Mini](https://huggingface.co/DedeProGames/DynamicMind-Mini) with
modifications: GQA, SwiGLU, RMSNorm, tied embeddings, **QK-Norm** per head,
**precomputed RoPE** with automatic re-expansion, and residual projections
initialized at `std / sqrt(2 * num_layers)`.
## Training
| | |
|---|---|
| data | `HuggingFaceFW/fineweb-edu`, sample-10BT |
| tokens | 200M (6,103 steps x 32,768) |
| sequence length | 512 |
| batch size | 64 |
| optimizer | AdamW, betas (0.9, 0.95), wd 0.1 |
| lr | 1.5e-03 peak, cosine to 1.5e-04, 250 warmup |
| grad clip | 1.0 |
| precision | float16 + GradScaler |
| hardware | Tesla T4 |
| wall clock | 11 min |
At 203 tokens per parameter this run still sits far past
the Chinchilla-optimal ratio. Train and validation loss tracked each other for
the entire run — this model is parameter-limited, not data-limited.
## Results
| metric | LowOnMind-300k | LowOnMind-1M | delta |
|---|---:|---:|---:|
| validation loss | 3.2982 | **2.9908** | -0.3074 |
| validation perplexity | 27.06 | **19.90** | -7.16 |
| bits per character | 2.030 | **1.836** | -0.194 |
Perplexity is not comparable across tokenizers, but it *is* comparable between
these two models because they share one. Bits per character (loss / ln 2 /
2.35 chars-per-token) is the portable figure.
### Real-word rate
With a 1024-token byte-level vocabulary, no long word exists as a single token —
the model has to assemble every one of them from fragments. The fraction of
emitted words that are real English words measures this directly, and neither
validation loss nor a multiple-choice benchmark captures it.
| | rate |
|---|---:|
| LowOnMind-1M | **98.0%** |
| FineWeb-Edu itself (same lexicon) | 98.4% |
Measured over 64 unconditional samples
(5,647 words). The reference lexicon is every
lowercase word appearing at least 5 times in a 20k-document sample of the
training corpus, so the corpus row is the practical ceiling rather than 100%.
At 98.0% against a 98.4% ceiling, the lexicon is essentially saturated — the
300k → 1M scale-up bought almost all of its capacity in spelling and word
formation, not in anything downstream of it.
Most frequent non-words: `sculieness`, `lockholm`, `scul`, `purpled`, `paradigmar`, `prefection`, `frushing`, `fullly`
## BananaMind Base Bench 1.1
Evaluated on [BananaMind/BananaMind-Base-Bench-1.1](https://huggingface.co/datasets/BananaMind/BananaMind-Base-Bench-1.1),
the same 350-item English continuation-likelihood benchmark used for
LowOnMind-300k, with identical scoring: context and each of the four
continuations tokenized separately with `add_special_tokens=False`, no BOS,
selection by highest mean conditional token log-probability.
Run validity: dataset SHA-256 matched, full schema validation passed, and no
context required truncation against the 512-token window.
| Category | LowOnMind-1M | LowOnMind-300k | delta | Elo (1M) |
|---|---:|---:|---:|---:|
| language_completion | **52.0%** | 46.0% | +6.0pp | 937 |
| logical_reasoning | 28.0% | 24.0% | +4.0pp | 925 |
| context_tracking | 24.0% | 14.0% | +10.0pp | 770 |
| code_completion | 20.0% | 14.0% | +6.0pp | 851 |
| world_knowledge | 22.0% | 22.0% | +0.0pp | 752 |
| quantitative | 28.0% | 32.0% | -4.0pp | 913 |
| commonsense | 28.0% | 34.0% | -6.0pp | 786 |
| | LowOnMind-1M | LowOnMind-300k |
|---|---:|---:|
| Overall Elo | 843 | 833 |
| Chance-level Elo (this item grid) | 805 | 805 |
| Raw accuracy | 28.9% | 26.6% |
| 95% CI | [24.1%, 33.6%] | [22.0%, 31.2%] |
| z vs. chance | +1.67 | +0.69 |
## Sample output
Prompts sampled at temperature 0.8, top_p 0.95. Unlike the 300k model, output
now shifts register with the prompt — a date-led prompt produces
bibliography-style formatting, a directive prompt produces policy-style prose —
and invented non-words (see the real-word-rate section) are markedly rarer than
at 300k parameters. Meaning and referential continuity are still absent.
```
prompt: "The "
-> The veil-group, where is used to solve solar passwords and vegetables. It
is often very important to reduce their treatments, including checkouts,
labs, maintenance, mental groups, chemicals and maintenance costs. These
literally confirmed elements are the most commonly used in the elementary
front, solar energy, a
prompt: "Photosynthesis is "
-> Photosynthesis is essential to prevent disease infection. These types of
disease include:
• Transformation of Brook Scientific World Organization
• Effectiveness of a diagnosis is commonly diagnosed with diagnosis. The
Cultural Disorder is an important factor in diagnosis. Analysis of this
purpose can be considered.
prompt: "In 1969, "
-> In 1969, 8, 1999, Michael Kerzin, Anderson, 1997, Scotland, 1993, 1,359,
p. 547-414
Our war was chosen in the West of Europe, Papua Party, Ottoman Economy,
Pluto Mountains, and Evans, 1854, 1946, Maine, 1888-81, p
prompt: "Students should "
-> Students should identify their learners and adults.
The United States has free quotations in the world that can help them with
this curriculum and finding problem concerning these funding.
One major solutions for malnutrition in South East and Africa is a way to
limit half its own loop. This is the best way to ensure that the drills of
the state and
```
## Usage
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("DedeProGames/LowOnMind-1M")
model = AutoModelForCausalLM.from_pretrained("DedeProGames/LowOnMind-1M", trust_remote_code=True)
ids = tok("The ", return_tensors="pt").input_ids
print(tok.decode(model.generate(ids, max_new_tokens=64, use_cache=False)[0]))
```
`trust_remote_code=True` is required — the architecture ships as custom modeling
code in the repository. `use_cache=False` is required: this implementation has no
KV cache and recomputes the full window at each generation step.
## Limitations
At ~1M parameters this model learns spelling, morphology, and short-range syntax.
It **does not produce coherent text**, has no reliable factual knowledge, and
cannot track state across a passage. It exists to measure the lower end of the
scaling curve, not to be used.
The 512-token context, 1024-token vocabulary, and absent KV cache make it
unsuitable for any real workload.
|