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.

GPT-OSS-20B - TurboQuant MLX 4-bit

4-bit weight-quantized MLX version of openai/gpt-oss-20b with the legacy TurboQuant KV-cache fork (superseded by upstream llama.cpp KV options). Optimized for Apple Silicon inference via the MLX framework. A good balance between model quality and memory efficiency. GPT-OSS-20B is OpenAI's first open-weights release in years (Apache 2.0), a Mixture-of-Experts model that rivals o3-mini on reasoning benchmarks.

Approximate model size: ~12 GB

Model Specifications

Property Value
Base Model openai/gpt-oss-20b
Parameters 20 billion (MoE)
Architecture Mixture-of-Experts (MoE) Transformer
License Apache 2.0 (commercial use OK)
Weight Quantization 4-bit (~12 GB)
KV-Cache Quantization TurboQuant
Framework MLX (Apple Silicon)

Quickstart

from mlx_lm import load, generate
from turboquant import TurboQuantCache

model, tokenizer = load("majentik/gpt-oss-20b-TurboQuant-MLX-4bit")

prompt = "Explain the theory of relativity."
response = generate(model, tokenizer, prompt=prompt, max_tokens=512)
print(response)

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. The KV-cache fork these labels originally referred to is legacy; for KV-cache memory savings use the upstream options described above (-ctk/-ctv q8_0, OLLAMA_KV_CACHE_TYPE).

KV-Cache Quantization Comparison

Method Prefill Speed Decode Speed Memory Savings Reference
TurboQuant 1x (baseline) 1x (baseline) High arXiv: 2504.19874

Memory Estimates (GPT-OSS-20B)

Precision Approximate Size MLX Variant
BF16 (original) ~40 GB --
8-bit quantized ~20 GB TurboQuant-MLX-8bit
4-bit quantized ~12 GB This model
2-bit quantized ~6 GB TurboQuant-MLX-2bit

Hardware Requirements

This model requires approximately 12 GB of unified memory. Recommended hardware:

  • Apple M1 Pro (16 GB+)
  • Apple M2 Pro (16 GB+)
  • Apple M3 Pro (18 GB+)
  • Apple M4 Pro (24 GB+)
  • Any Apple Silicon Mac with 16 GB+ unified memory

See Also

Quant trade-off (MLX lane)

Bits Approx size Use case Recommendation
2-bit ~5.2 GB Aggressive quantization Very low-RAM Macs
3-bit ~7.2 GB Lossy but small Low-RAM Macs
4-bit ~8.4 GB Balanced default Recommended for most Macs
5-bit ~10 GB Higher fidelity Quality-sensitive
6-bit ~12 GB Approaching FP16 quality High-fidelity
8-bit ~15 GB Near-lossless reference Fidelity-critical work

(Current variant — 4bit — is bolded.)

Variants in this family

(Showing 14 sibling variants under majentik/gpt-oss-20b-*. The current variant — TurboQuant-MLX-4bit — is bolded.)

Variant Runtime Approx size Use case
RotorQuant-GGUF-IQ4_XS llama.cpp ~17 GB Lossy 4-bit, low-RAM CPU/edge
RotorQuant-GGUF-Q2_K llama.cpp ~12 GB Lossy, low-RAM CPU/edge
RotorQuant-GGUF-Q3_K_M llama.cpp ~16 GB Smaller 3-bit, CPU-friendly
RotorQuant-GGUF-Q4_K_M llama.cpp ~22 GB Balanced default
RotorQuant-GGUF-Q5_K_M llama.cpp ~26 GB Higher fidelity, more RAM
RotorQuant-GGUF-Q8_0 llama.cpp ~42 GB Near-lossless reference
RotorQuant-MLX-2bit mlx-lm ~6.4 GB Apple Silicon, smallest
RotorQuant-MLX-4bit mlx-lm ~12 GB Apple Silicon balanced
RotorQuant-MLX-8bit mlx-lm ~24 GB Apple Silicon reference
TurboQuant-MLX-2bit mlx-lm ~6.4 GB Apple Silicon, smallest
TurboQuant-MLX-4bit mlx-lm ~12 GB Apple Silicon balanced
TurboQuant-MLX-8bit mlx-lm ~24 GB Apple Silicon reference
Downloads last month
442
Safetensors
Model size
21B params
Tensor type
BF16
·
U32
·
U8
·
MLX
Hardware compatibility
Log In to add your hardware

4-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for majentik/gpt-oss-20b-TurboQuant-MLX-4bit

Quantized
(227)
this model

Paper for majentik/gpt-oss-20b-TurboQuant-MLX-4bit