Help train a model, right from this tab.
Each model below is trained from scratch, completely separately, by everyone who opens this page. Pick one and your device trains a small piece of it: this page receives a slice of the training data and the current model, trains locally (on your GPU via WebGPU when that is faster, otherwise on all your CPU cores), and sends back only what it learned. The server checks every contribution before it counts and merges them into the next version of the model. Stop whenever you like; nothing you did is wasted.
You are training
—
How it works
- Lease. The server hands your device a few hundred rows of training text and the model's current version, sized so it takes about half a minute on your hardware.
- Train. Your device trains its own copy for those steps.
- Send back the change. Only the difference is uploaded, compressed to one byte per weight. What compression drops is carried into your next upload, so it is not lost.
- Trial. The server tests your change on text it holds back. It must point the same way as the swarm and lower the loss, so broken or malicious uploads are refused and their rows go to someone else.
- Merge. Accepted changes are averaged into the next version, the step is tested again, and the new version goes out to everyone. Every device ends up with bit-identical weights.
Prefer a terminal? node swarm/bin/cli.js join --run <model> from the trainloop repository uses Metal, Accelerate or WASM natively.