CoolFace
Modelpublic

majentik/gpt-oss-20b-RotorQuant-GGUF-Q3_K_M

sourceHugging Faceapache-2.0updated 11d agoView on Hugging Face
0likes111downloads
Model Card
[!IMPORTANT] Rebuilt 2026-07-07: the original upload was a broken container (see discussion #1 on the Q3KM repo) and has been replaced with a rebuilt, parse-verified GGUF. Actual file size: 12.92 GB. Note that openai/gpt-oss-20b ships MXFP4-native (~13.8 GB source), so requantized sizes differ substantially from typical BF16-ladder estimates — treat size figures elsewhere on this card as superseded.

<!-- rebuild-note -->

[!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 -->

gpt-oss-20b-RotorQuant-GGUF-Q3KM

GGUF Q3KM weight-quantized variant of openai/gpt-oss-20b optimised for use with RotorQuant KV cache compression via a dedicated llama.cpp fork.

Important: RotorQuant KV cache types (planar3, iso3) are not available in upstream llama.cpp, standard Ollama, or LM Studio. They require a specific llama.cpp fork. The GGUF file itself is a standard GGUF and works with any llama.cpp-compatible runtime using normal KV cache types (f16, q80, q40, etc.).

Hardware compatibility

DeviceVRAM / RAMRecommendation
CPU host with ≥10 GB RAM~9.7 GBworks via llama.cpp; slower than GPU but no accelerator required
Apple Silicon (Metal)~10.6 GBllama.cpp Metal backend; fast on M-series unified memory
NVIDIA GPU (partial offload)split between GPU + RAMoffload as many layers as VRAM allows; rest on CPU

Overview

This model combines two independent compression techniques:

TechniqueWhat it doesRequirement
GGUF Q3_K_M weight quantizationReduces model size from ~40 GB (BF16) to ~8.8 GBAny llama.cpp-compatible runtime
RotorQuant KV cache compression — block-diagonal Clifford-algebra rotors for 3-bit KV cache (--cache-type-k iso3 --cache-type-v iso3)Block-diagonal rotations / random rotation for compressed KV cachellama-cpp-turboquant fork only

Quickstart

llama.cpp / LM Studio / Ollama (upstream)

The GGUF works as a normal quantised model. For KV-cache savings use the upstream path described in the tip at the top of this card (-ctk q8_0 -ctv q8_0, or q4_0); no fork is required.

llama.cpp (upstream)

bash
llama-completion -no-cnv -m gpt-oss-20b-RotorQuant-GGUF-Q3_K_M.gguf \
  --cache-type-k q8_0 --cache-type-v q8_0 \
  -ngl 99 -fa \
  -p "Explain quantum computing"

LM Studio

  1. 1.Download the GGUF file and load in LM Studio.
  2. 2.Enable Developer Mode (Settings → Developer).
  3. 3.In the model loader's advanced settings, set Flash Attention to ON.
  4. 4.Set K Cache Quantization and V Cache Quantization to q8_0 (or q4_0 for more aggressive VRAM savings).
  5. 5.Note: LM Studio does not currently support RotorQuant's iso3 cache types. Track this feature request for updates.

Ollama

bash
# Standard Ollama does not support RotorQuant cache types.
# Use with default or q8_0 KV cache via OLLAMA_KV_CACHE_TYPE=q8_0
OLLAMA_KV_CACHE_TYPE=q8_0 OLLAMA_FLASH_ATTENTION=1 ollama run majentik/gpt-oss-20b-RotorQuant-GGUF-Q3_K_M

Specifications

PropertyValue
Base Modelopenai/gpt-oss-20b
ArchitectureSparse MoE
Parameters20B total (MoE)
Context Length128K
Weight QuantizationGGUF Q3KM (compact 3-bit, slight quality loss)
Original Size (BF16)~40 GB
Quantized File Size12.92 GB (rebuilt 2026-07-07)
KV Cache (RotorQuant)3-bit via --cache-type-k iso3 --cache-type-v iso3 (fork only)
KV Cache (standard)q80, q40, f16, etc. (any llama.cpp runtime)
Licenseapache-2.0
ModalitiesText only
Compatible Runtimesllama.cpp, LM Studio, Ollama, koboldcpp

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).

Current Status of RotorQuant in the Ecosystem

RuntimeRotorQuant SupportStandard KV Quant
llama.cpp (upstream)❌ Not merged✅ q80, q40, q41, iq4nl, q50, q51
llama-cpp-turboquant fork✅ planar3, iso3✅ All standard types
LM Studio❌ Requested✅ Via advanced settings
Ollama❌ Not supported✅ Via OLLAMAKVCACHE_TYPE
koboldcpp❌ Not supported✅ Standard types

Recommended Settings

For VRAM-constrained setups, standard q8_0 KV cache quantization already halves KV cache memory with negligible quality impact. Flash Attention should always be enabled — it is required for V cache quantization and improves memory efficiency regardless.

VRAMSuggested Configuration
24 GB (RTX 4090)Q3KM + q8_0 KV cache + Flash Attention, 8K–16K context
16 GBQ3KM + q4_0 KV cache + Flash Attention, 4K–8K context
48+ GBQ3KM + f16 KV cache, full 32K+ context

See Also

Quant trade-off (GGUF lane)

QuantApprox sizeUse caseRecommendation
Q2_K~11 GBLossy, low-RAM CPU/edgeResource-constrained inference
Q3_K_M~12 GBSmaller-than-Q4, modest quality dropEdge devices with ~16 GB RAM
IQ4_XS~10 GBImportance-quant 4-bit, smaller than Q4KMBest size/quality at 4-bit
Q4KM~15 GBBalanced defaultRecommended for most users
Q5KM~16 GBHigher fidelity than Q4Quality-sensitive applications
Q6_K~18 GBApproaching FP16 qualityHigh-fidelity CPU/edge
Q8_0~20 GBNear-lossless referenceFidelity-critical work
MXFP4_MOE~11 GBMicroscaling FP4 (MoE-aware)vLLM / transformers users

(Current variant — Q3_K_M — is bolded.)

Variants in this family

(Showing 14 sibling variants under majentik/gpt-oss-20b-*. The current variant — RotorQuant-GGUF-Q3_K_M — is bolded.)

VariantRuntimeApprox sizeUse case
RotorQuant-GGUF-IQ4_XSllama.cpp~17 GBLossy 4-bit, low-RAM CPU/edge
RotorQuant-GGUF-Q2_Kllama.cpp~12 GBLossy, low-RAM CPU/edge
RotorQuant-GGUF-Q3_K_Mllama.cpp~16 GBSmaller 3-bit, CPU-friendly
RotorQuant-GGUF-Q4_K_Mllama.cpp~22 GBBalanced default
RotorQuant-GGUF-Q5_K_Mllama.cpp~26 GBHigher fidelity, more RAM
RotorQuant-GGUF-Q8_0llama.cpp~42 GBNear-lossless reference
TurboQuant-MLX-2bitmlx-lm~6.4 GBApple Silicon, smallest
TurboQuant-MLX-4bitmlx-lm~12 GBApple Silicon balanced
TurboQuant-MLX-8bitmlx-lm~24 GBApple Silicon reference