Confronto delle prestazioni dei LLM su Ollama con una GPU da 16 GB di VRAM
Test di velocità LLM su RTX 4080 con 16 GB di VRAM
Esecuzione di modelli linguistici di grandi dimensioni in locale offre riservatezza, funzionalità offline e costi API pari a zero. Questo benchmark rivela esattamente cosa ci si può aspettare da 14 popolari LLM su Ollama su una RTX 4080.
Con una GPU da 16GB di VRAM, ho affrontato un costante compromesso: modelli più grandi con una qualità potenzialmente migliore, o modelli più piccoli con un’inferenza più veloce. Per maggiori dettagli sulle prestazioni LLM — throughput rispetto alla latenza, limiti VRAM, richieste parallele e benchmark tra runtime diversi — consultare Prestazioni LLM: Benchmark, Colli di Bottiglia e Ottimizzazione.
Questo articolo si concentra su Ollama. Per la stessa classe di GPU da 16 GB misurata con llama.cpp a 19K, 32K e 64K di contesto (VRAM, carico GPU, token al secondo tra checkpoint densi e MoE), consultare Benchmark LLM con 16 GB VRAM con llama.cpp (velocità e contesto).
Una volta che le prestazioni e la divisione della VRAM appaiono accettabili, i carichi di lavoro di tipo agentistico necessitano comunque di preset sensati per temperatura e penalità per stack in stile Qwen e Gemma; consultare Parametri di inferenza agentistica per Qwen e Gemma.

TL;DR
Ecco la tabella di confronto aggiornata delle prestazioni LLM su RTX 4080 16GB con Ollama 0.17.7, (09/03/2026) aggiunti i modelli Qwen 3.5 9b, 9bq8, 27b e 35b:
| Modello | RAM+VRAM Usata | Divisione CPU/GPU | Token/sec |
|---|---|---|---|
| gpt-oss:20b | 14 GB | 100% GPU | 139,93 |
| qwen3.5:9b | 9,3 GB | 100% GPU | 90,89 |
| ministral-3:14b | 13 GB | 100% GPU | 70,13 |
| qwen3:14b | 12 GB | 100% GPU | 61,85 |
| qwen3.5:9b-q8_0 | 13 GB | 100% GPU | 61,22 |
| qwen3-coder:30b | 20 GB | 25%/75% CPU/GPU | 57,17 |
| qwen3-vl:30b-a3b | 22 GB | 30%/70% CPU/GPU | 50,99 |
| glm-4.7-flash | 21 GB | 27%/73% CPU/GPU | 33,86 |
| nemotron-3-nano:30b | 25 GB | 38%/62% CPU/GPU | 32,77 |
| qwen3.5:35b | 27 GB | 43%/57% CPU/GPU | 20,66 |
| devstral-small-2:24b | 19 GB | 18%/82% CPU/GPU | 18,67 |
| mistral-small3.2:24b | 19 GB | 18%/82% CPU/GPU | 18,51 |
| gpt-oss:120b | 66 GB | 78%/22% CPU/GPU | 12,64 |
| qwen3.5:27b | 24 GB | 43%/57% CPU/GPU | 6,48 |
Insight chiave: I modelli che si adattano completamente nella VRAM sono drasticamente più veloci. GPT-OSS 20B raggiunge 139,93 token/sec, mentre GPT-OSS 120B con un pesante offloading sulla CPU striscia a 12,64 token/sec — una differenza di velocità di 11 volte.
Configurazione Hardware del Test
Il benchmark è stato condotto sul seguente sistema:
- GPU: NVIDIA RTX 4080 con 16GB di VRAM
- CPU: Intel Core i7-14700 (8 core P + 12 core E)
- RAM: 64GB DDR5-6000
Questo rappresenta una configurazione consumer high-end comune per l’inferenza LLM locale. La VRAM da 16GB è il vincolo critico: determina quali modelli vengono eseguiti completamente sulla GPU rispetto a quelli che richiedono l’offloading sulla CPU.
Capire come Ollama utilizza i core CPU Intel diventa importante quando i modelli superano la capacità VRAM, poiché le prestazioni della CPU influenzano direttamente la velocità di inferenza dei layer offloadati.
Scopo di questo Benchmark
L’obiettivo principale era misurare la velocità di inferenza in condizioni realistiche. Sapevo già dall’esperienza che Mistral Small 3.2 24B eccelle nella qualità della lingua, mentre Qwen3 14B offre un migliore seguire delle istruzioni per i miei casi d’uso specifici.
Questo benchmark risponde alla domanda pratica: Quanto velocemente ogni modello può generare testo e qual è la penalità di velocità per i limiti VRAM superati?
I parametri del test sono stati:
- Dimensione del contesto: 19.000 token. Questo è il valore medio nelle mie richieste Generate.
- Prompt: “compare weather and climate between capital cities of australia”
- Metrica: eval rate (token al secondo durante la generazione)
Installazione e Versione di Ollama
Tutti i test hanno utilizzato la versione 0.15.2 di Ollama, l’ultimo rilascio al momento del test. Successivamente rieseguito con Ollama v 0.17.7 - per aggiungere i modelli Qwen3.5. Per un riferimento completo dei comandi Ollama utilizzati in questo benchmark, consultare la Scheda rapida Ollama.
Per una rapida sintesi - installazione di Ollama su Linux:
curl -fsSL https://ollama.com/install.sh | sh
Verifica dell’installazione:
ollama --version
Se è necessario archiviare i modelli su un’unità diversa a causa di vincoli di spazio, consulta come spostare i modelli Ollama su un’unità diversa.
Modelli Testati
I seguenti modelli sono stati sottoposti a benchmark, in ordine alfabetico:
| Modello | Parametri | Quantizzazione | Note |
|---|---|---|---|
| devstral-small-2:24b | 24B | Q4_K_M | Focalizzato sul codice |
| glm-4.7-flash | 30B | Q4_K_M | Modello di ragionamento |
| gpt-oss:20b | 20B | Q4_K_M | Il più veloce in assoluto |
| gpt-oss:120b | 120B | Q4_K_M | Il più grande testato |
| ministral-3:14b | 14B | Q4_K_M | Il modello efficiente di Mistral |
| mistral-small3.2:24b | 24B | Q4_K_M | Forte qualità linguistica |
| nemotron-3-nano:30b | 30B | Q4_K_M | Offerta di NVIDIA |
| qwen3:14b | 14B | Q4_K_M | Miglior seguire delle istruzioni |
| qwen3.5:9b | 9B | Q4_K_M | Veloce, completamente su GPU |
| qwen3.5:9b-q8_0 | 9B | Q8_0 | Qualità superiore, completamente su GPU |
| qwen3.5:27b | 27B | Q4_K_M | Qualità eccellente, lento su Ollama |
| qwen3-vl:30b-a3b | 30B | Q4_K_M | Capacità visiva |
| qwen3-coder:30b | 30B | Q4_K_M | Focalizzato sul codice |
| qwen3.5:35b | 35B | Q4_K_M | Buone capacità di codifica |
Per scaricare qualsiasi modello:
ollama pull gpt-oss:20b
ollama pull qwen3:14b
Comprensione dell’Offloading CPU
Quando i requisiti di memoria di un modello superano la VRAM disponibile, Ollama distribuisce automaticamente i layer del modello tra la GPU e la RAM di sistema. L’output mostra questo come una ripartizione percentuale come “18%/82% CPU/GPU”.
Questo ha implicazioni enormi sulle prestazioni. Ogni generazione di token richiede il trasferimento di dati tra la memoria CPU e quella della GPU — un collo di bottiglia che si accumula con ogni layer offloadato alla CPU.
Il pattern è chiaro dai nostri risultati:
- Modelli 100% GPU: 61-140 token/sec
- Modelli 70-82% GPU: 19-51 token/sec
- 22% GPU (principalmente CPU): 12,6 token/sec
Questo spiega perché un modello da 20B parametri può superare un modello da 120B per 11 volte nella pratica. Se si prevede di gestire più richieste concorrenti, capire come Ollama gestisce le richieste parallele diventa essenziale per la pianificazione della capacità. La ripartizione CPU-offload sopra è in realtà un problema di budget per la KV-cache e i pesi in incognito — KV Cache su GPU da 16 GB passa in rassegna le esatte matematiche e le impostazioni OLLAMA_KV_CACHE_TYPE che ti permettono di recuperare spazio senza passare a un modello più piccolo.
Risultati Dettagliati del Benchmark
Modelli che funzionano al 100% su GPU
GPT-OSS 20B — Il Campione di Velocità
ollama run gpt-oss:20b --verbose
/set parameter num_ctx 19000
NAME SIZE PROCESSOR CONTEXT
gpt-oss:20b 14 GB 100% GPU 19000
eval count: 2856 token(s)
eval duration: 20.410517947s
eval rate: 139.93 tokens/s
A 139,93 token/sec, GPT-OSS 20B è il chiaro vincitore per le applicazioni in cui la velocità è critica. Utilizza solo 14GB di VRAM, lasciando margine per finestre di contesto più grandi o altri carichi di lavoro GPU.
Qwen3 14B — Eccellente Equilibrio
ollama run qwen3:14b --verbose
/set parameter num_ctx 19000
NAME SIZE PROCESSOR CONTEXT
qwen3:14b 12 GB 100% GPU 19000
eval count: 3094 token(s)
eval duration: 50.020594575s
eval rate: 61.85 tokens/s
Qwen3 14B offre il miglior seguire delle istruzioni a mio avviso, con un ingombro di memoria confortevole di 12GB. A 61,85 token/sec, è abbastanza reattivo per un uso interattivo.
Per gli sviluppatori che integrano Qwen3 nelle applicazioni, consultare Output Strutturato LLM con Ollama e Qwen3 per l’estrazione di risposte JSON strutturate.
Ministral 3 14B — Veloce e Compatto
ollama run ministral-3:14b --verbose
/set parameter num_ctx 19000
NAME SIZE PROCESSOR CONTEXT
ministral-3:14b 13 GB 100% GPU 19000
eval count: 1481 token(s)
eval duration: 21.11734277s
eval rate: 70.13 tokens/s
Il modello più piccolo di Mistral offre 70,13 token/sec adattandosi completamente nella VRAM. Una scelta solida quando si necessita della qualità della famiglia Mistral alla massima velocità.
qwen3.5:9b - veloce e nuovo
ollama run qwen3.5:9b --verbose
/set parameter num_ctx 19000
compare weather and climate between capital cities of australia
NAME ID SIZE PROCESSOR CONTEXT
qwen3.5:9b 6488c96fa5fa 9.3 GB 100% GPU 19000
eval count: 3802 token(s)
eval duration: 41.830174597s
eval rate: 90.89 tokens/s
qwen3.5:9b-q8_0 - quantizzazione q8
Questa quantizzazione riduce le prestazioni di qwen3.5:9b del 30% rispetto alla q4.
ollama run qwen3.5:9b-q8_0 --verbose
/set parameter num_ctx 19000
compare weather and climate between capital cities of australia
NAME ID SIZE PROCESSOR CONTEXT
qwen3.5:9b-q8_0 441ec31e4d2a 13 GB 100% GPU 19000
eval count: 3526 token(s)
eval duration: 57.595540159s
eval rate: 61.22 tokens/s
Modelli che richiedono Offloading CPU
qwen3-coder:30b - il più veloce dal set di LLM da 30b perché è solo testo
ollama run qwen3-coder:30b --verbose
/set parameter num_ctx 19000
compare weather and climate between capital cities of australia
NAME ID SIZE PROCESSOR CONTEXT
qwen3-coder:30b 06c1097efce0 20 GB 25%/75% CPU/GPU 19000
22%/605%
eval count: 559 token(s)
eval duration: 9.77768875s
eval rate: 57.17 tokens/s
Qwen3-VL 30B — Migliori Prestazioni Parzialmente Offloadate
ollama run qwen3-vl:30b-a3b-instruct --verbose
/set parameter num_ctx 19000
NAME SIZE PROCESSOR CONTEXT
qwen3-vl:30b-a3b-instruct 22 GB 30%/70% CPU/GPU 19000
eval count: 1450 token(s)
eval duration: 28.439319709s
eval rate: 50.99 tokens/s
Nonostante il 30% dei layer sulla CPU, Qwen3-VL mantiene 50,99 token/sec — più veloce di alcuni modelli al 100% su GPU. La capacità visiva aggiunge versatilità per i task multimodali.
Mistral Small 3.2 24B — Compromesso Qualità vs Velocità
ollama run mistral-small3.2:24b --verbose
/set parameter num_ctx 19000
NAME SIZE PROCESSOR CONTEXT
mistral-small3.2:24b 19 GB 18%/82% CPU/GPU 19000
eval count: 831 token(s)
eval duration: 44.899859038s
eval rate: 18.51 tokens/s
Mistral Small 3.2 offre una qualità linguistica superiore ma paga una pesante penalità di velocità. A 18,51 token/sec, sembra visibilmente più lento per la chat interattiva. Vale la pena per i task in cui la qualità conta più della latenza.
GLM 4.7 Flash — Modello di Ragionamento MoE
ollama run glm-4.7-flash --verbose
/set parameter num_ctx 19000
NAME SIZE PROCESSOR CONTEXT
glm-4.7-flash 21 GB 27%/73% CPU/GPU 19000
eval count: 2446 token(s)
eval duration: 1m12.239164004s
eval rate: 33.86 tokens/s
GLM 4.7 Flash è un modello Mixture of Experts da 30B-A3B — 30B di parametri totali con solo 3B attivi per token. Come modello di “ragionamento”, genera un ragionamento interno prima delle risposte. I 33,86 token/sec includono sia i token di ragionamento sia quelli di output. Nonostante l’offloading CPU, l’architettura MoE lo mantiene ragionevolmente veloce.
qwen3.5:35b - Nuovo modello con prestazioni self-hosted decenti
ollama run qwen3.5:35b --verbose
/set parameter num_ctx 19000
compare weather and climate between capital cities of australia
NAME ID SIZE PROCESSOR CONTEXT
qwen3.5:35b 4af949f8bdf0 27 GB 43%/57% CPU/GPU 19000
eval count: 3418 token(s)
eval duration: 2m45.458926548s
eval rate: 20.66 tokens/s
GPT-OSS 120B — Il Pesante
ollama run gpt-oss:120b --verbose
/set parameter num_ctx 19000
NAME SIZE PROCESSOR CONTEXT
gpt-oss:120b 66 GB 78%/22% CPU/GPU 19000
eval count: 5008 token(s)
eval duration: 6m36.168233066s
eval rate: 12.64 tokens/s
Eseguire un modello da 120B su 16GB di VRAM è tecnicamente possibile ma doloroso. Con il 78% sulla CPU, i 12,64 token/sec rendono l’uso interattivo frustrante. Adatto meglio per l’elaborazione in batch dove la latenza non importa.
qwen3.5:27b - Inteligente ma lento su Ollama
ollama run qwen3.5:27b --verbose
/set parameter num_ctx 19000
compare weather and climate between capital cities of australia
NAME ID SIZE PROCESSOR CONTEXT
qwen3.5:27b 193ec05b1e80 24 GB 43%/57% CPU/GPU 19000
eval count: 3370 token(s)
eval duration: 8m40.087510281s
eval rate: 6.48 tokens/s
Ho testato qwen3.5:27b e ho formato un’opinione estremamente buona sulle prestazioni di questo modello con OpenCode. È molto capace, colto, davvero bravo nel tool calling, anche se è lento sulla mia macchina su Ollama. Ho provato altre piattaforme di self-hosting LLM e ho ottenuto velocità molto più alte. Credo che sia il momento di abbandonare Ollama. Ne scriverò un po’ più tardi.
Raccomandazioni Pratiche
Per la Chat Interattiva
Utilizzare modelli che si adattano al 100% nella VRAM:
- GPT-OSS 20B — Velocità massima (139,93 t/s)
- Ministral 3 14B — Buona velocità con qualità Mistral (70,13 t/s)
- Qwen3 14B — Miglior seguire delle istruzioni (61,85 t/s)
Per una migliore esperienza di chat, considerare Interfacce Chat Open-Source per Ollama locale.
Per l’Elaborazione in Batch
Questo è, ancora una volta, sulla mia attrezzatura - 14GB di VRAM.
Quando la velocità è meno critica:
- Mistral Small 3.2 24B — Qualità linguistica superiore
- Qwen3-VL 30B — Capacità Vision + testo
Quando la velocità non è critica affatto:
- Qwen3.5:35b - Buone capacità di codifica
- Qwen3.5:27b - Estremamente buono, ma lento su Ollama. Ho avuto un notevole successo nell’hosting di questo modello su llama.cpp.
Per Sviluppo e Codifica
Se si stanno costruendo applicazioni con Ollama:
Opzioni di Hosting Alternative
Se le limitazioni di Ollama ti preoccupano (vedi Preoccupazioni sull’enshittification di Ollama), esplora altre opzioni nella Guida all’Hosting Locale LLM o confronta Docker Model Runner vs Ollama.
Conclusione
Con 16GB di VRAM, è possibile eseguire LLM capaci a velocità impressionanti — se si sceglie saggiamente. I risultati chiave:
-
Rimanere entro i limiti VRAM per l’uso interattivo. Un modello da 20B a 140 token/sec batte un modello da 120B a 12 token/sec per la maggior parte degli scopi pratici.
-
GPT-OSS 20B vince in termini di pura velocità, ma Qwen3 14B offre il miglior equilibrio tra velocità e capacità per i task di seguire le istruzioni.
-
L’offloading CPU funziona ma aspettati rallentamenti di 3-10 volte. Accettabile per l’elaborazione in batch, frustrante per la chat.
-
La dimensione del contesto conta. Il contesto da 19K usato qui aumenta significativamente l’uso della VRAM. Ridurre il contesto per una migliore utilizzazione della GPU.
Per una ricerca alimentata da IA che combina LLM locali con risultati web, consultare Self-hosting di Perplexica con Ollama.
Per esplorare ulteriori benchmark, compromessi tra VRAM e throughput e ottimizzazione delle prestazioni tra Ollama e altri runtime, consulta il nostro hub Prestazioni LLM: Benchmark, Colli di Bottiglia e Ottimizzazione.
Link Utili
Risorse Interni
- Scheda rapida Ollama: I comandi Ollama più utili
- Come Ollama Gestisce le Richieste Parallele
- Come Ollama sta utilizzando i core Performance ed Efficient della CPU Intel
- Hosting LLM Locale: Guida Completa 2026 - Ollama, vLLM, LocalAI, Jan, LM Studio e altro