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.

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

Device VRAM / RAM Recommendation
Apple M4 Max 128 GB ~1.3 GB recommended โ€” headroom for long context
Apple M3 Max 64 GB ~1.3 GB comfortable
Apple M2 Max 32 GB ~1.2 GB fits

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

pip install mlx-lm
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

Field Value
Parameters 3B
Weight bits 2
Group size 32
Cache profile TurboQuant
Size on disk ~1 GB
Target hardware Apple Silicon (M1/M2/M3/M4)
License Apache 2.0

RotorQuant vs TurboQuant

TurboQuant RotorQuant
Strategy Per-head static calibration Rotational online re-basis
Memory reduction ~3.5x on KV-cache ~4x on KV-cache
Best for Batch transcription Streaming / 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.

Downloads last month
101
Safetensors
Model size
5B params
Tensor type
BF16
ยท
F32
ยท
U32
ยท
MLX
Hardware compatibility
Log In to add your hardware

2-bit

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

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

Quantized
(30)
this model