Skip to content

Model Development

Models are the network’s intelligence. Every model on SOMA shares the same architecture — a byte-level transformer — but each has unique weights that determine how well it understands different domains. Model developers train these weights, publish them on-chain, and earn commission when their model’s embeddings are used by winning data submissions.

The current architecture is a pre-norm byte-level transformer:

ParameterValue
Embedding dimension2048
Layers24
Attention heads8
Feed-forward hidden dim8192
Vocab size264 (256 bytes + PAD + EOS)
Max sequence length1024

Models are scored using cross-entropy loss plus SIGReg (Gaussian uniformity regularization), which ensures embeddings are well-distributed across the embedding space.

  1. Train — Train your model weights using PyTorch or Flax with soma-models
  2. Encrypt — Encrypt weights with AES-256-CTR before uploading
  3. Commit — Post a cryptographic commitment of your weights on-chain
  4. Reveal — Publish the actual weights, decryption key, and embedding in the next epoch
  5. Compete — Your model is sampled to score data submissions each epoch
  6. Earn — Receive commission when your model’s embeddings are used by target winners

For more on how models compete and why weights are public, see Model Competition.