Downloads · 30 days
69
5% of all-time downloads
majentik/gemma-4-E2B-RotorQuant-GGUF-Q2_K
gemma-4-E2B-RotorQuant-GGUF-Q2_K is a image-text-to-text model from majentik. Use it for the image-text-to-text task on the model card, and read the license before you ship it in a product. It is set up for gguf. The card lists the license as apache-2.0.
[!WARNING] Fork compatibility (2026-07-07): the llama-cpp-turboquant fork is currently based on a llama.cpp revision that predates gemma4 architecture support — it fails with unknown model architecture: 'gemma4' and c…
Downloads · 30 days
69
5% of all-time downloads
All-time downloads
1.5K
Public
Repo size
3 GB
Likes
0
Public
Click a slice to open those files.
.gguf3 GB · 100%
From the Hugging Face model README
<!-- gemma4-fork-note -->[!WARNING] Fork compatibility (2026-07-07): the
llama-cpp-turboquantfork is currently based on a llama.cpp revision that predatesgemma4architecture support — it fails withunknown model architecture: 'gemma4'and cannot run this model at all. Until the fork rebases, use mainline llama.cpp (which loads this GGUF fine with standard KV-cache types); the RotorQuant/TurboQuant KV-cache options are not usable with gemma-4 yet.
<!-- kv-upstream-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_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.
GGUF Q2_K weight-quantized variant of google/gemma-4-E2B 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, q8_0, q4_0, etc.).
| Device | VRAM / RAM | Recommendation |
|---|---|---|
| CPU host with ≥8 GB RAM | ~0.8 GB | works via llama.cpp; slower than GPU but no accelerator required |
| Apple Silicon (Metal) | ~0.8 GB | llama.cpp Metal backend; fast on M-series unified memory |
| NVIDIA GPU (partial offload) | split between GPU + RAM | offload as many layers as VRAM allows; rest on CPU |
This model combines two independent compression techniques:
| Technique | What it does | Requirement |
|---|---|---|
| GGUF Q2_K weight quantization | Reduces model size from ~4 GB (BF16) to ~0.7 GB | Any 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 cache | llama-cpp-turboquant fork only |
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)
llama-completion -no-cnv -m gemma-4-E2B-RotorQuant-GGUF-Q2_K.gguf \
--cache-type-k q8_0 --cache-type-v q8_0 \
-ngl 99 -fa \
-p "Explain quantum computing"
LM Studio
q8_0 (or q4_0 for more aggressive VRAM savings).iso3 cache types. Track this feature request for updates.Ollama
# 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/gemma-4-E2B-RotorQuant-GGUF-Q2_K
| Property | Value |
|---|---|
| Base Model | google/gemma-4-E2B |
| Architecture | Dense transformer (Edge optimised) |
| Parameters | ~2B |
| Context Length | 128K |
| Weight Quantization | GGUF Q2_K (aggressive 2-bit, noticeable quality drop) |
| Original Size (BF16) | ~4 GB |
| Quantized File Size | ~0.7 GB |
| KV Cache (RotorQuant) | 3-bit via --cache-type-k iso3 --cache-type-v iso3 (fork only) |
| KV Cache (standard) | q8_0, q4_0, f16, etc. (any llama.cpp runtime) |
| License | apache-2.0 |
| Modalities | Text + Image (image-text-to-text) |
| Compatible Runtimes | llama.cpp, LM Studio, Ollama, koboldcpp |
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).
| Runtime | RotorQuant Support | Standard KV Quant |
|---|---|---|
| llama.cpp (upstream) | ❌ Not merged | ✅ q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1 |
| llama-cpp-turboquant fork | ✅ planar3, iso3 | ✅ All standard types |
| LM Studio | ❌ Requested | ✅ Via advanced settings |
| Ollama | ❌ Not supported | ✅ Via OLLAMA_KV_CACHE_TYPE |
| koboldcpp | ❌ Not supported | ✅ Standard types |
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.
| VRAM | Suggested Configuration |
|---|---|
| 24 GB (RTX 4090) | Q2_K + q8_0 KV cache + Flash Attention, 8K–16K context |
| 16 GB | Q2_K + q4_0 KV cache + Flash Attention, 4K–8K context |
| 48+ GB | Q2_K + f16 KV cache, full 32K+ context |
| Quant | Approx size | Use case | Recommendation |
|---|---|---|---|
| Q2_K | ~1.1 GB | Lossy, low-RAM CPU/edge | Resource-constrained inference |
| Q3_K_M | ~1.2 GB | Smaller-than-Q4, modest quality drop | Edge devices with ~16 GB RAM |
| IQ4_XS | ~1.0 GB | Importance-quant 4-bit, smaller than Q4_K_M | Best size/quality at 4-bit |
| Q4_K_M | ~1.5 GB | Balanced default | Recommended for most users |
| Q5_K_M | ~1.6 GB | Higher fidelity than Q4 | Quality-sensitive applications |
| Q6_K | ~1.8 GB | Approaching FP16 quality | High-fidelity CPU/edge |
| Q8_0 | ~2.0 GB | Near-lossless reference | Fidelity-critical work |
| MXFP4_MOE | ~1.1 GB | Microscaling FP4 (MoE-aware) | vLLM / transformers users |
(Current variant — Q2_K — is bolded.)
(Showing 14 sibling variants under majentik/gemma-4-e2b-*. The current variant — RotorQuant-GGUF-Q2_K — is bolded.)
| Variant | Runtime | Approx size | Use case |
|---|---|---|---|
| RotorQuant-GGUF-IQ4_XS | llama.cpp | ~1.7 GB | Lossy 4-bit, low-RAM CPU/edge |
| RotorQuant-GGUF-Q2_K | llama.cpp | ~1.2 GB | Lossy, low-RAM CPU/edge |
| RotorQuant-GGUF-Q3_K_M | llama.cpp | ~1.6 GB | Smaller 3-bit, CPU-friendly |
| RotorQuant-GGUF-Q4_K_M | llama.cpp | ~2.2 GB | Balanced default |
| RotorQuant-GGUF-Q5_K_M | llama.cpp | ~2.6 GB | Higher fidelity, more RAM |
| RotorQuant-GGUF-Q8_0 | llama.cpp | ~4.2 GB | Near-lossless reference |
| RotorQuant-MLX-2bit | mlx-lm | ~655 MB | Apple Silicon, smallest |
| RotorQuant-MLX-4bit | mlx-lm | ~1.2 GB | Apple Silicon balanced |
| RotorQuant-MLX-8bit | mlx-lm | ~2.4 GB | Apple Silicon reference |
| TurboQuant-MLX-2bit | mlx-lm | ~655 MB | Apple Silicon, smallest |
| TurboQuant-MLX-4bit | mlx-lm | ~1.2 GB | Apple Silicon balanced |
| TurboQuant-MLX-8bit | mlx-lm | ~2.4 GB | Apple Silicon reference |