# soma · about

train your own ai, on your own machine, for free, for as long as you like.

soma is a mac app for training a language model locally and continuously. a user chooses text, starts a model, watches it learn, stops whenever they like, then resumes the same checkpoint on the same or a different corpus. chat can continue updating the model. the artifact is never considered finished.

soma v12.3.17 is a token-native continual spectral learner. a fixed 8k sentencepiece dictionary (soma-8k-v1) turns any utf-8 corpus into tokens; an exact identity trace bank of shape (8192 × k) is projected through the current learned dictionary at the start of every batch and bandpassed into a `256 × k` present. a serial budget-residual mlp with tied io/output dictionary composes over that present. temporal state lives entirely in the trace bank; gradients stay inside the current batch, so there is no context window and no kv cache. row magnitude is governed by radial plasticity compression — rows lose outward growth as they approach capacity, while inward and directional learning stay open, and the app reports the current `compression %` alongside spectra and depth saturation. io2 reads the residual spectrum to drive plasticity, decimation gain and depth saturation. because the tokenizer is fixed and lossless, the app can still report code-length in the source domain — nats per source byte, bits per byte — alongside top-1 / top-5 next-token accuracy.

the gui default is 16 bands, hidden 4096, depth 4 — approximately 70.3m parameters. inference and training have constant cost per token. chat with online learning off to run at inference speed; leave it on and every conversation becomes part of the model. on the mac app you can also speak a prompt and hear the reply — recognition uses apple's on-device path and refuses to run when the selected language cannot be guaranteed local; playback uses the macos system voice. no network fallback, no api.

logOS is where users share soma checkpoints, saved as single .pt files with an optional adjacent .meta.json (a machine-refreshed identity block plus a human-owned `profile` — name, tagline, art and about). download one, continue training, and reupload to share your progress. uploads are direct-to-storage (presigned r2), support files up to 16 gb, and carry a stable checkpoint_id plus a declared ancestor chain so lineage is always visible.

for the theoretical framing see /paper. for the full algorithm and reproducibility detail see /api/specs.md (or /specs in a browser). to start training, /downloads.
