Decision 3.0 β MLX (Apple Silicon)
Collection
MLX (Apple Silicon) conversions of the Decision 3.0 System One decision models β runnable with mlx-vlm. β’ 6 items β’ Updated
How to use ahmedandaloes/d3-lite-mlx with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] hf download ahmedandaloes/d3-lite-mlx --local-dir d3-lite-mlx
MLX conversion of vllm-sr/d3-lite, part of the Decision 3.0 collection β the System One code-readout decision model (Qwen3.5-VL backbone + a 255-way readout head).
pip install mlx-vlm transformers
from d3_mlx import D3MLX
m = D3MLX(".")
result = m.system_one(
"state text the model should treat as data",
{"route": {"type": "choice", "criteria": {"a": "first option", "b": "second option"}}},
)
print(result)
weights.safetensors β MLX backbone weights (remapped + transposed)readout.safetensors β the original 255-way readout head (unchanged)d3_mlx.py β MLX runtime: loader, prompt contract, decision pathconfig.json, decision_config.json, tokenizer files β copied from the original checkpointlanguage_model.* β language_model.model.*; language_model.visual.* β vision_tower.*linear_attn.conv1d.weight transposed [C,1,K] β [C,K,1]patch_embed.proj.weight transposed NCDHW β NDHWClayer_types list
(irregular patterns: the small models end with several full-attention layers; the 32/64-layer
models use a uniform every-4 pattern β the stock MLX class derives this and gets it wrong)lm_head dropped (embeddings are tied; only hidden states are needed)Numerics: BF16 backbone, FP32 readout + softmax β the same as the reference implementation.
Weights are unchanged from the original; only the format/layout was converted. Converted with mlx-vlm on an Apple M3 Max.
Quantized