How to use from the
Use from the
MLX library
# Download the model from the Hub
pip install huggingface_hub[hf_xet]

hf download iapp/OpenThai-SystemOne-MLX-bf16 --local-dir OpenThai-SystemOne-MLX-bf16

OpenThai-SystemOne โ€” mlx-bf16

OpenThai-SystemOne is an open Thai + English System One decision model: one forward pass answers typed questions (choice over up to 255 options, ordinal score, yes/no noul) about a text / JSON state with calibrated probabilities, no text generation. It is a Qwen3.5-0.8B text tower (Thai continued pre-training) plus a 256-slot decision head. This repo is a quantization of v0.3 (commit f3709948).

What is quantized: the tower including the token embeddings (MLX quantizes the embedding table too). The 256-slot decision head and the per-type temperatures stay in fp32 (head.safetensors). Quantization therefore only perturbs the hidden state the head reads.

Format: MLX bf16 for Apple Silicon (mlx-lm). mlx-lm runs the tower; the included client applies the decision head on the final hidden states. Size: 1505 MB.

Measured on a MacBook Pro M3 Max: 4-bit โ‰ˆ 19 ms per 3-question Thai decision (the PyTorch model on MPS: ~150 ms).

Usage

pip install mlx-lm torch transformers safetensors pydantic
huggingface-cli download iapp/OpenThai-SystemOne-MLX-bf16 --local-dir openthai-mlx
import sys; sys.path.insert(0, "openthai-mlx")
from openthai_systemone.mlx_client import MLXSystemOneClient
c = MLXSystemOneClient("openthai-mlx")
r = c.system_one("เธฃเน‰เธฒเธ™เธ™เธตเน‰เธญเธฒเธซเธฒเธฃเธญเธฃเนˆเธญเธขเธกเธฒเธ เนเธ•เนˆเธฃเธญเธ™เธฒเธ™เน€เธเธทเธญเธšเธŠเธฑเนˆเธงเน‚เธกเธ‡", {"sentiment": {"type": "choice", "instructions": "เธ„เธงเธฒเธกเธฃเธนเน‰เธชเธถเธ",
                 "criteria": {"เธšเธงเธ": None, "เธฅเธš": None, "เธเธฅเธฒเธ‡": None}}})
print(r.answers["sentiment"].choice, r.answers["sentiment"].probabilities)

Accuracy vs the bf16 original (same records, single option order, first 800 per set)

Macro: public 74.3 (original 74.3), Thai 80.2 (original 80.1).

subset bf16 original this ฮ”
public 13-subset bench
aegis2 (noul) 83.2 83.2 +0.0
boolq (noul) 79.7 80.0 +0.3
civil_comments (noul) 79.0 79.0 +0.0
helpsteer2 (score) 41.6 41.6 +0.0
massive-de-DE (choice) 88.3 88.3 +0.0
massive-en-US (choice) 88.3 88.3 +0.0
multinli (choice) 89.0 88.6 -0.3
paws (noul) 94.0 94.0 +0.0
pubmedqa (choice) 64.0 64.0 +0.0
squad2 (noul) 89.3 89.3 +0.0
summeval-consistency (score) 75.0 75.7 +0.7
summeval-relevance (score) 21.7 20.8 -0.8
vitaminc-dev (choice) 72.5 72.8 +0.3
macro, public 13-subset bench 74.3 74.3 +0.0
Thai held-out / eval sets
banking77 (choice) 59.1 59.4 +0.2
contrastive_th (choice) 80.7 81.1 +0.3
contrastive_th (noul) 83.5 82.7 -0.8
contrastive_th (score) 78.6 78.6 +0.0
massive_th (choice) 90.6 90.9 +0.2
prachathai (choice) 98.3 98.3 +0.0
prachathai (noul) 93.4 93.3 -0.1
sib200_th (choice) 77.9 78.4 +0.5
wisesight (choice) 48.9 49.0 +0.1
wongnai (score) 64.5 64.6 +0.1
xlam_tools (choice) 99.4 99.4 +0.0
xnli_th (choice) 79.8 79.8 +0.0
xnli_th (noul) 86.8 86.8 +0.0
macro, Thai held-out / eval sets 80.1 80.2 +0.0

Notes

  • Scores are single-option-order accuracy on the first 800 records of each set (scripts/06_eval.py --limit 800), the same records for the original and the quantization. score subsets report exact level accuracy.
  • Base model, data, training and the full benchmark tables: iapp/OpenThai-SystemOne.
  • License Apache-2.0 (same as the base). Built by iApp Technology / OpenThaiGPT.
Downloads last month
36
Safetensors
Model size
0.8B params
Tensor type
BF16
ยท
MLX
Hardware compatibility
Log In to add your hardware

Quantized

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for iapp/OpenThai-SystemOne-MLX-bf16

Quantized
(14)
this model