Zpět na domů

Spuštění MoE GPT-OSS-120B na 6 GB GPU až do 30 t/s

Článek popisuje spuštění 120B modelu MoE GPT-OSS-120B na GPU s 6 GB VRAM až do 30 t/s. Vysvětluje architekturu MoE, parametry -cmoe, --fit pro efektivní distribuce tenzorů mezi CPU a GPU.

30 t/s na 6 GB: optimalizace GPT-OSS-120B MoE
Advertisement 728x90

# 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:

Google AdInline article slot
  • 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.

Google AdInline article slot

Porovnání konfigurací:

| Konfigurace | Obsazené VRAM | Vypočítáno | Efektivita |

|--------------|---------------|------------|------------|

Google AdInline article slot

| 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 exps v 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 zahrnuje ncmoe
  • --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
  • -cmoe vykládá jen attention tenzory na GPU
  • --fit automatizuje výběr parametrů
  • Rychlost 30 t/s na 6 GB VRAM je dosažitelná
  • Vyhnout se ik_llama a auto---t na hybridních CPU

— Editorial Team

Advertisement 728x90

Číst dál