Confronto delle prestazioni dei modelli LLM su Ollama su GPU con 16 GB di VRAM

Test della velocità del modello LLM sull'RTX 4080 con 16 GB di VRAM

Indice

Eseguire grandi modelli linguistici in locale ti offre privacy, capacità offline e zero costi API. Questo benchmark rivela esattamente cosa si può aspettare da 14 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. Per ulteriori informazioni sulle prestazioni degli LLM—throughput vs latenza, limiti di VRAM, richieste parallele e benchmark su diversi runtimes—vedi Prestazioni degli LLM: Benchmark, Bottlenecks & Ottimizzazione.

Prestazioni degli LLM su Ollama - riconoscimento di formiche

TL;DR

Ecco la tabella aggiornata delle prestazioni degli LLM su RTX 4080 da 16 GB con Ollama 0.17.7, (2026-03-09) aggiunti i modelli Qwen 3.5 9b, 9bq8, 27b e 35b:

Modello RAM+VRAM Utilizzata CPU/GPU Split 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

Osservazione chiave: I modelli che si adattano completamente alla VRAM sono notevolmente più veloci. Il GPT-OSS 20B raggiunge 139.93 token/sec, mentre il GPT-OSS 120B con un forte offloading della CPU si muove a soli 12.64 token/sec—una differenza di velocità di 11 volte.

Configurazione Hardware per i 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 degli LLM. La VRAM da 16 GB è il vincolo critico—determina quali modelli vengono eseguiti interamente sulla GPU o richiedono un 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 influenzano direttamente la velocità dell’inferenza delle layer offloadate.

Obiettivo di questo Benchmark

L’obiettivo principale era misurare la velocità di 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. Questo è un valore medio nelle mie richieste di Generazione.
  • Prompt: “confronta clima e meteo tra le capitali dell’Australia”
  • Metrica: tasso di valutazione (token al secondo durante la generazione)

Installazione e Versione di Ollama

Tutti i test hanno utilizzato la versione 0.15.2 di Ollama, l’ultima versione rilasciata al momento del test. Poi sono stati ricondotti su Ollama v 0.17.7 - per aggiungere i modelli Qwen3.5. Per un riferimento completo dei comandi Ollama utilizzati in questo benchmark, vedi la guida rapida Ollama.

Per installare rapidamente 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 benchmarkati, in ordine alfabetico:

Modello Parametri Quantizzazione Note
devstral-small-2:24b 24B Q4_K_M Orientato ai codici
glm-4.7-flash 30B Q4_K_M Modello di pensiero
gpt-oss:20b 20B Q4_K_M Più veloce complessivamente
gpt-oss:120b 120B Q4_K_M Il più grande testato
ministral-3:14b 14B Q4_K_M Modello efficiente di Mistral
mistral-small3.2:24b 24B Q4_K_M Eccellente qualità del linguaggio
nemotron-3-nano:30b 30B Q4_K_M Offerta di NVIDIA
qwen3:14b 14B Q4_K_M Migliore capacità di seguire le istruzioni
qwen3.5:9b 9B Q4_K_M Veloce, interamente su GPU
qwen3.5:9b-q8_0 9B Q8_0 Maggiore qualità, interamente su GPU
qwen3.5:27b 27B Q4_K_M Eccellente qualità, lento su Ollama
qwen3-vl:30b-a3b 30B Q4_K_M Capacità visiva
qwen3-coder:30b 30B Q4_K_M Orientato ai codici
qwen3.5:35b 35B Q4_K_M Buone capacità di coding

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 layer 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 sulle prestazioni. Ogni generazione di token richiede un trasferimento di dati tra la memoria della CPU e della GPU—un collo di bottiglia che si accumula con ogni layer offloadato sulla CPU.

Il pattern è chiaro dai nostri risultati:

  • Modelli al 100% su GPU: 61-140 token/sec
  • Modelli al 70-82% su GPU: 19-51 token/sec
  • Modelli al 22% su 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 più richieste contemporanee, comprendere come Ollama gestisce le richieste parallele diventa essenziale per la pianificazione della capacità.

Risultati dettagliati del benchmark

Modelli in esecuzione 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 un utilizzo interattivo.

Per gli sviluppatori che integrano Qwen3 in applicazioni, consulta Output Strutturato con Ollama e Qwen3 per estrarre risposte JSON strutturate.

Ministral 3 14B — Rapido 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 fornisce 70.13 token/sec mentre si adatta completamente alla VRAM. Una solida scelta quando si necessita della qualità della famiglia Mistral a massima velocità.

qwen3.5:9b - veloce e nuovo

ollama run  qwen3.5:9b --verbose
/set parameter num_ctx 19000
confronta clima e meteo tra le capitali dell'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

Questo quantizzazione riduce le prestazioni del qwen3.5:9b del 30% rispetto al q4.

ollama run  qwen3.5:9b-q8_0 --verbose
/set parameter num_ctx 19000

confronta clima e meteo tra le capitali dell'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 l’offloading della CPU

qwen3-coder:30b - più veloce tra i modelli 30b per essere testo solo

ollama run qwen3-coder:30b --verbose
/set parameter num_ctx 19000
confronta clima e meteo tra le capitali dell'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 — Miglior 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% delle layer sulla CPU, 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

Mistral Small 3.2 offre una qualità del linguaggio superiore ma paga un prezzo elevato in termini di velocità. A 18.51 token/sec, sembra notevolmente più lento per i chat interattivi. Vale la pena per compiti in cui la qualità è più importante della latenza.

GLM 4.7 Flash — Modello MoE di pensiero

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.

qwen3.5:35b - nuovo modello con buone prestazioni auto-hosted

ollama run qwen3.5:35b --verbose
/set parameter num_ctx 19000
confronta clima e meteo tra le capitali dell'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 modello più potente

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 16 GB di VRAM è tecnicamente possibile ma doloroso. Con il 78% sulla CPU, i 12.64 token/sec rendono l’uso interattivo frustrante. Meglio adatto al batch processing dove la latenza non è un problema.

qwen3.5:27b - intelligente ma lento su Ollama

ollama run qwen3.5:27b --verbose
/set parameter num_ctx 19000
confronta clima e meteo tra le capitali dell'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 ottenuto un’opinione estremamente positiva sulle prestazioni di questo modello con OpenCode. È molto capace, molto conoscente, un eccellente strumento per chiamate di funzione, sebbene sia lento sul mio computer su Ollama. Ho provato altri piattaforme di auto-hosting degli LLM e ho ottenuto velocità molto più elevate. Credo che sia tempo di lasciare andare Ollama. Ne parlerò un po’ più avanti.

Consigli pratici

Per chat interattivi

Utilizza modelli che si adattano completamente alla VRAM:

  1. GPT-OSS 20B — Velocità massima (139.93 t/s)
  2. Ministral 3 14B — Buona velocità con la qualità di Mistral (70.13 t/s)
  3. Qwen3 14B — Miglior equilibrio tra velocità e capacità per compiti di seguito alle istruzioni (61.85 t/s)

Per un’esperienza di chat migliore, considera Interfacce UI Open-Source per Ollama locale.

Per il batch processing

Questo è nuovamente, sul mio equipaggiamento - 14 GB di VRAM.

Quando la velocità è meno critica:

  • Mistral Small 3.2 24B — Qualità linguistica superiore
  • Qwen3-VL 30B — Capacità visiva + testo

Quando la velocità non è critica affatto:

  • Qwen3.5:35b - Buone capacità di coding
  • Qwen3.5:27b - Estremamente buone, ma lente su Ollama. Ho avuto un notevole successo nell’ospitare questo modello su llama.cpp.

Per sviluppo e coding

Se stai costruendo applicazioni con Ollama:

Opzioni di hosting alternative

Se le limitazioni di Ollama ti preoccupano (vedi Preoccupazioni per l’enshittification di Ollama), esplora altre opzioni nella Guida all’hosting locale degli LLM o confronta Docker Model Runner vs Ollama.

Conclusione

Con 16 GB di VRAM, puoi eseguire LLM capaci a velocità impressionanti—se scegli con saggezza. Le principali conclusioni:

  1. Rimani entro i limiti di 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.

  2. GPT-OSS 20B vince per velocità pura, ma Qwen3 14B offre il miglior equilibrio tra velocità e capacità per compiti di seguito alle istruzioni.

  3. L’offloading della CPU funziona ma aspettati ritardi di 3-10 volte. Accettabile per il batch processing, frustrante per i chat.

  4. La dimensione del contesto importa. Il contesto di 19K utilizzato qui aumenta notevolmente l’utilizzo della VRAM. Riduci il contesto per un migliore utilizzo della GPU.

Per la ricerca alimentata da AI che combina LLM locali con risultati web, vedi Auto-hosting di Perplexica con Ollama.

Per esplorare ulteriori benchmark, trade-off tra VRAM e throughput e ottimizzazione delle prestazioni su Ollama e altri runtimes, consulta il nostro LLM Performance: Benchmark, Bottlenecks & Optimization hub.

Risorse interne

Riferimenti esterni