A múltkor azt írtam, hogy a 35B-A3B GPU-only üzemmódban elég jól megy az RTX 4090-en, de a 100k kontextus után eltalálja a VRAM falat. Gondoltam, kipróbálom ezt az új CPU-MoE feature-t a llama.cpp-ben, hátha ki tudom nyomni a 33 GB expert súlyt a system RAM-ba, és így marad hely a KV cache-nek a full 256k kontextushoz.
Bevallom előre: működik, de megvan az ára. Nem is kicsi.
Mit próbáltam?
A lényeg, hogy a --cpu-moe flaggel a modell MoE expert súlyait nem a GPU VRAM-jába töltöd be, hanem a rendszermemóriába. Minden decode tokennél a routing gate eldönti, melyik expert kell (ez 8+1 shared a 256-ból), és azokat on-the-fly DMA-zod át CPU-RAM-ból a GPU-ba.