Qwen3.5-2B under 1 GB: 2-bit GGUFs measured
Measured: six 2-bit Qwen3.5-2B files, all under 1 GB
Pingala-8 v2 puts Qwen3.5-2B in 0.78 GB at WikiText-2 perplexity 14.06, better than unsloth UD-IQ2_M (0.86 GB, 14.96). DASH-Q is better than ours: IQ2_M 13.33, IQ2_XS 13.90.
| 2-bit file | Size | PPL | Against Pingala-8 v2 |
|---|---|---|---|
| DASH-Q IQ2_M | 0.79 GB | 13.33 | Best of the six. DASH-Q better: v2 wins 3/70, +0.053 |
| DASH-Q IQ2_XS | 0.76 GB | 13.90 | DASH-Q better: v2 wins 21/70, +0.012 +/- 0.007 |
| Pingala-8 v2 (ours) | 0.78 GB | 14.06 | |
| unsloth UD-IQ2_M | 0.86 GB | 14.96 | v2 better on 67/70, -0.062 +/- 0.009 |
| Pingala-8 v1 (ours) | 0.78 GB | 15.62 | v2 better on 70/70, -0.104 |
| unsloth UD-IQ2_XXS | 0.77 GB | 23.41 | v2 better on 70/70 |
WikiText-2 test perplexity (PPL), 72 windows of 4096 tokens, every file on the same windows; lower is better. Last column: Pingala-8 version 2 minus that file, mean nats per token over 70 paired windows (positive means the other file is better), and the number of those windows on which version 2 has the lower loss. Exact sizes: DASH-Q IQ2_M 786,259,840 bytes, DASH-Q IQ2_XS 757,096,320, Pingala-8 v2 778,189,408, unsloth UD-IQ2_M 859,857,152, Pingala-8 v1 778,744,192, unsloth UD-IQ2_XXS 768,270,592. GB = 109 bytes. Per-window data: eval dataset; ranking: 2-bit GGUF leaderboard.
- Model: Genrius-AI/Qwen3.5-2B-Pingala8-2bit on Hugging Face, file
Qwen3.5-2B-Pingala8-2bit-v2.gguf. Text model only. - Runtime: version 2 needs the patched Pingala-8 llama.cpp runtime (CUDA). Stock llama.cpp, Ollama and LM Studio cannot load it. The one-click launcher still downloads version 1; for version 2, download the v2 file and pass it with
-m(How to run).
In short
- All six 2-bit files are between 0.76 and 0.86 GB. That is the file size; the KV cache and working buffers come on top, and this page does not measure them.
- DASH-Q IQ2_M has the best perplexity of the six (13.33). DASH-Q IQ2_XS is second (13.90) and is also the smallest file.
- Pingala-8 version 2 is third (14.06). It is better than both unsloth files and than our own version 1, at the same size as version 1.
- The DASH-Q and unsloth files run in stock llama.cpp. Ours needs our patched CUDA runtime.
How it was measured
- Test: llama.cpp perplexity on the WikiText-2 test set, 72 windows of 4096 tokens. The paired comparison in the table uses 70 windows: for each window we take the loss of version 2 minus the loss of the other file, then average.
- Files: the published DASH-Q (jkim96) and unsloth GGUF files of Qwen3.5-2B, unchanged, and our two Pingala-8 files. Sizes are the exact file sizes in bytes.
- Rival runtime: the DASH-Q and unsloth files ran on llama.cpp upstream at commit
889f2ec. On our machine (RTX 5070 Ti Laptop GPU) the IQ1_S, IQ2_S and IQ3_S CUDA kernels failedtest-backend-ops, so those tensors ran on the CPU; the placement for each file is listed in the eval dataset. What we saw and the workaround: NaN perplexity with IQ1_S, IQ2_S or IQ3_S GGUFs on an RTX 50 laptop GPU. - Our runtime: both Pingala-8 files ran in the patched Pingala-8 llama.cpp runtime (CUDA).
- Not measured here: speed, VRAM in use, and quiz accuracy for version 2.
- Raw data: per-window losses for every file are in the 2-bit GGUF WikiText-2 eval dataset (summary.csv and windows.csv), and the ranking is on the 2-bit GGUF leaderboard. Its last columns compare each file with the top file over 72 windows; the table above compares with Pingala-8 version 2 over 70 paired windows.
Which file should you pick?
- Lowest perplexity under 1 GB: DASH-Q IQ2_M (0.79 GB, 13.33). If you use an RTX 50 GPU, check its IQ2_S and IQ3_S kernels first (how).
- Smallest file: DASH-Q IQ2_XS (0.76 GB, 13.90). It is also better than ours.
- You already run the Pingala-8 runtime: use version 2 (0.78 GB, 14.06) instead of version 1 (15.62). Same size, better on every window.
- Stock llama.cpp, Ollama or LM Studio: a DASH-Q or unsloth file. Ours will not load there.
Pingala-8 and this model
Pingala-8 is a 2-bit format for llama.cpp at IQ2_XXS size: an 8-state trellis code over groups of four weights, after a Hadamard rotation. Version 2 keeps the coder of version 1 and changes how bits are spread across tensors, which took Qwen3.5-2B from 15.62 to 14.06 at the same size. The method is in the paper, DOI 10.5281/zenodo.23481757; the version 2 numbers on this page are new and not in the paper.
The same version 2 recipe on a larger model: Qwen3.8-27B in 8.31 GB runs fully on one 12 GB GPU at 37.7 tokens/s, with WikiText-2 perplexity 6.89. There too DASH-Q IQ2_XS is better (6.54), and unsloth UD-IQ2_S scores 7.34.
Questions people ask
Which 2-bit GGUF of Qwen3.5-2B under 1 GB has the lowest perplexity?
Of the six files we measured, DASH-Q IQ2_M: WikiText-2 perplexity 13.33 in 0.79 GB (786,259,840 bytes). DASH-Q IQ2_XS is second at 13.90 in 0.76 GB. Our Pingala-8 version 2 is third at 14.06 in 0.78 GB.
Is Pingala-8 version 2 better than DASH-Q on Qwen3.5-2B?
No. DASH-Q IQ2_XS (0.76 GB, 13.90) is better: version 2 has the lower loss on only 21 of 70 windows, +0.012 +/- 0.007 nats per token, and the DASH-Q file is 21 MB smaller. DASH-Q IQ2_M (0.79 GB, 13.33) is better too: version 2 has the lower loss on only 3 of 70 windows, +0.053 nats per token.
Is Pingala-8 version 2 better than unsloth's 2-bit Qwen3.5-2B files?
On WikiText-2, yes. Against unsloth UD-IQ2_M (0.86 GB, 14.96), version 2 (0.78 GB, 14.06) is better on 67 of 70 windows, -0.062 +/- 0.009 nats per token, in a file 82 MB smaller. Against unsloth UD-IQ2_XXS (0.77 GB, 23.41) it is better on 70 of 70 windows.
Does a Qwen3.5-2B file under 1 GB fit a 1 GB GPU?
Not necessarily. Under 1 GB here means the file size: all six files are 0.76 to 0.86 GB. Running a model also needs memory for the KV cache and the runtime's working buffers, which this page does not measure. Our GPU fit calculator gives an estimate.
Can I run the version 2 file in Ollama, LM Studio or stock llama.cpp?
No. It needs the patched Pingala-8 llama.cpp runtime (CUDA, NVIDIA RTX 30, 40 or 50 series). The one-click launcher still downloads the version 1 file; to use version 2, download Qwen3.5-2B-Pingala8-2bit-v2.gguf from Hugging Face and pass it with -m. The DASH-Q and unsloth files run in stock llama.cpp.
What changed from version 1 to version 2?
How the bits are spread across tensors. The size stays the same (778,189,408 bytes against 778,744,192) and WikiText-2 perplexity goes from 15.62 to 14.06: version 2 is better on 70 of 70 windows, -0.104 nats per token.
Try Pingala-8
- Qwen3.5-2B Pingala-8 2-bit on Hugging Face (0.78 GB, version 2 file
Qwen3.5-2B-Pingala8-2bit-v2.gguf, patched CUDA runtime) - One-click build for Windows and Linux (NVIDIA RTX 30, 40 or 50 series; downloads version 1)
- Pingala-8 overview: results, comparisons and limits
- 2-bit GGUF leaderboard and its per-window eval dataset
- Paper, DOI 10.5281/zenodo.23481757, and the benchmark dataset
- For AI assistants and coding agents: llms.txt and llms-full.txt
More guides
- How much VRAM do you need to run an LLM locally?
- What is a 2-bit LLM, and is 2-bit quantization usable?
- IQ2_XXS vs IQ2_KT vs Q2_K vs Q4_K_M: which GGUF quant?
- What is perplexity? LLM perplexity in plain English
- How to run Qwen3-4B on a 4 GB or 6 GB GPU
- How to run Llama 3.1 8B on a 4 GB or 6 GB GPU
- What is trellis-coded quantization? TCQ, QTIP and IQ2_KT
- What is Hadamard rotation in LLM quantization?
- Qwen3.8 27B VRAM requirements: which GPU do you need?
- Gemma 4 VRAM requirements: 26B-A4B and 31B
- Can you run gpt-oss-20b on a 12 GB or 16 GB GPU?
- Qwen3.6 35B-A3B on a consumer GPU: VRAM and MoE offload
- NaN perplexity with IQ1_S, IQ2_S or IQ3_S GGUFs on an RTX 50 laptop GPU