system-one-model
Gemma 4 12B with its LM head replaced by a small answer head, serving Jev-style noul, choice and score decisions with custom code.
Overview
System One Model is a Hugging Face model built from google/gemma-4-12B, with the 262k-token language-model head replaced by a low-dimensional head that outputs one logit per answer slot (26 logits); noul, choice and score questions are answered by softmax over the relevant logits. It ships custom code (trust_remote_code) with a system_one method that takes a state and questions in the /v1/systemone schema. Videos show it playing Doom, Tetris, Super Mario Bros. 1-1 and Flappy Bird.
On an RTX 5090 the model card reports a 34.1 ms median for a warm single-question decision and 166 ms for a five-question request, with prefix caching. On a small hand-written set of 39 cases compared with Strands Decider 2B and hosted Jev on an Apple Silicon Mac, it matched Jev on noul and game tasks, scored 11/12 on choice and score versus Jev's 12/12, and had a very low noul Brier score, though the authors note the sample is small. The weights are about 24 GB and follow Gemma's licence.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Does the text request a refund? | — |
| Choice | Which department (billing or returns)? | billing · returns |
| Score | Ordered score questions | — |
How it works
- Load with transformers and trust_remote_code
- Call model.system_one with state and questions
- Read per-answer softmax probabilities
- Use prefix caching for repeated states
Strengths
- Fast on a single high-end GPU per the card
- Jev-compatible request schema
- Game-playing demos
Caveats
- About 24 GB of weights
- Comparison set is small and hand-written
- Gemma licence terms apply
Getting started
AutoModelForMultimodalLM.from_pretrained("stephenlb/system-one-model", trust_remote_code=True), then model.system_one(tokenizer, state=..., questions=...).At a glance
- Type
- Model
- Status
- research
- Language
- Python
- Runtime
- Transformers (custom code)
- Has code
- yes
- Has tests
- yes
- License
- Gemma
Use cases and integrations
Frequently asked questions
How fast is it?
About 34 ms median for a warm single question on an RTX 5090, per the card.
How does it compare to Jev?
Close on a small 39-case set, with Jev slightly ahead on choice and score.
What hardware does it need?
Enough memory for about 24 GB of weights.
Related projects
Open family of System One-style models fine-tuned from Qwen3.5 and Gemma that return typed decision probabilities in one pass.
ModelbetaPythonApache-2.0 395M ModernBERT System One model serving calibrated Choice, Noul and Score locally as a drop-in /v1/systemone replacement.
ServicebetaPython, TypeScriptGemma 3 4B option scorer that prefills context once and scores all options in one pass, on MLX or PyTorch, with a Doom demo.
ServiceprototypePythonIndependent MLX port of Laya for Apple Silicon: typed decisions in about 13 ms (7 ms multilingual) with no PyTorch or cloud API.
ServicebetaPythonDeploys DiffusionGemma-Jev behind a TypeSafe-compatible API on a Cloud Run GPU, with snake, dino and tetris demos.
ServiceprototypePythonMangaba AI's local, calibrated typed-decision model for Portuguese text, trained to optimize the Brier score; proprietary since v5.
ProjectproductionPython