Qwen 3.6: 35B vs 27B összehasonlítás - teszteredmények
A minap végre összegeztem az összes Qwen 3.6-os modellteszt eredményemet, amit az elmúlt napokban gyűjtöttem össze. Két modellt hasonlítottam össze részletesen: a Qwen3.6-35B-A3B-t (MoE, hybrid attention/delta) és a Qwen3.6-27B-t (dense, hybrid attention/delta). Mindkettőt turbo3 KV cache kompresszióval futtattam RTX 4090-en, llama.cpp szerverként.
Ha röviden akarnám összefoglalni: a 35B-A3B 3-4× gyorsabb mindenben, de a 27B jobb minőséget ad. Ez a klasszikus MoE vs. dense tradeoff, csak éppen számokkal alátámasztva.
Architektúra - mi a különbség?#
A két modell ugyanabból a Qwen3.6 családból való, mindkettő hybrid Mamba/attention architektúrát használ, de a megközelítésük teljesen más:
35B-A3B:
- 35B összes paraméter, de csak 3B aktív tokenenként
- 40 réteg: 10 × (3× Gated DeltaNet → MoE) + 1 × (Gated Attention → MoE) blokkonként
- Csak 10 réteg full attention (GQA, 16Q/2KV, 256-dimenziós)
- 30 réteg Gated DeltaNet (rekurrens, nincs KV cache)
- MoE routing: 8+1 shared expert 256 expertből
- Natív kontextus: 262.144 token
27B Dense:
- 27B összes paraméter, 27B aktív tokenenként (minden paraméter bekapcsol)
- 64 réteg: 16 × (3× Gated DeltaNet → FFN) + 1 × (Gated Attention → FFN) blokkonként
- Csak 16 réteg full attention (GQA, 24Q/4KV, 256-dimenziós)
- 48 réteg Gated DeltaNet (rekurrens, nincs KV cache)
- Sűrű FFN - nincs MoE, minden tokennél mindent kiszámol
- Natív kontextus: 262.144 token
A lényeg: a 35B-A3B-ben 256 expert közül csak 9-et hív meg tokenenként, míg a 27B minden paraméterét le kell forgatnia. Ez 9×-kevesebb számítást jelent tokenenként.
Needle-In-Haystack (NIAH) - hosszú kontextus keresés#
Ez a teszt azt méri, hogy a modell képes-e megtalálni egy kulcsfontosságú információt egy hatalmas szövegben. A tűként (needle) egy mondat, amit valahova a szénakazalba (haystack) rejtettem, és a modellnek ki kell hoznia onnan.
35B-A3B (IQ4_XS quant, turbo3 KV cache):
| Kontextus | 0% | 5% | 25% | 50% | 75% | 100% |
|---|---|---|---|---|---|---|
| 4k | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| 8k | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| 16k | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| 32k | 1.0 | - | 1.0 | 1.0 | - | 1.0 |
| 64k | 1.0 | - | 1.0 | 1.0 | - | 1.0 |
| 128k | 1.0 | - | 1.0 | 1.0 | 1.0 | 1.0 |
| 200k | 1.0 | - | - | 1.0 | - | 1.0 |
Összesen: 100% (74/74 teszt) - minden kontextushossznál, minden mélységi pozíciónál tökéletes.
27B (UD-Q5_K_XL quant, turbo3 KV cache):
| Kontextus | 0% | 5% | 25% | 50% | 75% | 100% |
|---|---|---|---|---|---|---|
| 4k | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| 8k | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| 16k | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| 32k | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| 64k | 1.0 | - | 1.0 | 1.0 | 1.0 | 1.0 |
| 100k | 1.0 | - | 1.0 | 1.0 | 1.0 | 1.0 |
| 130k | 1.0 | - | 1.0 | 1.0 | 1.0 | 1.0 |
Összesen: 100% (78/78 teszt) - szintén tökéletes mindenhol.
Ítélet: Mindkét modell tökéletes NIAH eredményt produkál, turbo3 KV cache quantizáció mellett semmilyen degradációt nem tapasztaltam. A 35B-A3B-t magasabb kontextushosszig teszteltem (200k vs 130k), de a 27B is stabilan 100%-ot adott az összes tesztelt ponton.
Token generálási sebesség - a nagy különbség#
Itt válik igazán látványossá a MoE vs. dense különbség. RTX 4090-en, turbo3 KV cache mellett:
Decode (token generálás):
| Kontextus | 35B-A3B (tok/s) | 27B (tok/s) | Arány |
|---|---|---|---|
| Rövid ctx (csúcs) | 161.8 | 40.3 | 4.0× |
| 4k | 152.6 | 38.7 | 3.9× |
| 8k | 142.7 | 36.5 | 3.9× |
| 16k | 122.2 | 32.4 | 3.8× |
| 32k | 96.0 | 28.1 | 3.4× |
| 64k | 65.4 | 18.6 | 3.5× |
| 100k+ | ~55 (becsült) | 16.6 | ~3.3× |
Prefill (prompt feldolgozás):
| Kontextus | 35B-A3B (tok/s) | 27B (tok/s) | Arány |
|---|---|---|---|
| Csúcs | 5912 (4k-nál) | 2620 (4k-nál) | 2.3× |
| 4k | 5912 | 2620 | 2.3× |
| 16k | 5441 | 2610 | 2.1× |
| 32k | 5271 | 2331 | 2.3× |
| 64k | 4688 | 1959 | 2.4× |
| 100k | ~4200 (becsült) | 1733 | 2.4× |
Mit jelent ez a gyakorlatban?
A 35B-A3B 3,5-4×-gyorsabb token generálásnál. Ez azt jelenti, ha a 27B 10 másodperc alatt ír egy bekezdést, a 35B-A3B ugyanazt 2,5 másodperc alatt megcsinálja. Prefillnél is hasonló a kép: 2-2,4× gyorsabb promptfeldolgozás.
Az érdekesség, hogy a 35B-A3B-nek több paramétere van összesen (35B vs 27B), de mégis sokkal gyorsabb, mert tokenenként csak 3B-t kell betölteni és feldolgozni a MoE routing miatt. A 27B minden paraméterét le kell forgatnia minden tokennél.
VRAM és kontextus kapacitás#
Ez az, ahol a 35B-A3B igazán király:
| 35B-A3B (IQ4_XS) | 35B-A3B (Q4_K_S) | 27B (UD-Q5_K_XL) | |
|---|---|---|---|
| Modell méret | 17,7 GB | 20,9 GB | 18,65 GB |
| VRAM idle | ~20400 MB | ~22700 MB | ~22900 MB |
| Max kontextus | 262k | 188k | 156k |
| VRAM szabad maximumnál | ~3600 MB | ~1300 MB | ~1134 MB |
Fontos megjegyzés: a 35B-A3B 262k kontextusa IQ4_XS quanttal érhető el. Ugyanazzal a Q4_K_S quanttal (ami közelebb áll a 27B UD-Q5_K_XL-jéhez) 188k a max. Ez is több, mint a 27B 156k-ja, de nem olyan drámai, mint a 262k.
A lényeg: a 35B-A3B MoE architektúrája miatt kevesebb VRAM-ot fogyaszt tokenenként, mert csak 3B paramétert kell betölteni a forward pass során. Ez több helyet hagy a KV cache-nek.
A teszteket nem csak a turbo3 KV cache kompresszió hordozza, hanem a Sparse V (attention-gated value dequantization) technika is. Ez egy olyan optimalizálás, ami a flash attention kernelben a softmax súlyok alapján kiszűri azokat a pozíciókat, ahol az attention weight elhanyagolható (10⁻⁶ alatt), és ott nem végzi el a V (value) dequantizációt. A lényeg: ahelyett, hogy minden pozíció dequantizációját próbáljuk meggyorsítani (ami hardveres korlátokba ütközik), egyszerűen kihagyjuk a felesleges műveleteket. Hosszú kontextusnál ez akár 22,8% decode sebességnövekedést is jelent, minőségromlás nélkül. És ami a legjobb: ez a technika nem turboquant-specifikus, hanem bármilyen kvantizált KV cache formátumra működik (q8_0, q4_0, turbo3 is), mert az attention eloszláson alapul, nem a dequant mechanizmuson.
Minőség - ahol a 27B nyer#
A Qwen hivatalos benchmark eredményei alapján a 27B minden egyes benchmarkon felülírja a 35B-A3B-t:
| Benchmark | 35B-A3B | 27B | Győztes |
|---|---|---|---|
| SWE-bench Verified | 73.4 | 77.2 | 27B |
| SWE-bench Pro | 49.5 | 53.5 | 27B |
| Terminal-Bench 2.0 | 51.5 | 59.3 | 27B |
| SkillsBench | 28.7 | 48.2 | 27B (+19.5!) |
| MMLU-Pro | 85.2 | 86.2 | 27B |
| GPQA Diamond | 86.0 | 87.8 | 27B |
| AIME 2026 | 92.7 | 94.1 | 27B |
| LiveCodeBench v6 | 80.4 | 83.9 | 27B |
| HLE | 21.4 | 24.0 | 27B |
| QwenWebBench | 1397 | 1487 | 27B |
A különleges kiemelkedés a SkillsBench: +19.5 pont a 27B javára. Ez a kódolási ügynök (coding agent) feladatokra specializálódott benchmark, és ott a 27B mennyire verhetetlen. Hasonlóan nagy a különbség Terminal-Bench-ben (+7.8) és SWE-bench-ben (+3-4).
Összegzés - melyiket válasszam?#
35B-A3B esetén:
- 🚀 3-4× gyorsabb generálás
- 📏 Több kontextus (188k-262k vs 156k)
- Szuper RAG-hoz, hosszú beszélgetésekhez, nagy throughput-hoz
- Minőség: nagyon jó, szinte ugyanazon a szinten a 27B-vel
27B Dense esetén:
- 🏆 Jobb minőség minden benchmarkon
- Kiemelten jobb kódolási ügynök feladatoknál (SkillsBench: +19.5)
- Lassabb, de ha a minőség a cél, akkor megéri a várakozás
- Kevesebb kontextus (156k max)
Gyakorlati tanácsom:
Ha RAG-ot futtatsz, hosszú kontextusú beszélgetéseket vezetsz, vagy egyszerűen csak szeretnéd, ha a válaszok gyorsan jönnek - 35B-A3B. Ha viszont kódolási ügynököt futtatsz, komplex logikai feladatokat oldasz meg, vagy a minőség a legfontosabb - akkor 27B.
Mindkét modell csodálatosan működik turbo3 KV cache-compresszióval, és mindkettőnél 100%-os a NIAH eredmény. A turbo3 nem ront semmin, sőt - a VRAM-megtakarítás miatt egyáltalán nem kellett kompromisszumot kötni a kontextus hosszával.