Torna al blog

vLLM può eseguire GGUF? Sì — solo su GPU

23 settembre 2026

La settimana scorsa un lettore chiedeva perché il suo file GGUF fallisce in vLLM su una macchina senza GPU, mentre lo stesso file gira senza problemi in Ollama. Risposta breve, prima di tutto il resto: sì, vLLM esegue GGUF — tramite un plugin ufficiale, solo su GPU. Il plugin si chiama vllm-gguf-plugin, la sintassi è repo:quant_type, e nel momento in cui provi su CPU sei fuori dalla tabella hardware supportata. Tutto ciò che segue viene dalla documentazione vLLM e dallo storico del repository vllm-project/vllm (92.000+ stelle da febbraio 2023) — i documenti, non il mio banco di prova.

Come servi un modello GGUF con vLLM?

Due passaggi: installare il plugin, poi puntare vLLM al modello. Il supporto GGUF non vive più nel core di vLLM — la documentazione nota che è «migrato verso vllm-gguf-plugin», quindi un semplice pip install vllm non basta:

uv pip install vllm-gguf-plugin

# Direttamente da Hugging Face, formato repo_id:quant_type:
vllm serve unsloth/Qwen3-0.6B-GGUF:Q4_K_M 
  --tokenizer Qwen/Qwen3-0.6B

# Oppure un file locale già scaricato:
vllm serve ./Qwen3-0.6B-Q4_K_M.gguf 
  --tokenizer Qwen/Qwen3-0.6B

Il flag --tokenizer non è decorazione. La documentazione ufficiale raccomanda il tokenizer del modello base perché la conversione del tokenizer GGUF è «lunga e instabile, specialmente per modelli con vocabolari grandi». Saltarla significa scambiare un flag di una riga con un avvio lungo e capriccioso.

Due GPU, un modello: aggiungi --tensor-parallel-size 2 per distribuire lo stesso GGUF su entrambe le schede — il tensor parallelism funziona con GGUF come con qualsiasi altro formato.

Perché vLLM rifiuta GGUF su CPU?

È la parte che sorprende. La reputazione del GGUF è CPU prima di tutto — è il formato su cui llama.cpp ha costruito il suo nome, girando su laptop e Raspberry Pi. Dentro vLLM la situazione si inverte. La tabella ufficiale di compatibilità hardware segna GGUF:

HardwareGGUF in vLLM
NVIDIA Volta / Turing / Ampere / Ada / Hoppersupportato
GPU AMDsupportato
GPU Intelnon supportato
CPU x86non supportato
CPU Armnon supportato

Fonte: documentazione quantizzazione vLLM. Il motivo è architetturale: il percorso GGUF di vLLM dequantizza i blocchi verso kernel GPU pensati per il serving a batch. Non c’è un kernel CPU dietro, perché vLLM è un motore di serving, non un giocattolo da laptop. Senza GPU sulla macchina nessun flag ti salva — usa llama.cpp.

Cosa si rompe: la lista onesta dei limiti

La stessa pagina della documentazione porta un avviso che merita la citazione letterale: «il supporto GGUF in vLLM è altamente sperimentale e poco ottimizzato». Concretamente:

  • La copertura delle quantizzazioni è più stretta di llama.cpp. I K-quant che tutti scaricano (Q4_K_M e compagnia) funzionano; gli schemi esotici non sempre. llama.cpp resta l’implementazione di riferimento del formato.
  • Il supporto alle architetture arriva tardi. Le nuove famiglie di modelli atterrano prima in llama.cpp; il plugin segue.
  • Niente caricamento lazy via mmap. llama.cpp mappa il file in memoria; vLLM lo carica come qualsiasi checkpoint.
  • È prima di tutto una funzione di impronta di memoria. La documentazione inquadra GGUF come modo per ridurre l’uso di VRAM, non come scommessa sul throughput.

Nulla di questo è nascosto. È tutto nel primo paragrafo della pagina ufficiale GGUF — più di quanto la maggior parte delle funzionalità sperimentali conceda.

vLLM o llama.cpp per GGUF: chi vince?

Strumenti diversi che leggono lo stesso file:

vLLM + GGUFllama.cpp
Inferenza su CPUnosì, di prima classe
Utenti simultaneicontinuous batching, fatto per quellolimitato
Copertura dei quantsottoinsieme, sperimentaleil riferimento
InstallazionevLLM + pluginun binario
Ideale peruna GPU, molti utentiun utente, qualsiasi hardware

Se servi un modello a un team da una singola GPU, vLLM + GGUF ti permette di riutilizzare gli stessi file Q4_K_M che condivide il resto del mondo local-LLM — con più scelta nella nostra guida alla quantizzazione GGUF. Per il confronto completo tra engine, vedi llama.cpp vs Ollama e come eseguire modelli GGUF in locale.

La regola in una riga: stesso file, istinti opposti — llama.cpp tratta GGUF come IL formato, vLLM come un’opzione.

FAQ

vLLM può eseguire modelli GGUF?

Sì. Installa il vllm-gguf-plugin e servi con la sintassi repo:quant_type — ma solo su GPU. Il percorso CPU di vLLM non copre GGUF.

vLLM esegue GGUF su CPU?

No. La tabella ufficiale di compatibilità hardware segna GGUF come non supportato su CPU x86 e Arm — llama.cpp o Ollama restano la via CPU.

Servire GGUF con vLLM o llama.cpp?

vLLM quando una sola GPU deve servire più utenti simultanei; llama.cpp quando la macchina non ha GPU o vuoi la copertura di quantizzazione più ampia.

— mrsaynothing

— mrsaynothing

Note sul campo su AI, Linux e self-hosting.

Ricevi il prossimo how-to via email

Una email per articolo. Sistemi e vai avanti.

self-hosted · nessun terzo · disiscrizione con un clic

che cos'è?

128k di contesto sul desktop? Una bugia. La cache KV li ha mangiati.

Ti piacciono gli articoli? È così che costruisco per lavoro. assumimi