MLX 8-bit weights for Apple Silicon of basal-2.0-mini (1.5B, base Bielik-1.5B-v3.0-Instruct). Same model, same typed-decision API through basal-serve; the calibration files this folder ships are listed below.
Agreement is the share of decisions where the port picks the same option as the bf16 release model on the development set dev v2 (MLX rows: every 2nd dev v2 decision, 1,700 decisions). Bars for this tier: agreement 2-10 >= 0.9161, agreement at reference margin >= 0.2 >= 0.9858, accuracy within 1 point of bf16, ECE at most +0.01. All ports of this tier:
| package | agreement with bf16 (options 2-10) | agreement at margin >= 0.2 | accuracy diff | ECE diff | size | speed | gate |
|---|---|---|---|---|---|---|---|
| FP8 | 0.9333 | 0.9937 | -0.0077 | -0.0032 | 1.8 GB | 103.5 dec/s c16, c1 p50 14 ms (H100) | PASS |
| GGUF Q8_0 | 0.9769 | 1.0000 | -0.0004 | -0.0019 | 1.6 GB | not measured in this release | PASS |
| GGUF Q5_K_M | 0.9339 | 0.9931 | -0.0006 | -0.0016 | 1.1 GB | not measured in this release | PASS |
| MLX 8-bit | 0.9792 | 1.0000 | -0.0025 | +0.0024 | 1.7 GB | 93 ms c1 p50, 223 ms for 5 questions (Mac) | PASS |
The ports are decision-layer checks against bf16, not new benchmarks; the model's own results are on basal-2.0-mini.
uv venv --python 3.12 --allow-existing ~/basal-mlx && source ~/basal-mlx/bin/activate
uv pip install "basal[mlx] @ https://github.com/rkinas/basal/archive/refs/tags/v2.0.0.tar.gz"
basal-serve --model Remek/basal-2.0-mini-MLX-8bit --mode mlx --port 8000
Speed: 93 ms c1 p50, 223 ms for 5 questions (Mac). Measured on Apple M4 Pro, 24 GB.
Engine. The same basal engine v2.0.0 also serves the experimental basal-omni-1.0 models (images and audio): README.
CALIBRATION.json in this folder is the bf16 model's calibration, the default for every mode without a fit of its own. basal-serve --mode mlx loads CALIBRATION.<engine>.json for its engine when the folder has it, else CALIBRATION.json. A calibration fitted on bf16 readouts does not carry over exactly to a quantised port (an outside test of
basal-1.5 on Ollama saw 2.3% real error at the 1% threshold with the bf16 file), so a port-specific fit, where it passed,
uses the bf16 model's method on that port's own readouts of the same calibration splits, one option order:
basal-serve --mode mlx: Ships CALIBRATION.mlx.json, fitted on MLX readouts of this port (same method as the bf16 fit, one option order); dev v2 ECE 0.0357 with the bf16 fit -> 0.0337 with this fit (in-sample), 0.0375 held-out (leave-one-family-out).Where a port uses the bf16 calibration, treat its confidence thresholds as approximate and fit your own with
basal-calibrate when they matter.
See the model card basal-2.0-mini for Werdykt, JDI, LEK, PL-Holdout and PL-Real numbers against basal-1.5 and the evaluation notes. This port is not scored separately on those benchmarks.
"facts": "auto")."max_error": 0.01
on an act or tool question defers every decision; use 0.05, or certify thresholds on your own data with basal-calibrate.act and multi over many labels are experimental. Up to 255 options per question (Ollama: 20); the context is
32,768 tokens (mini: 8,192). The 2.0 models ship no evidence head.@software{kinas2026basal20,
title = {basal-2.0: typed-decision models and inference engine for Polish and English},
author = {Kinas, Remigiusz},
year = {2026},
version = {2.0.0},
url = {https://github.com/rkinas/basal}
}
Apache-2.0. Fine-tuned from speakleash/Bielik-1.5B-v3.0-Instruct (Apache-2.0). Bielik is a project of SpeakLeash and ACK Cyfronet AGH.
MLX 8-bit weights for Apple Silicon of basal-2.0-mini (1.5B, base Bielik-1.5B-v3.0-Instruct). Same model, same typed-decision API through basal-serve; the calibration files this folder ships are listed below.
Agreement is the share of decisions where the port picks the same option as the bf16 release model on the development set dev v2 (MLX rows: every 2nd dev v2 decision, 1,700 decisions). Bars for this tier: agreement 2-10 >= 0.9161, agreement at reference margin >= 0.2 >= 0.9858, accuracy within 1 point of bf16, ECE at most +0.01. All ports of this tier:
| package | agreement with bf16 (options 2-10) | agreement at margin >= 0.2 | accuracy diff | ECE diff | size | speed | gate |
|---|---|---|---|---|---|---|---|
| FP8 | 0.9333 | 0.9937 | -0.0077 | -0.0032 | 1.8 GB | 103.5 dec/s c16, c1 p50 14 ms (H100) | PASS |
| GGUF Q8_0 | 0.9769 | 1.0000 | -0.0004 | -0.0019 | 1.6 GB | not measured in this release | PASS |
| GGUF Q5_K_M | 0.9339 | 0.9931 | -0.0006 | -0.0016 | 1.1 GB | not measured in this release | PASS |
| MLX 8-bit | 0.9792 | 1.0000 | -0.0025 | +0.0024 | 1.7 GB | 93 ms c1 p50, 223 ms for 5 questions (Mac) | PASS |
The ports are decision-layer checks against bf16, not new benchmarks; the model's own results are on basal-2.0-mini.
uv venv --python 3.12 --allow-existing ~/basal-mlx && source ~/basal-mlx/bin/activate
uv pip install "basal[mlx] @ https://github.com/rkinas/basal/archive/refs/tags/v2.0.0.tar.gz"
basal-serve --model Remek/basal-2.0-mini-MLX-8bit --mode mlx --port 8000
Speed: 93 ms c1 p50, 223 ms for 5 questions (Mac). Measured on Apple M4 Pro, 24 GB.
Engine. The same basal engine v2.0.0 also serves the experimental basal-omni-1.0 models (images and audio): README.
CALIBRATION.json in this folder is the bf16 model's calibration, the default for every mode without a fit of its own. basal-serve --mode mlx loads CALIBRATION.<engine>.json for its engine when the folder has it, else CALIBRATION.json. A calibration fitted on bf16 readouts does not carry over exactly to a quantised port (an outside test of
basal-1.5 on Ollama saw 2.3% real error at the 1% threshold with the bf16 file), so a port-specific fit, where it passed,
uses the bf16 model's method on that port's own readouts of the same calibration splits, one option order:
basal-serve --mode mlx: Ships CALIBRATION.mlx.json, fitted on MLX readouts of this port (same method as the bf16 fit, one option order); dev v2 ECE 0.0357 with the bf16 fit -> 0.0337 with this fit (in-sample), 0.0375 held-out (leave-one-family-out).Where a port uses the bf16 calibration, treat its confidence thresholds as approximate and fit your own with
basal-calibrate when they matter.
See the model card basal-2.0-mini for Werdykt, JDI, LEK, PL-Holdout and PL-Real numbers against basal-1.5 and the evaluation notes. This port is not scored separately on those benchmarks.
"facts": "auto")."max_error": 0.01
on an act or tool question defers every decision; use 0.05, or certify thresholds on your own data with basal-calibrate.act and multi over many labels are experimental. Up to 255 options per question (Ollama: 20); the context is
32,768 tokens (mini: 8,192). The 2.0 models ship no evidence head.@software{kinas2026basal20,
title = {basal-2.0: typed-decision models and inference engine for Polish and English},
author = {Kinas, Remigiusz},
year = {2026},
version = {2.0.0},
url = {https://github.com/rkinas/basal}
}
Apache-2.0. Fine-tuned from speakleash/Bielik-1.5B-v3.0-Instruct (Apache-2.0). Bielik is a project of SpeakLeash and ACK Cyfronet AGH.