# CodePawl: tacet-sonata

> A 144M-parameter encoder on mmBERT-small that packs a state and all of its questions into one sequence and answers choice, score and yes/no questions in a single forward pass, with a probability for every option. Runs on a CPU or a GPU.

- Page: https://systemonemodels.ai/codepawl/tacet-sonata
- API: https://api.systemonemodels.ai/v1/models/codepawl/tacet-sonata
- Download: `pip install systemonemodels && systemone pull codepawl/tacet-sonata`

## Facts

| | |
|---|---|
| Maker | CodePawl (https://systemonemodels.ai/codepawl) |
| Decides | choice, score, noul |
| Architecture | tacet |
| Base model | jhu-clsp/mmbert-small |
| Parameters | 144M |
| Context | 4K tokens |
| Licence | apache-2.0 |
| Availability | Open weights |
| Released | 2026-09-25 |
| Latest version | 2026.09 |

## Reported evaluation

Suite: LocalLLaMA/typed-decisions test split (400 cases, 2,000 decisions; train split used in training), CodePawl's own script. Numbers are the publisher's own.

- Decision accuracy: 76.3%
- Calibration error (ECE): 0.095

## Model card

<!-- generated by scripts/seed_catalog.py; edit content/models/catalog.yaml -->

# Tacet Sonata

A 144M-parameter encoder on mmBERT-small that packs a state and all of its questions into one sequence and answers choice, score and yes/no questions in a single forward pass, with a probability for every option. Runs on a CPU or a GPU.

CodePawl reports 0.7625 accuracy, Brier 0.0678 and ECE 0.095 on the LocalLLaMA/typed-decisions test split, scored with its own script; on the same script it scores Laya at 0.7675 and calls the difference a tie. The train split of that benchmark was part of the training data, so these are in-distribution figures. On CodePawl's own non-public free-text suite it scores 53.9% of 1,192 questions, against about 35% by chance, and 0.778 on MASSIVE across 16 languages. CodePawl says its latency figures (32.5 ms per five-question request on an NVIDIA L4) were measured on the earlier Tacet v1 rather than on Sonata. Probabilities are calibrated on the training distribution only; yes/no answers depend on wording, and it is weak at date arithmetic and counting. The weights load through the tacet Python package, which also runs a local server with a /v1/systemone route. The default input is 1,536 tokens, up to 4,096. An ONNX export is in the same repository. The earlier hosted Tacet API has been retired. NOTICE credits Laya's Apache-2.0 code for parts of the input format and head.

## What it decides

- **choice** — picks one option from a set
- **score** — places the input on an ordered scale
- **noul** — answers a yes/no question with one probability

## At a glance

| | |
|---|---|
| Parameters | 144M |
| Base model | `jhu-clsp/mmBERT-small` |
| Maker | CodePawl |
| Released | 2026-09-25 |
| License | apache-2.0 |
| Reported accuracy | 76.2% |

## Get the weights

```bash
pip install systemonemodels
systemone pull codepawl/tacet-sonata
```

The files are served from the maker's Hugging Face repository, [`codepawl/tacet-sonata`](https://huggingface.co/codepawl/tacet-sonata), and verified against the checksums recorded here.

## Read more

- [Model card](https://huggingface.co/codepawl/tacet-sonata)
- [Code (tacet)](https://github.com/codepawl/tacet)

---

*This page was opened by System One for CodePawl, who can claim the organisation and take it over at any time.*

---

From System One Models — https://systemonemodels.ai/ · every System One model: https://systemonemodels.ai/system-one-models
