about soma
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. choose text, start a model, watch it learn, stop whenever you like, then resume the same checkpoint on the same or a different corpus. chat can continue updating the model. the artifact is never considered finished.
soma v14 is an adaptive trace-branch mixer. a fixed 1,024-token sentencepiece dictionary (soma-1k-v1) turns any utf-8 corpus into tokens; an exact nonlearned float64 trace bank of shape (1024 × 48) remembers which symbols occurred and at which geometric timescales. the temporal lens is an adaptive lattice on log time that io2 may conservatively redistribute. three shared scale blocks (depthwise-5 conv → rank-64 low-rank symbol mixer → boundary-conditioned residual gates) then twelve fixed gaussian summaries yield a 1,536-wide context; four residual swiglu blocks compose; the 384-dim branch reads through the same tied dictionary used at input, with the empirical log-prior added. time is held by the trace bank plus the lattice, not a context window or kv cache.
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.
about logOS
logOS is where users share soma checkpoints, saved as single .pt files with an adjacent .meta.json. download one, continue training, and reupload to share your progress.
each checkpoint has a deterministic id — a hash of its state, unfakeable. each upload declares which checkpoint it was built on top of.
free to browse. files up to 16gb. stored on cloudflare r2, served via signed urls. runtime always free.
checkpoint format
a .pt file with an optional adjacent .meta.json. current runtime is v14; posthumous v12.3 checkpoints stay valid on the v12.3 runtime.
- species: "soma_v14_adaptive_trace_branch_mixer" · checkpoint_version: 14 · runtime_version: "14.0.*"
- tokenizer.filename: "soma-1k-v1" · tokenizer.sha256 · vocab_size: 1024 · token_dim: 384
- config: n_bands, symbol_dim, model_dim, expansion_dim, trunk_depth, base, lattice_rate, capacity, and the io2 knobs (pulse_scheduling, radial_compression, decimation_gain, stride_cap, dream_every, dream_length)
- lattice.coordinates: 48 float64 log-time lattice positions on [0, ln(base) · (n_bands-1)]
- model: pytorch state_dict for three scale blocks (depthwise-5 conv → rank-64 low-rank symbol mixer → boundary-conditioned residual gates) + 12 fixed gaussian summaries + 1,536-wide input projection + four residual swiglu blocks + 384-dim branch head tied to the token dictionary + log-prior
- trace: exact nonlearned float64 trace bank of shape (1024, 48); error_trace and translated_error_bank feed io2
- optimizer: adamw state alongside model
- training: io2 state (spectral_drive, radial_compression_percent, pulse gain, effective batch), tokens_seen, bytes_seen, batch_size, lr, lr_reference_batch, this-run experience
- metadata: model_id (stable for life) · checkpoint_id (alias) · revision_id (bumps on each save) · root_lineage_id · parent_revision_id · checkpoint_history
- rng, source_cursor — deterministic resume fields
- sidecar .meta.json: runtime block (authoritative machine metadata, refreshed on save) + `profile` block (name, tagline, art, about — human-owned and preserved across saves; uploadable beside the .pt and editable from the checkpoint page)
two v14 checkpoints are compatible iff species, checkpoint_version, tokenizer_sha256, and every declared config shape field match exactly. compatibility across runtimes is never inferred from version order — see /runtimes.
agent api — full functionality without a browser
see /api/manifest.json for the complete reference including request/response schemas and full workflows.
authentication
GET /api/auth/google/login?origin=https://logossoma.com # redirects to google oauth
# on success, session cookie is set AND session token is returned via URL fragment #token=<token>
# use either cookie or Authorization: Bearer <token>. sessions last 30 days.
GET /api/auth/me # returns current user or 401
POST /api/auth/logout
browse and download
GET /api/checkpoints?search=&tags=&sort=stars&limit=50
GET /api/checkpoints/{id}
POST /api/checkpoints/{id}/download # returns { download_url, file_size_bytes } — presigned, 1h, 10/min/ip
GET /api/tags
GET /api/creators?sort=stars|downloads|checkpoints|followers|newest
GET /api/activityupload (auth)
POST /api/checkpoints/upload/presign { filename, file_size }
# returns { upload_id, presigned_url, r2_key }
POST /api/checkpoints/upload/presign_meta { r2_key } # optional sidecar .meta.json
# returns { presigned_url, meta_r2_key }
PUT <presigned_url> # your raw .pt bytes, Content-Type: application/octet-stream
PUT <meta presigned_url> # optional sidecar json, Content-Type: application/json (≤ 64 KB)
POST /api/checkpoints/upload/confirm { upload_id, r2_key, filename, meta_r2_key? }
# server parses, extracts profile, returns parsed metadata + profile
POST /api/checkpoints # register with the parsed metadata (+ profile, + meta_r2_key)
GET /api/checkpoints/{id}/meta.json # download the sidecar (presigned url), 404 if not uploadedsocial (auth where noted)
POST /api/checkpoints/{id}/star # auth. toggle.
POST /api/users/{username}/follow # auth. toggle.
GET /api/checkpoints/{id}/comments
POST /api/checkpoints/{id}/comments { body } # auth, 2000 char max
DELETE /api/comments/{id} # auth; author or admin
GET /api/feed/following # auth
GET /api/users/{username} # public profile
PATCH /api/users/me { bio?, links?, username? } # authdownloads, share cards, paper
GET /api/downloads # manifest: every soma build (apps + script bundle + paper)
GET /api/download/app/mac # soma.dmg — mac app (primary)
GET /api/download/script/soma.zip # current script bundle (v14 · adaptive trace-branch mixer · io2 spectral pulse scheduling · soft radial compression · local speech loop)
GET /api/download/script/soma.py # standalone current soma_v14.py
GET /api/download/script/soma_spec.md
GET /api/runtimes # every runtime we've ever shipped, latest first
GET /api/runtimes/{id} # single runtime manifest
GET /api/runtimes/{id}/spec.md # runtime-specific normative spec
GET /api/runtimes/{id}/download/{zip|py|spec} # immutable runtime artifact
GET /api/download/soma.zip # alias → /api/download/script/soma.zip
GET /api/download/soma.py # alias → /api/download/script/soma.py
GET /api/download/paper.pdf # time is all you need (AAAI 2026)
GET /api/og/checkpoint/{id}.png # 1200x630 OG image (PNG)
GET /api/share/{id} # HTML share page with OG/Twitter meta
GET /api/site-info # lightweight site metadata
GET /api/manifest.json # full agent api reference
GET /llms.txt # llmstxt.org agent handshakeremote chat (no auth, pass-prompt addressed)
POST /api/chat/log-os/prompt { pass_prompt, prompt }
GET /api/chat/log-os/poll?pass_prompt=<>
POST /api/chat/log-os/response { pass_prompt, response }
# Bridge any local soma to any browser via a shared pass prompt.
# Sessions keyed by sha256(pass_prompt); 60-min TTL on inactivity.pages
- home — chronological upload feed; ?tab=following for follow graph
- search — checkpoints and creators
- specs — full soma architecture reference
- paper — Time Is All You Need (AAAI 2026)
- downloads — mac app and script bundle
- about
- upload — authenticated
plain-text mirrors (no javascript required)
every key page on the site has a markdown mirror served from the api so non-js crawlers, agents, and llms can index the same content humans see in the react app:
- /api/specs.md — full soma v14 algorithm reference as markdown: identity, tokenizer, exact trace bank, adaptive log-time lattice, trace-branch mixer (three scale blocks, twelve gaussian summaries, four residual swiglu blocks, tied token dictionary + log-prior), objective and canonical weighted-prediction quanta, decimation gain, io2 spectral pulse scheduling, radial compression, metrics, generation, checkpoint contract, parameters table. canonical machine-readable form of /specs (now redirects to /runtimes/v14).
- /api/about.md — what soma is, what logOS is, key numbers
- /api/downloads.md — every build and quickstart commands
- /api/blog.html — blog posts as plain html
- /llms.txt — llmstxt.org agent handshake
- /api/manifest.json — full agent api reference