# Optimalizace MoE modelů na slabém GPU: spuštění GPT-OSS-120B s 6 GB VRAM až 30 t/s
Model GPT-OSS-120B s 120B parametry běží na GPU s 6 GB VRAM při rychlosti 30 tokenů/s. Klíčový faktor — použití RAM místo VRAM díky architektuře Mixture of Experts (MoE) a parametru -cmoe. To umožňuje efektivně distribuovat tenzory mezi CPU a GPU bez nutnosti upgradu hardwaru.
Architektura Mixture of Experts
MoE modely aktivují omezený počet expertů z celkového poolu na každé vrstvě. Router (gating network) vybírá 2–4 experty z 128 pro generování tokenu, což snižuje výpočetní zátěž 24krát oproti dense modelům.
Každá vrstva obsahuje:
- Bloky pozornosti (společné tenzory)
- FFN bloky nahrazené skupinou expertů
- Router pro směrování
Experti jsou izolační mini-FFN specializovaní na rozsahy vstupních dat. Při generování tokenu procházejí všechny vrstvy (12–100+), střídají MoE a dense vrstvy.
V dense modelech je FFN monolitický blok, v MoE je to řídká struktura. Celkový objem parametrů je velký, ale aktivních na průchod je malý. Problémy: překryv expertů, neoptimální směrování routeru.
Proč je VRAM neefektivní pro MoE
Vyložení celých MoE vrstev na GPU vede k prostoje: z 128 expertů je aktivních 4, zbytek zabírá VRAM zbytečně. Tenzory pozornosti (společné) mají malý objem, jejich vyložení zajišťuje trvalou zátěž GPU.
Porovnání konfigurací:
| Konfigurace | Obsazené VRAM | Vypočítáno | Efektivita |
|--------------|---------------|------------|------------|
| Vrstvy celé | 16 bloků | 8 bloků | 50% |
| Tenzory attn| 16 bloků | 16 bloků | 100% |
Pro GPT-OSS-120B s -cmoe je zátěž VRAM ~3 GB, rychlost 30 t/s. Dense modely nemají mezery, VRAM je úměrná výpočtům.
Parametry optimalizace v llama.cpp
Hlavní parametr -cmoe / --cpu-moe
Nechává MoE experty (tenzory exps) na CPU, vykládá:
- Tenzory pozornosti všech vrstev
- Společné vrstvy (bez
expsv názvu) - Společné experty (
shexp)
Logika spuštění:
-ngl 999— vše na GPU-cmoe— MoE zpět na CPU
Důležité: Nepoužívat ik_llama pro GPT-OSS-120B.
-ncmoe N / --n-cpu-moe N
Řídí vrstvy na CPU při nadbytku VRAM. GPT-OSS-120B: 37 vrstev.
-cmoe— 3 GB VRAM-ncmoe 30— vyplní do limitu
-ncmoe se ignoruje při -cmoe (priorita posledního).
Nový parametr --fit (prosinec 2025)
Automatické vyplnění VRAM:
--fit— výchozí, pro MoE zahrnujencmoe--fit-ctx 4096— limit kontextu (výchozí 4096 místo 128k)--fit-target 1024— volné VRAM v MB (výchozí 1 GB)
Automaticky nastavuje -fa, -ngl, -t na maximum. Problém: -t = CPU jádra - 1, pro hybridní CPU (E/P jádra) zadat explicitně -t 8.
Další optimalizace paměti
-fa 1— flash attention / swa / mla, auto detekce-ub 4096 -b 4096— kvantizace KV-cache-ctk q8_0 -ctv q8_0— kvantizace kontextu
Nový --models-dir — výměna modelů z UI, --models-max 1 proti OOM.
Co je důležité
- MoE modely (GPT-OSS-120B, DeepSeek V3) vyžadují RAM > VRAM
-cmoevykládá jen attention tenzory na GPU--fitautomatizuje výběr parametrů- Rychlost 30 t/s na 6 GB VRAM je dosažitelná
- Vyhnout se
ik_llamaa auto---tna hybridních CPU
— Editorial Team
Zatím žádné komentáře.