Qwen/Qwen3.5-4B optimized for MLX.
- A mixed-precision quant that balances speed, memory, and accuracy.
- 4-bit baseline with important layers at higher precision.
- This quant supports image input and requires a vision-capable server.
Usage
# Start server at http://localhost:8080/v1/chat/completions
uvx --from mlx-vlm mlx_vlm.server \
--host 127.0.0.1 \
--port 8080 \
--model spicyneuron/Qwen3.5-4B-MLX-6.8bit-vision
Benchmarks
| metric | mlx-community/Qwen3.5-4B-MLX-4bit | mlx-community/Qwen3.5-4B-OptiQ-4bit | 6.8 bit (this model) |
|---|---|---|---|
| bpw | 4.503 | 6.219 | 6.750 |
| base memory | 2.205 | 3.045 | 3.305 |
| peak memory (1024/512) | 3.625 | 4.541 | 4.814 |
| prompt tok/s (1024) | 2674.115 ± 3.462 | 2661.445 ± 1.504 | 2589.364 ± 13.109 |
| gen tok/s (512) | 166.004 ± 0.312 | 135.779 ± 0.031 | 127.137 ± 0.121 |
| kl mean | 0.083 ± 0.004 | 0.041 ± 0.002 | 0.007 ± 0.001 |
| kl p95 | 0.180 ± 0.004 | 0.100 ± 0.002 | 0.020 ± 0.001 |
| perplexity | 5.053 ± 0.035 | 4.932 ± 0.034 | 4.921 ± 0.034 |
Tested on a Mac Studio M3 Ultra with:
mlx_lm.convert --hf-path ... --mlx-path ./mlx && mlx_lm.kld --baseline-model ./mlx
mlx_lm.perplexity --sequence-length 512 --seed 123
mlx_lm.benchmark --prompt-tokens 1024 --generation-tokens 512 --num-trials 5
Required PRs:
Methodology
Quantized with a mlx-vlm fork. MLX quantization options differ than llama.cpp, but the principles are the same:
- Sensitive layers like MoE routing, attention, and output embeddings get higher precision
- More tolerant layers like MoE experts get lower precision