L'ottimizzazione dell'inference per modelli linguistici di grandi dimensioni (LLM) è un'area di ricerca e sviluppo cruciale.

Incremento di performance con ik_llama.cpp

Un utente ha segnalato un incremento di performance notevole utilizzando la fork ik_llama.cpp di llama.cpp per l'inference del modello Qwen 3.5 27B. Su una workstation Lenovo ThinkStation P520 con processore Xeon W-2295 18-core, 128GB di RAM DDR4 ECC e una NVIDIA RTX PRO 4000 Blackwell (24GB GDDR7), i risultati sono i seguenti:

  • Valutazione del prompt: da ~43 token/sec a 1,122 token/sec (26x più veloce)
  • Generazione: da ~7.5 token/sec a 26 token/sec (3.5x più veloce)

La differenza è attribuita all'implementazione di kernel GDN (Gated Delta Network) fusi in ik_llama.cpp, che gestiscono l'intera computazione sulla GPU CUDA, riducendo gli split del grafo da 34 a 2. Questo minimizza il coinvolgimento della CPU durante l'inference.

Bug della rielaborazione completa del prompt

L'architettura ricorrente di Qwen 3.5 forza ancora la rielaborazione completa del prompt ad ogni turno quando il prompt cambia. Tuttavia, con una velocità di 1,122 token/sec, questo problema diventa più tollerabile.

Dove scaricare

Binari precompilati per Windows CUDA 12.8 con AVX512 VNNI sono disponibili dalla fork Thireus: https://github.com/Thireus/ik_llama.cpp/releases.

Si tratta di una sostituzione diretta per la cartella llama-server esistente, con gli stessi argomenti da riga di comando e la stessa API compatibile con OpenAI sulla porta 1234.

Per sistemi con AVX512 VNNI, scaricare: ik_llama-main-b4370-4d7223c-bin-win-cuda-12.8-x64-avx512_vnni.zip

Chi utilizza Qwen 3.5 su llama.cpp potrebbe riscontrare lentezza. I kernel GDN fusi di ik_llama.cpp non sono ancora presenti nella versione principale.