GLM-5.2 CPU-Inferenz auf EPYC 9654: Nutzer teilt llama.cpp Launch-Skript
Der Reddit-Nutzer TurnoverTight395 betreibt GLM-5.2 im GGUF-Format (Quantisierung UD-Q4_K_M, aufgeteilt auf 11 Shards) ausschließlich über die CPU eines AMD EPYC 9654-Systems. Das Skript `start_glm52_ultimate.sh` setzt gezielt NUMA-Verteilung über alle vier NUMA-Knoten (NPS=4) ein und bindet alle 96 physischen Kerne per `taskset -c 0-95` ein – Hyperthreading ist deaktiviert. Bemerkenswert ist die Nutzung von GLM-5.2-spezifischen llama.cpp-Flags: `-mla 3` aktiviert Multi-Head Latent Attention auf Stufe 3, `--dsa` schaltet DSA Sparse Attention ein, und `--fused-indexer-topk` sowie `-mqkv`/`-muge` sind weitere modellspezifische Optimierungen. Der KV-Cache wird durchgehend auf Q8_0 quantisiert, um den RAM-Bedarf zu senken, während der Kontext auf 131.072 Tokens gesetzt ist. Trotz einer theoretischen DDR5-Speicherbandbreite von rund 460 GB/s (4800 MHz, 768 GB Kapazität) verbleibt der Decode-Durchsatz bei nur 5–9 Tokens pro Sekunde – ein klassisches Speicherbandbreiten-Bottleneck bei großen unquantisierten Gewichten. Die verfügbare RTX Pro 6000 Max Q mit 96 GB VRAM wird im Skript bewusst nicht genutzt, was die Frage aufwirft, ob ein GPU-Offload zumindest für die Attention-Layer sinnvoll wäre. Der Nutzer fragt die Community, ob Parameter-Anpassungen – etwa bei Batch-Size, ubatch oder NUMA-Strategie – nennenswerte Verbesserungen bringen könnten.
- Modell-Sharding: GLM-5.2-UD-Q4_K_M ist auf 11 GGUF-Dateien aufgeteilt (00001-of-00011).
- Kontextfenster: 131.072 Tokens bei Batch-Size 2048 und Micro-Batch (ubatch) 512.
- RAM-Locking: Das Skript versucht per `ulimit -l unlimited` und `--mlock` das Modell dauerhaft im RAM zu halten und leert zuvor explizit den Page-Cache via /proc/sys/vm/drop_caches.
- GPU bleibt ungenutzt: Die RTX Pro 6000 Max Q (96 GB VRAM) ist im System verbaut, wird im Skript aber nicht für Offloading verwendet.
- OMP-Konfiguration: OMP_PROC_BIND=TRUE und OMP_PLACES=cores sollen Thread-Migration verhindern und die Cache-Lokalität auf dem EPYC maximieren.
Frag die KI zum Artikel
Folgefragen zu Headline, Quelle und Volltext — Antwort streamt in wenigen Sekunden.
GLM-5.2 CPU-Inferenz auf EPYC 9654: Nutzer teilt llama.cpp Launch-Skript
Der Reddit-Nutzer TurnoverTight395 betreibt GLM-5.2 im GGUF-Format (Quantisierung UD-Q4_K_M, aufgeteilt auf 11 Shards) ausschließlich über die CPU eines AMD EPYC 9654-Systems. Das Skript `start_glm52_ultimate.sh` setzt gezielt NUMA-Verteilung über alle vier NUMA-Knoten (NPS=4) ein und bindet alle 96 physischen Kerne per `taskset -c 0-95` ein – Hyperthreading ist deaktiviert. Bemerkenswert ist die Nutzung von GLM-5.2-spezifischen llama.cpp-Flags: `-mla 3` aktiviert Multi-Head Latent Attention auf Stufe 3, `--dsa` schaltet DSA Sparse Attention ein, und `--fused-indexer-topk` sowie `-mqkv`/`-muge` sind weitere modellspezifische Optimierungen. Der KV-Cache wird durchgehend auf Q8_0 quantisiert, um den RAM-Bedarf zu senken, während der Kontext auf 131.072 Tokens gesetzt ist. Trotz einer theoretischen DDR5-Speicherbandbreite von rund 460 GB/s (4800 MHz, 768 GB Kapazität) verbleibt der Decode-Durchsatz bei nur 5–9 Tokens pro Sekunde – ein klassisches Speicherbandbreiten-Bottleneck bei großen unquantisierten Gewichten. Die verfügbare RTX Pro 6000 Max Q mit 96 GB VRAM wird im Skript bewusst nicht genutzt, was die Frage aufwirft, ob ein GPU-Offload zumindest für die Attention-Layer sinnvoll wäre. Der Nutzer fragt die Community, ob Parameter-Anpassungen – etwa bei Batch-Size, ubatch oder NUMA-Strategie – nennenswerte Verbesserungen bringen könnten.
- Modell-Sharding: GLM-5.2-UD-Q4_K_M ist auf 11 GGUF-Dateien aufgeteilt (00001-of-00011).
- Kontextfenster: 131.072 Tokens bei Batch-Size 2048 und Micro-Batch (ubatch) 512.
- RAM-Locking: Das Skript versucht per `ulimit -l unlimited` und `--mlock` das Modell dauerhaft im RAM zu halten und leert zuvor explizit den Page-Cache via /proc/sys/vm/drop_caches.
- GPU bleibt ungenutzt: Die RTX Pro 6000 Max Q (96 GB VRAM) ist im System verbaut, wird im Skript aber nicht für Offloading verwendet.
- OMP-Konfiguration: OMP_PROC_BIND=TRUE und OMP_PLACES=cores sollen Thread-Migration verhindern und die Cache-Lokalität auf dem EPYC maximieren.
Frag die KI zum Artikel
Folgefragen zu Headline, Quelle und Volltext — Antwort streamt in wenigen Sekunden.