Migliori LLM per Ollama su GPU con 16 GB di VRAM
Test della velocità del modello LLM sull'RTX 4080 con 16 GB di VRAM
Eseguire grandi modelli linguistici localmente ti offre privacy, capacità offline e zero costi API. Questo benchmark rivela esattamente cosa si può aspettare da 9 modelli popolari LLMs su Ollama su un RTX 4080.
Con una GPU da 16 GB di VRAM, ho affrontato un costante compromesso: modelli più grandi con potenziale qualità migliore, o modelli più piccoli con inferenza più veloce.

TL;DR
Ecco la tabella di confronto delle prestazioni dei modelli LLM su RTX 4080 16 GB con Ollama 0.15.2:
| Modello | RAM+VRAM Utilizzata | CPU/GPU Split | Token/sec |
|---|---|---|---|
| gpt-oss:20b | 14 GB | 100% GPU | 139.93 |
| ministral-3:14b | 13 GB | 100% GPU | 70.13 |
| qwen3:14b | 12 GB | 100% GPU | 61.85 |
| qwen3-vl:30b-a3b | 22 GB | 30%/70% | 50.99 |
| glm-4.7-flash | 21 GB | 27%/73% | 33.86 |
| nemotron-3-nano:30b | 25 GB | 38%/62% | 32.77 |
| devstral-small-2:24b | 19 GB | 18%/82% | 18.67 |
| mistral-small3.2:24b | 19 GB | 18%/82% | 18.51 |
| gpt-oss:120b | 66 GB | 78%/22% | 12.64 |
Osservazione chiave: I modelli che si adattano completamente alla VRAM sono drasticamente più veloci. Il GPT-OSS 20B raggiunge 139,93 token/sec, mentre il GPT-OSS 120B con un forte offloading della CPU procede 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 16 GB di VRAM
- CPU: Intel Core i7-14700 (8 P-core + 12 E-core)
- RAM: 64 GB DDR5-6000
Questo rappresenta una configurazione comune di alto livello per l’inferenza locale dei modelli LLM. La VRAM da 16 GB è il vincolo critico—determina quali modelli vengono eseguiti interamente sulla GPU rispetto a quelli che richiedono l’offloading della CPU.
Comprendere come Ollama utilizza i core CPU di Intel diventa importante quando i modelli superano i limiti di VRAM, poiché le prestazioni della CPU influiscono direttamente sulla velocità dell’inferenza dei livelli offloadati.
Obiettivo di questo Benchmark
L’obiettivo principale era misurare la velocità dell’inferenza in condizioni reali. Sapevo già per esperienza che il Mistral Small 3.2 24B eccelle nella qualità del linguaggio, mentre il Qwen3 14B offre un’eccezionale capacità di seguire le istruzioni per i miei casi d’uso specifici.
Questo benchmark risponde alla domanda pratica: Quanto velocemente può generare testo ogni modello e qual è la penalità di velocità per superare i limiti di VRAM?
I parametri del test erano:
- Dimensione del contesto: 19.000 token
- Prompt: “confronta clima e meteo tra le capitali dell’Australia”
- Metrica: velocità di valutazione (token al secondo durante la generazione)
Installazione e Versione di Ollama
Tutti i test hanno utilizzato Ollama versione 0.15.2, l’ultima versione rilasciata al momento del test. Per un riferimento completo dei comandi Ollama utilizzati in questo benchmark, vedi la guida Ollama.
Per installare Ollama su Linux:
curl -fsSL https://ollama.com/install.sh | sh
Verifica l’installazione:
ollama --version
Se devi archiviare i modelli su un disco diverso a causa di limiti di spazio, consulta come spostare i modelli Ollama su un disco diverso.
Modelli Testati
I seguenti modelli sono stati sottoposti a benchmark:
| Modello | Parametri | Quantizzazione | Note |
|---|---|---|---|
| gpt-oss:20b | 20B | Q4_K_M | Più veloce complessivamente |
| gpt-oss:120b | 120B | Q4_K_M | Più grande testato |
| qwen3:14b | 14B | Q4_K_M | Migliore capacità di seguire le istruzioni |
| qwen3-vl:30b-a3b | 30B | Q4_K_M | Capace di visione |
| ministral-3:14b | 14B | Q4_K_M | Modello efficiente di Mistral |
| mistral-small3.2:24b | 24B | Q4_K_M | Qualità linguistica forte |
| devstral-small-2:24b | 24B | Q4_K_M | Focalizzato sul codice |
| glm-4.7-flash | 30B | Q4_K_M | Modello di pensiero |
| nemotron-3-nano:30b | 30B | Q4_K_M | Offerta di NVIDIA |
Per scaricare qualsiasi modello:
ollama pull gpt-oss:20b
ollama pull qwen3:14b
Comprendere l’offloading della CPU
Quando i requisiti di memoria di un modello superano la VRAM disponibile, Ollama distribuisce automaticamente i livelli del modello tra GPU e RAM del sistema. L’output mostra questo come una percentuale di suddivisione come “18%/82% CPU/GPU”.
Questo ha enormi implicazioni per le prestazioni. Ogni generazione di token richiede il trasferimento di dati tra la memoria della CPU e della GPU—un collo di bottiglia che si accumula con ogni livello offloadato sulla CPU.
Il pattern è chiaro dai nostri risultati:
- Modelli al 100% sulla GPU: 61-140 token/sec
- Modelli al 70-82% sulla GPU: 19-51 token/sec
- Modelli al 22% sulla GPU (quasi tutti sulla CPU): 12,6 token/sec
Questo spiega perché un modello da 20B parametri può superare un modello da 120B di 11 volte in pratica. Se stai pianificando di servire richieste multiple contemporaneamente, comprendere come Ollama gestisce le richieste parallele diventa essenziale per la pianificazione della capacità.
Risultati Dettagliati del Benchmark
Modelli che Operano al 100% sulla 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, il GPT-OSS 20B è chiaramente il vincitore per le applicazioni che richiedono velocità. Utilizza solo 14 GB di VRAM, lasciando spazio per finestre di contesto più grandi o altri carichi di lavoro sulla GPU.
Qwen3 14B — Buon 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
Il Qwen3 14B offre la migliore capacità di seguire le istruzioni, con un footprint di memoria confortevole di 12 GB. A 61,85 token/sec, è sufficientemente reattivo per l’uso interattivo.
Per gli sviluppatori che integrano Qwen3 nelle applicazioni, consulta Output Strutturato degli LLM con Ollama e Qwen3 per estrarre risposte in formato JSON strutturato.
Ministral 3 14B — Veloce e Compattato
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 fornisce 70,13 token/sec mentre si adatta completamente alla VRAM. Una scelta solida quando si necessita della qualità della famiglia Mistral a massima velocità.
Modelli che Richiedono l’Offloading della CPU
Qwen3-VL 30B — Migliore Prestazione Parzialmente Offloadata
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 livelli sulla CPU, il Qwen3-VL mantiene 50,99 token/sec—più veloce di alcuni modelli al 100% sulla GPU. La capacità visiva aggiunge versatilità per compiti multimodali.
Mistral Small 3.2 24B — Compromesso tra Qualità e 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
Il Mistral Small 3.2 offre una qualità linguistica superiore ma paga un prezzo elevato in termini di velocità. A 18,51 token/sec, sembra notevolmente più lento per le chat interattive. Ne vale la pena per i compiti in cui la qualità è più importante della latenza.
GLM 4.7 Flash — Modello di Pensiero 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 parametri totali con solo 3B attivi per token. Come modello “di pensiero”, genera un ragionamento interno prima delle risposte. I 33,86 token/sec includono sia i token di pensiero che quelli di output. Nonostante l’offloading della CPU, l’architettura MoE mantiene una velocità ragionevole.
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 una VRAM da 16 GB è tecnicamente possibile ma frustrante. Con il 78% sulla CPU, i 12,64 token/sec rendono l’uso interattivo frustrante. Meglio adatto al processing in batch dove la latenza non è importante.
Consigli Pratici
Per le Chat Interattive
Utilizza modelli che si adattano completamente alla VRAM:
- GPT-OSS 20B — Velocità massima (139,93 t/s)
- Ministral 3 14B — Buona velocità con la qualità di Mistral (70,13 t/s)
- Qwen3 14B — Migliore capacità di seguire le istruzioni (61,85 t/s)
Per un’esperienza migliore nelle chat, considera Interfacce UI Open-Source per Ollama locale.
Per il Processing in Batch
Quando la velocità è meno critica:
- Mistral Small 3.2 24B — Qualità linguistica superiore
- Qwen3-VL 30B — Capacità visiva e testo
Per lo Sviluppo e il Codice
Se stai costruendo applicazioni con Ollama:
Opzioni Alternative di Hosting
Se le limitazioni di Ollama ti preoccupano (vedi preoccupazioni per l’enshittification di Ollama), esplora altre opzioni nella Guida all’hosting dei modelli LLM locali o confronta Docker Model Runner vs Ollama.
Conclusione
Con 16 GB di VRAM, puoi eseguire modelli LLM capaci a velocità impressionanti—se scegli con saggezza. Le principali scoperte:
-
Rimani all’interno dei limiti di VRAM per l’uso interattivo. Un modello da 20B a 140 token/sec supera un modello da 120B a 12 token/sec per la maggior parte degli scopi pratici.
-
GPT-OSS 20B vince per velocità pura, ma Qwen3 14B offre il miglior equilibrio tra velocità e capacità per i compiti di seguire le istruzioni.
-
L’offloading della CPU funziona ma aspettati ritardi di 3-10 volte. Accettabile per il processing in batch, frustrante per le chat.
-
La dimensione del contesto importa. Il contesto da 19K utilizzato qui aumenta in modo significativo l’utilizzo della VRAM. Riduci il contesto per un migliore utilizzo della GPU.
Per la ricerca alimentata dall’AI che combina modelli LLM locali con i risultati del web, vedi Self-hosting di Perplexica con Ollama.
Link Utili
Risorse interne
- Ollama cheatsheet: Comandi più utili di Ollama
- Come Ollama Gestisce le Richieste Parallele
- Come Ollama utilizza le prestazioni e i core efficienti di Intel
- Come spostare i modelli Ollama su un disco o una cartella diversa
- Output strutturato degli LLM su Ollama, Qwen3 e Python o Go
- Self-hosting di Perplexica - con Ollama
- Interfacce UI Open-Source per LLM su istanze locali di Ollama
- Prime segnalazioni dell’enshittification di Ollama
- Docker Model Runner vs Ollama: Quale scegliere?
- Guida all’hosting dei modelli LLM locali: Ollama, vLLM, LocalAI, Jan, LM Studio & altri
- Integrare Ollama con Python: Esempi di API REST e Client Python
- SDK Go per Ollama - confronto con esempi