AdaLLM è un progetto focalizzato sull'abilitazione dell'inference NVFP4 ad alte prestazioni su GPU Ada Lovelace (architettura sm_89), come la RTX 4090. L'obiettivo principale è fornire un percorso rapido NVFP4 puro, con cache KV FP8 e un kernel di decodifica FP8 personalizzato, senza ricorrere a FP16.

Caratteristiche Principali

  • Runtime NVFP4-first per GPU Ada, testato su RTX 4090, con cache KV FP8 end-to-end.
  • Kernel di decodifica FP8 personalizzato basato su Triton; il prefill utilizza FlashAttention (varlen).
  • Nessun fallback a FP16 per la decodifica. In caso di errore del kernel FP8, il sistema genera un errore invece di passare silenziosamente a FP16.
  • Parallelismo tensoriale (NCCL) + CUDA graphs per la decodifica (supporta anche la modalità eager).

Benchmark (RTX 4090)

Le seguenti tabelle mostrano i benchmark di AdaLLM su una RTX 4090 con modelli Qwen3-8B-NVFP4 e Gemma3-27B-it-NVFP4.

Qwen3-8B-NVFP4

batch total tokens seconds tok/s peak GB
1 128 3.3867 37.79 7.55
2 256 3.5471 72.17 7.55
4 512 3.4392 148.87 7.55
8 1024 3.4459 297.16 7.56
16 2048 4.3636 469.34 7.56

Gemma3-27B-it-NVFP4

batch total tokens seconds tok/s peak GB
1 128 9.3982 13.62 19.83
2 256 9.5545 26.79 19.83
4 512 9.5344 53.70 19.84

Per Qwen3-8B-NVFP4, è stata osservata una VRAM di picco inferiore di circa 2.4x rispetto alle baseline Qwen3-8B FP16 (con una perdita di throughput di circa il 20-25%).

Installazione Rapida

pip install git+https://github.com/BenChaliah/NVFP4-on-4090-vLLM.git
adallm serve nvidia/Qwen3-8B-NVFP4

export NVFP4_FP8=1 è opzionale e abilita il percorso FP8 GEMM (NVFP4_FP8=0: la differenza è nella precisione di calcolo, non nella VRAM; la cache KV FP8 e il kernel di decodifica FP8 sono comunque utilizzati).

Modelli Supportati

  • nvidia/Qwen3-8B-NVFP4
  • BenChaliah/Gemma3-27B-it-NVFP4
  • Le varianti Qwen3 MoE sono supportate, ma ancora lente (vedere il README per le note su MoE).

Limitazioni

  • I percorsi di routing e offload MoE non sono ancora completamente ottimizzati.
  • Solo pesi NVFP4, nessun fallback FP16 per la decodifica per progettazione.
  • Targeting su Ada Lovelace (sm_89). Richiede convalida su altre schede Ada.

Per chi valuta deployment on-premise, esistono trade-off da considerare. AI-RADAR offre framework analitici su /llm-onpremise per valutare questi aspetti.