A small language model that runs on a CPU at about 2,000 tokens a second in 40 MB of RAM, with no network and no
1
18 commits
1 linked in READMEs
updated Sep 14, 2026

44M parameters · ternary · exact circuits inside the model · 100M-token archive on disk · 19.8 MB · CPU, offline
A small language model that runs on a CPU at about 2,000 tokens a second in 40 MB of RAM, with no network and no framework. It computes arithmetic, dates, units, counting and sorting with circuits inside its weights, and it keeps records on disk as its own memory, quoting the record it read. Built from scratch; the weights are ternary and the vocabulary table is frozen.
The full technical read, the kernels for Windows and Linux, the browser page, the harnesses and every measurement are on GitHub: github.com/QLNI/SHADOW-50M-Instruct. Please start there.
| file | what it is | size |
|---|---|---|
| shadow50_instruct.shdw | the deployment container, version 1.1: ternary weights, the frozen vocabulary table, runtime constants, the self-test prompt. Drop it into deployment/ of the GitHub repository and run python shadow_chat.py. | 19.8 MB |
| shadow50_instruct.pt | the master weights, for fine-tuning with the kit in the repository (finetune/). | 310 MB |
qlni.github.io/SHADOW-50M-Instruct/web: the same kernel compiled to WebAssembly, the 19.8 MB model fetched once, nothing installed.
MIT. If it turns out useful, a mention of SHADOW somewhere in your work would be appreciated.
© QLNI 2026
18 commits
A small language model that runs on a CPU at about 2,000 tokens a second in 40 MB of RAM, with no network and no
1
18 commits
1 linked in READMEs
updated Sep 14, 2026

44M parameters · ternary · exact circuits inside the model · 100M-token archive on disk · 19.8 MB · CPU, offline
A small language model that runs on a CPU at about 2,000 tokens a second in 40 MB of RAM, with no network and no framework. It computes arithmetic, dates, units, counting and sorting with circuits inside its weights, and it keeps records on disk as its own memory, quoting the record it read. Built from scratch; the weights are ternary and the vocabulary table is frozen.
The full technical read, the kernels for Windows and Linux, the browser page, the harnesses and every measurement are on GitHub: github.com/QLNI/SHADOW-50M-Instruct. Please start there.
| file | what it is | size |
|---|---|---|
| shadow50_instruct.shdw | the deployment container, version 1.1: ternary weights, the frozen vocabulary table, runtime constants, the self-test prompt. Drop it into deployment/ of the GitHub repository and run python shadow_chat.py. | 19.8 MB |
| shadow50_instruct.pt | the master weights, for fine-tuning with the kit in the repository (finetune/). | 310 MB |
qlni.github.io/SHADOW-50M-Instruct/web: the same kernel compiled to WebAssembly, the 19.8 MB model fetched once, nothing installed.
MIT. If it turns out useful, a mention of SHADOW somewhere in your work would be appreciated.
© QLNI 2026
18 commits