DOCUMENTATION

Fine-tuning with Laya Studio

Train a decision model locally with Laya Studio and publish the result, with lineage recorded automatically.

Fine-tuning happens on your machine. The registry's job starts when you have something worth publishing.

Laya Studio

Laya Studio is an open-source fine-tuning environment for Laya decision models, built by Biplov Gautam. It handles configuration, the training loop, evaluation and manifest generation, and is designed to produce output this registry can accept directly.

Local-first is a deliberate choice. Decision models are small, most fine-tunes fit on a laptop GPU and many run on CPU, and paying for cloud training before you know the model works is the wrong order.

The loop

1. Pick a base model. Browse Laya models and choose a backbone. Note its full name — it becomes base_model in your manifest and builds the lineage link.

2. Prepare data. For a choice model, examples are (input, options, chosen) triples. A few thousand is often enough; you are adapting a decision boundary, not teaching language.

3. Train. Laya Studio handles the loop. Hold out a test set — you need it for the next step and it is the thing people skip.

4. Evaluate accuracy and calibration. Accuracy alone will mislead you. A model that is 94% accurate and badly calibrated is worse in production than one at 91% that knows when it is unsure, because every confidence threshold you set from the first one is wrong.

5. Publish. From your Laya Studio workspace:

pip install systemonemodels
systemone login
systemone push

push finds your trained runs and their ONNX and Core ML exports, and publishes each model with its evaluation from eval.json, its questions and its base model — linked to Hugging Face until that base is on the registry. Exports of one run become folders of one repository. A run's README.md becomes the model card; a run without one gets a card written from its evaluation.

Recording lineage

architecture: laya
base_model: acme/laya-base
evaluation:
  decision_accuracy: 0.943
  calibration_error: 0.031
  median_latency_ms: 4.7

That one line is what makes the registry compound. Your fine-tune appears on the base model's page, and anyone who finds the backbone can see what has been built from it and how well it worked. While the backbone is only on Hugging Face, base_model_source: huggingface makes the lineage link point there.

Hosting the weights

The registry hosts them. systemone push uploads each file straight to storage, never through the application, stores identical files once, and downloads are served from the edge. A version can also reference files that stay where they are — on Hugging Face, GitHub Releases or any URL:

artifacts:
  - kind: huggingface
    uri: https://huggingface.co/you/your-model/resolve/main/model.safetensors
    filename: model.safetensors

Either way the registry counts downloads, and the bytes never pass through it.