L'esecuzione di modelli Mixture-of-Experts (MoE) su CPU/RAM si basa sul principio che la CPU non necessita di estrarre o calcolare tutti i pesi dalla memoria simultaneamente. Solo una frazione dei parametri รจ "attiva" per ogni token, e poichรฉ i calcoli sono approssimativi, il throughput della memoria diventa il collo di bottiglia principale.

Modelli e larghezza di banda

Analizziamo due modelli popolari: GLM-4.7-Flash (3 miliardi di parametri attivi) e GPT OSS 120B (5.1 miliardi di parametri attivi). Con la quantizzazione Q4_K_M, le loro impronte di memoria attiva sono:

  • GLM-4.7-Flash: ~1.7 GB
  • GPT OSS 120B: ~2.55 GB

Consideriamo ora la larghezza di banda teorica rispetto a quella realistica di una DDR5 Dual-Channel:

  • DDR5-4800: 76.8 GB/s
  • DDR5-6000: 96.0 GB/s
  • DDR5-6400: 102.4 GB/s

La larghezza di banda effettiva per l'inferenza LLM si avvicina a 35 GB/s. Quindi:

  • GLM-4.7-Flash: 35 GB/s / 1.7GB = 20.5 token/sec
  • GPT OSS 120B: 35 GB/s / 2.55 GB = 13.7 token/sec

Ottimizzazione hardware (esempio Intel 14700f)

Per raggiungere questi numeri, le impostazioni della CPU e del BIOS devono essere configurate correttamente:

  1. XMP/EXPO: Abilitare il profilo XMP nel BIOS.
  2. Limiti di potenza: Mantenere la CPU alla massima frequenza di boost per saturare il controller di memoria. Aumentare il Power Level (PL1/PL2) a 219W.
  3. Gestione termica: Per evitare il throttling a 219W, รจ necessario un raffreddamento di fascia alta. Si consiglia l'undervolting per mantenere le temperature gestibili senza perdere prestazioni.

Software e compilazione

รˆ consigliabile compilare llama.cpp da codice sorgente con flag ottimizzati per l'architettura specifica (Raptor Lake).

Esecuzione del server

รˆ fondamentale associare il processo ai Performance Cores (P-cores) ed evitare gli Efficiency Cores (E-cores), che possono rallentare i thread ad alta intensitร  di memoria.

Anche se il modello non rientra interamente nella VRAM, llama.cpp puรฒ scaricare specifici livelli sulla GPU, fornendo un aumento di velocitร  alla generazione complessiva.