CoolFace
Modelpublic

majentik/Voxtral-Mini-3B-2507-TurboQuant-MLX-2bit

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes21downloads
Model Card
[!TIP] KV-cache quantization without any fork (recommended, 2026): upstream llama.cpp/Ollama now cover this natively — use -ctk q8_0 -ctv q8_0 (~half KV memory, negligible quality loss: perplexity +0.002–0.05) or -ctk q4_0 -ctv q4_0 (~quarter memory, ≈7.6% perplexity increase). In Ollama: OLLAMA_KV_CACHE_TYPE=q8_0 with OLLAMA_FLASH_ATTENTION=1. Keep K and V types symmetric to stay on the fast fused Flash-Attention path. Since April 2026, mainline llama.cpp also applies Hadamard rotation to KV activations (PR #21038), which greatly improves low-bit KV quality (opt-out: LLAMA_ATTN_ROT_DISABLE=1). The RotorQuant/TurboQuant fork flow below is experimental/legacy: the TurboQuant llama.cpp PR was closed without merging (June 2026) and the fork is unmaintained relative to mainline. It is NOT required to use this model.

<!-- kv-upstream-note -->

Voxtral-Mini-3B-2507-TurboQuant-MLX-2bit

2-bit MLX weight-quantized build of `mistralai/Voxtral-Mini-3B-2507`. Extreme-compression variant with a TurboQuant KV-cache profile — designed for memory-constrained Apple Silicon devices.

Hardware compatibility

DeviceVRAM / RAMRecommendation
Apple M4 Max 128 GB~1.3 GBrecommended — headroom for long context
Apple M3 Max 64 GB~1.3 GBcomfortable
Apple M2 Max 32 GB~1.2 GBfits

Overview

  • Base: mistralai/Voxtral-Mini-3B-2507 — 3B speech-understanding model
  • Capabilities: transcription, speech translation, audio QA
  • Weight precision: 2-bit (group-wise)
  • KV-cache profile: TurboQuant (per-head static calibration)
  • Approx. on-disk size: ~1 GB
  • Runtime: MLX on Apple Silicon

Expect minor WER degradation vs the 4-bit build. Best used with clean, single-speaker audio.

Quickstart

bash
pip install mlx-lm
python
from mlx_lm import load, generate

model, tokenizer = load("majentik/Voxtral-Mini-3B-2507-TurboQuant-MLX-2bit")

prompt = tokenizer.apply_chat_template(
    [{"role": "user", "content": [{"type": "audio", "path": "sample.wav"},
                                  {"type": "text", "text": "Transcribe this."}]}],
    add_generation_prompt=True,
)
print(generate(model, tokenizer, prompt=prompt, max_tokens=256))

Model specs

FieldValue
Parameters3B
Weight bits2
Group size32
Cache profileTurboQuant
Size on disk~1 GB
Target hardwareApple Silicon (M1/M2/M3/M4)
LicenseApache 2.0

RotorQuant vs TurboQuant

TurboQuantRotorQuant
StrategyPer-head static calibrationRotational online re-basis
Memory reduction~3.5x on KV-cache~4x on KV-cache
Best forBatch transcriptionStreaming / code-switching

At 2-bit, RotorQuant often preserves quality better in drifting audio — consider the RotorQuant counterpart for streaming workloads.

See also

About the RotorQuant / TurboQuant labels

RotorQuant and TurboQuant are this project's release labels, not distinct quantization algorithms — for any given tier, both brand repos carry byte-identical weights produced with the standard MLX / llama.cpp quantizers. No brand-specific speedup is claimed or measured.