File size: 3,232 Bytes
8a2ae5d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
70aa6e4
8a2ae5d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
---
license: apache-2.0
base_model: Qwen/Qwen3.6-27B
tags:
  - quantized
  - gguf
  - 3-bit
  - qwen3.6
  - aard-q3
model_type: qwen3_6
quantized_by: aaardpark
---

# Qwen3.6-27B | aard-Q3

11 GB of Qwen 3.6-27B 

|  | GSM8K (50 problems, 5-shot) |
|---|---|
| **FP16 (full precision)** | **49 / 50 = 98%** |
| **aard-Q3 (this file)** | **47 / 50 = 94%** |

96% of the model's reasoning capacity carries through 3-bit compression.

## Why this 3-bit pack isn't bad

I've been messing around with a new quant method that handles 3 bit pretty well using a new method to preserve important weights. 

## Three sample outputs

**Math:**
> Q: What is 5/8 of 2/3?
>
> A: To find 5/8 of 2/3, multiply the two fractions:
> 5/8 × 2/3 = (5 × 2)/(8 × 3) = 10/24 = **5/12**.

**Factual:**
> Q: What year did the Treaty of Westphalia end the Thirty Years' War, and name two of its key provisions.
>
> A: The Peace of Westphalia was signed in **1648**, ending the Thirty Years' War. Two key provisions:
> 1. **State sovereignty** — each state had exclusive right to govern its internal affairs (religion and military), laying the foundation for the modern sovereign-state system.
> 2. **Religious tolerance** — extended the Peace of Augsburg to recognize Calvinism alongside Lutheranism and Catholicism, ending decades of religious warfare in the Holy Roman Empire.

**Code debug:**
> Q: Find the bug in this Python:
> ```python
> def merge(a, b):
>     result = []
>     i, j = 0, 0
>     while i < len(a) and j < len(b):
>         if a[i] < b[j]:
>             result.append(a[i])
>             i += 1
>         else:
>             result.append(b[j])
>             i += 1
>     result.extend(a[i:])
>     result.extend(b[j:])
>     return result
> ```
>
> A: The bug is in the `else` branch. When `a[i] >= b[j]`, the code appends `b[j]` but increments `i` instead of `j`. The wrong pointer advances, later iterations re-read `b[j]`, and the function eventually walks off the end of `a`. Fix: change `i += 1` in the `else` branch to `j += 1`.

## Quick stats

| | |
|---|---|
| **File** | `qwen3.6-27B-aaardpark-uniform-Q3_K.gguf` |
| **Size** | 11 GB |
| **Format** | GGUF, uniform Q3_K (497 × Q3_K + 1 × Q6_K, 3.59 BPW) |
| **Min VRAM** | 16 GB |
| **Throughput** | ~30 tok/s on Apple M-series |
| **Native context** | 262K (Gated Delta Net linear attention) |

## Run it

```bash
huggingface-cli download aaardpark/Qwen3.6-27B-GGUF \
  qwen3.6-27B-aaardpark-uniform-Q3_K.gguf --local-dir .

llama-cli -m qwen3.6-27B-aaardpark-uniform-Q3_K.gguf -ngl 99 -c 32768
```

Qwen 3.6 is a thinking model — it emits a `<think>…</think>` block before the final answer. Budget at least 2048 tokens (4096 for hard reasoning), or set `enable_thinking=False` if your runtime supports it. Needs llama.cpp build 8670 or later.

## More from aaardpark

- [Qwen 3.5 27B GGUF](https://huggingface.co/aaardpark/Qwen3.5-27B-GGUF) — 11 GB, 96% GSM8K
- [gemma-4-31B-it](https://huggingface.co/aaardpark/gemma-4-31B-it-GGUF) — 15.3 GB, 96% GSM8K
- [Qwen 2.5 72B Instruct](https://huggingface.co/aaardpark/Qwen2.5-72B-Instruct-GGUF) — 35 GB, 88% GSM8K
- [Qwen 2.5 32B Instruct](https://huggingface.co/aaardpark/Qwen2.5-32B-Instruct-GGUF) — 15 GB