Instructions to use majentik/gpt-oss-20b-TurboQuant-MLX-2bit with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use majentik/gpt-oss-20b-TurboQuant-MLX-2bit with MLX:
# Make sure mlx-lm is installed # pip install --upgrade mlx-lm # Generate text with mlx-lm from mlx_lm import load, generate model, tokenizer = load("majentik/gpt-oss-20b-TurboQuant-MLX-2bit") prompt = "Write a story about Einstein" messages = [{"role": "user", "content": prompt}] prompt = tokenizer.apply_chat_template( messages, add_generation_prompt=True ) text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Pi
How to use majentik/gpt-oss-20b-TurboQuant-MLX-2bit with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "majentik/gpt-oss-20b-TurboQuant-MLX-2bit"
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "majentik/gpt-oss-20b-TurboQuant-MLX-2bit" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use majentik/gpt-oss-20b-TurboQuant-MLX-2bit with Hermes Agent:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "majentik/gpt-oss-20b-TurboQuant-MLX-2bit"
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default majentik/gpt-oss-20b-TurboQuant-MLX-2bit
Run Hermes
hermes
- OpenClaw new
How to use majentik/gpt-oss-20b-TurboQuant-MLX-2bit with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "majentik/gpt-oss-20b-TurboQuant-MLX-2bit"
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "majentik/gpt-oss-20b-TurboQuant-MLX-2bit" \ --custom-provider-id mlx-lm \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
- MLX LM
How to use majentik/gpt-oss-20b-TurboQuant-MLX-2bit with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "majentik/gpt-oss-20b-TurboQuant-MLX-2bit"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "majentik/gpt-oss-20b-TurboQuant-MLX-2bit" # Calling the OpenAI-compatible server with curl curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "majentik/gpt-oss-20b-TurboQuant-MLX-2bit", "messages": [ {"role": "user", "content": "Hello"} ] }'
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) orquarter memory, ≈7.6% perplexity increase). In Ollama:-ctk q4_0 -ctv q4_0(OLLAMA_KV_CACHE_TYPE=q8_0withOLLAMA_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 2-bit
2-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. The smallest variant, ideal for memory-constrained devices; expect some quality degradation vs higher-bit variants. 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: ~6 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 | 2-bit (~6 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-2bit")
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 | TurboQuant-MLX-4bit |
| 2-bit quantized | ~6 GB | This model |
Hardware Requirements
This model requires approximately 6 GB of unified memory. Recommended hardware:
- Apple M1 (8 GB+)
- Apple M2 (8 GB+)
- Apple M3 (8 GB+)
- Apple M4 (8 GB+)
- Any Apple Silicon Mac with 8 GB+ unified memory
See Also
- openai/gpt-oss-20b -- Base model
- majentik/gpt-oss-20b-TurboQuant-MLX-8bit -- MLX 8-bit variant
- majentik/gpt-oss-20b-TurboQuant-MLX-4bit -- MLX 4-bit variant
- majentik/gpt-oss-20b-RotorQuant-MLX-2bit -- RotorQuant MLX 2-bit variant
- TurboQuant Paper (arXiv: 2504.19874)
- MLX Framework
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 — 2bit — is bolded.)
Variants in this family
(Showing 14 sibling variants under majentik/gpt-oss-20b-*. The current variant — TurboQuant-MLX-2bit — 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
- 586
4-bit
Model tree for majentik/gpt-oss-20b-TurboQuant-MLX-2bit
Base model
openai/gpt-oss-20b