KOLM-Alpha / README.md
Dbrent's picture
Update README.md
e68ea0d verified
|
Raw
History Blame Contribute Delete
4.46 kB
---
license: apache-2.0
tags:
- kuramoto
- oscillator
- language-model
- tinystories
library_name: pytorch
---
# KOLM-Alpha — Kuramoto Oscillator Language Model
*Delon Swartz — AI Researcher | Engineer*
**KOLM-Alpha is, to our knowledge, the first language model whose per-token
processing layers are networks of coupled Kuramoto oscillators, trained
natively from scratch.** Each layer uses standard causal attention for
routing between tokens and a **Kuramoto block** for processing: *H*
oscillators, each a unit vector on a sphere, relax over *K* settling steps
under trained pairwise couplings, conditioned on the attention output. The
oscillator block replaces the Transformer's feed-forward network; attention
is retained.
## The result
Under a strictly controlled **twin protocol** — identical tokenizer, data,
data order, context length, optimizer, schedule and seed, with *only* the
feed-forward slot differing — KOLM-Alpha is compared against **TMT**
(Transformer Model Twin), a standard attention + MLP model. Both were
trained from scratch on 11.3M tokens of TinyStories on a single consumer
laptop.
![Validation loss](assets/val_loss_curve.png)
TMT leads early; KOLM-Alpha closes the gap steadily, crosses near 7M tokens,
and finishes ahead — **with 3.5% fewer parameters.**
![Final scores](assets/final_scores.png)
| Model | Parameters | Val loss | Perplexity |
|---|---|---|---|
| **KOLM-Alpha** | **16,916,224** | **2.6946** | **14.80** |
| TMT (Transformer twin) | 17,538,816 | 2.7188 | 15.16 |
Both models generate coherent TinyStories-grade prose. Prompt *"Once upon a
time there was a little red shoe"*:
> **KOLM-Alpha:** …The little boy would come home and play with his friends.
> One day, the little girl was playing with the big castle in the sky…
## Why it matters
A Transformer computes with a fixed number of operations per token. A
Kuramoto block computes by **iterative settling** — the oscillator field
relaxes toward a configuration over *K* steps — which opens a second axis of
scale that costs no additional memory, only settling time. KOLM-Alpha
establishes the first point: at matched parameters, oscillatory processing
is not merely competitive with a Transformer feed-forward network — it edges
it out.
## Files
| File | Purpose |
|---|---|
| `native_kolm.py` | model + twin trainer (`--arch kolm` / `--arch transformer`) |
| `kuramoto_torch.py` | the Kuramoto block (parity-tested to 2.2e-16 vs a NumPy reference) |
| `kolm.py`, `olm.py` | pure-NumPy reference core with hand-derived, gradient-checked backprop |
| `sample_native.py` | generation from the trained weights |
| `native_kolm.pt` | **KOLM-Alpha weights** (16.9M) |
| `native_transformer.pt` | TMT weights (17.5M) |
| `tiny8k.json` | tokenizer (required to run the model) |
| `curve_kolm.csv`, `curve_transformer.csv` | validation-loss curves |
## Run it
```bash
python3 -m venv --system-site-packages .venv
.venv/bin/pip install torch tokenizers
# generate from the released weights
.venv/bin/python sample_native.py --prompt "Once upon a time"
# verify the hand-derived gradients of the NumPy reference (no PyTorch needed)
python3 kolm.py --gradcheck
```
## Reproduce the comparison
```bash
.venv/bin/pip install transformers accelerate
.venv/bin/python native_kolm.py --prep # build tokenizer + data
.venv/bin/python native_kolm.py --arch kolm --steps 5500
.venv/bin/python native_kolm.py --arch transformer --steps 5500
```
## Roadmap
KOLM-Alpha is the first release. In progress:
- **KOLM-Beta** — a larger model with frustrated coupling and a broader
training corpus, grown from Alpha via function-preserving depth growth.
- **KOLM-Chat** — an instruction-tuned conversational KOLM, exposing the
settling depth as a user-facing "think-harder" control.
## Details
- **Architecture:** 8 layers, d=384, 6 heads, context 256, 8k byte-level BPE.
Feed-forward slot = Kuramoto block (H=320 oscillators on S³, K=4 settling
steps, 32 order-parameter readouts).
- **Training:** AdamW, lr 1e-4 cosine, gradient clip 1.0, single seed.
- **Hardware:** one Apple-silicon laptop (MPS), ~6 hours.
- **Status:** research preview. The headline comparison is single-seed; a
second seed is queued.
## License
Apache-2.0.
## Acknowledgements
Builds on the Kuramoto-oscillator formulation of **AKOrN** (Miyato et al.,
ICLR 2025) and the **TinyStories** corpus (Eldan & Li, 2023).