~/ / Articoli sull'IA / LLM locali su un VPS / Quanta memoria serve a un LLM locale su una VPS? File del modello più cache KV
Quanta memoria serve a un LLM locale su una VPS? File del modello più cache KV
Prima di noleggiare un server per far girare un modello locale, devi sapere quanta memoria occupa. La risposta ha due parti: il modello stesso e una cache che cresce con la lunghezza della conversazione e con il numero di richieste gestite contemporaneamente. Questo articolo riunisce ciò che dicono la libreria di Ollama, le FAQ di Ollama e i file di configurazione ufficiali dei modelli, calcola la cache per sei modelli molto diffusi e ti permette di provare i tuoi numeri.
Pubblicato: · 5 min di lettura · Dati dei modelli verificati sulle fonti ufficiali il 2026-10-26. Dimensioni e valori predefiniti cambiano, quindi controllali prima di scegliere un piano.
Due cose riempiono la memoria
La prima sono i pesi del modello, che occupano più o meno la stessa memoria del file scaricato. La seconda è la cache KV, che contiene le chiavi e i valori che il modello ha già calcolato per il testo presente nel suo contesto. Le FAQ di Ollama affermano che la RAM necessaria scala con OLLAMA_NUM_PARALLEL moltiplicato per OLLAMA_CONTEXT_LENGTH.
La dimensione della cache si ricava dalla configurazione del modello: 2 × strati × teste KV × dimensione della testa × byte per valore dà i byte per un token, da moltiplicare per la lunghezza del contesto e per il numero di richieste parallele. In f16 un valore occupa 2 byte. Per Qwen3 8B, che ha 36 strati, 8 teste KV e una dimensione della testa di 128, un token occupa 2 × 36 × 8 × 128 × 2 = 147,456 byte. A 4,096 token sono 576 MiB, e a 32,768 token sono 4,608 MiB. Questa formula è un nostro calcolo a partire dai valori di configurazione, non una cifra pubblicata da Ollama.
Cosa dicono le fonti ufficiali su ciascun modello
La dimensione del download e la quantizzazione sono quelle che la libreria di Ollama mostra per ogni tag, e tutti e sei i tag qui sotto sono indicati con la quantizzazione Q4_K_M. Gli strati, le teste KV e la dimensione della testa provengono dal config.json di ciascun modello su Hugging Face.
| Modello | Dimensione del download (GB) | Strati | Teste KV | Dimensione della testa |
|---|---|---|---|---|
| Qwen3 0.6B | 0.523 | 28 | 8 | 128 |
| Qwen3 1.7B | 1.4 | 28 | 8 | 128 |
| Qwen3 4B | 2.5 | 36 | 8 | 128 |
| Qwen3 8B | 5.2 | 36 | 8 | 128 |
| Qwen3 14B | 9.3 | 40 | 8 | 128 |
| Mistral 7B (v0.3) | 4.4 | 32 | 8 | 128 |
La configurazione di Mistral 7B non indica la dimensione della testa, che quindi è la dimensione nascosta divisa per il numero di teste di attenzione, 4096 ÷ 32 = 128. Il tag Qwen3 4B nella libreria di Ollama riporta una finestra di contesto di 256K. Le versioni 2507 di Qwen3 4B su Hugging Face hanno gli stessi strati, le stesse teste KV e la stessa dimensione della testa dell'originale.
Cosa significa per la memoria
Con la formula di sopra, questa tabella mostra la cache di ciascun modello a due lunghezze di contesto e il totale stimato a 4,096 token. Il totale è la somma dei pesi, della cache in f16 per una richiesta alla volta e di una riserva di 1 GiB per il sistema operativo e gli altri servizi. L'ultima colonna è la più piccola dimensione di memoria comune che lo contiene.
| Modello | Cache KV a 4,096 token (MiB) | Cache KV a 32,768 token (MiB) | Totale stimato a 4,096 token (GiB) | Più piccola dimensione di memoria comune (GiB) |
|---|---|---|---|---|
| Qwen3 0.6B | 448 | 3584 | 1.92 | 2 |
| Qwen3 1.7B | 448 | 3584 | 2.74 | 4 |
| Qwen3 4B | 576 | 4608 | 3.89 | 4 |
| Qwen3 8B | 576 | 4608 | 6.41 | 8 |
| Qwen3 14B | 640 | 5120 | 10.29 | 12 |
| Mistral 7B (v0.3) | 512 | 4096 | 5.60 | 8 |
Sono stime, non misurazioni. Un modello che a 4,096 token entra con pochissimo margine non entrerà più se aumenti la lunghezza del contesto: a 32,768 token la sola cache di Qwen3 8B è di 4,608 MiB.
Contesto più lungo, più richieste parallele
- Le FAQ di Ollama dicono che la RAM necessaria scala con OLLAMA_NUM_PARALLEL moltiplicato per OLLAMA_CONTEXT_LENGTH, e portano un esempio: un contesto di 2K con 4 richieste parallele equivale a un contesto di 8K e a memoria aggiuntiva.
- OLLAMA_NUM_PARALLEL è documentato con un valore predefinito di 1, quindi un server per un solo utente parte con una richiesta alla volta.
- Le FAQ dicono anche che quantizzare la cache chiave-valore con q8_0 usa circa la metà della memoria di f16, e q4_0 circa un quarto. Con il rapporto indicato nelle FAQ, la cache scende così a circa 288 MiB per Qwen3 8B a 4,096 token con q8_0.
- La pagina sulla lunghezza del contesto della documentazione di Ollama dice che una lunghezza del contesto maggiore aumenta la memoria necessaria a un modello, e che puoi controllare la colonna PROCESSOR di ollama ps per vedere se un modello è stato spostato sulla CPU.
Prova i tuoi numeri
Il calcolatore qui sotto usa la stessa formula e gli stessi dati. Scegli un modello o inserisci il tuo, imposta la lunghezza del contesto, le richieste parallele, il tipo di cache e una riserva, e scrivi la memoria del piano che stai valutando per vedere se la stima ci sta.
Provalo: Local LLM Memory Estimator
Stima
- Pesi del modello
- 4.84 GiB
- Cache KV
- 0.56 GiB
- Riserva
- 1.00 GiB
- Totale
- 6.41 GiB (6.88 GB)
- Più piccola dimensione di memoria comune che lo contiene
- 8 GiB
Questa è una stima. Non include i buffer di calcolo del runtime e presuppone che ogni layer abbia la stessa forma KV. Misura un'esecuzione reale prima di scegliere un piano.
Dati del modello verificati il 2026-10-26.
Fonti: Ollama library · Configurazione del modello (config.json) · Ollama FAQ
Tutto viene eseguito nel tuo browser. Non viene caricato nulla.
Prima di scegliere un piano
- La stima non include la memoria di lavoro propria del runtime per i suoi buffer di calcolo. Il nostro suggerimento: esegui il modello su un server di prova, osserva l'uso della memoria con la lunghezza del contesto che intendi usare e tieni un po' di margine.
- Un GB sono 1,000,000,000 byte e un GiB sono 1,073,741,824 byte. Il "GB" di un fornitore può indicare l'uno o l'altro, quindi verifica come lo conta il tuo fornitore prima di confrontare.
- La memoria non è l'unico limite. Anche i file dei modelli nella tabella richiedono spazio su disco, e i documenti che abbiamo controllato non riportano cifre di velocità per il funzionamento solo su CPU.
- Se un modello ci sta a malapena, scegli la taglia di memoria successiva o un modello più piccolo, invece di ridurre la lunghezza del contesto finché non parte.
Fonti
- Ollama library: qwen3
- Ollama library: mistral
- Ollama documentation: FAQ
- Ollama documentation: Context length
- Qwen3-0.6B config.json (Hugging Face)
- Qwen3-1.7B config.json (Hugging Face)
- Qwen3-4B config.json (Hugging Face)
- Qwen3-8B config.json (Hugging Face)
- Qwen3-14B config.json (Hugging Face)
- Mistral-7B-Instruct-v0.3 config.json (Hugging Face)
Leggi anche
- Chiamare un modello locale dal proprio codice: structured outputs e API compatibile con OpenAI in OllamaVincola l'output di un modello locale con un JSON Schema e chiama Ollama da client in stile OpenAI: cosa dice la documentazione ufficiale e cosa non è supportato.
- Cosa sa fare un modello locale? Tools, thinking, vision ed embedding in Ollama, e cosa entra in una VPSTools, thinking, vision, embedding: cosa significano le etichette della libreria di Ollama, quali modelli le portano e quanto pesano i download.
- Installare Ollama su un VPS e tenerlo in funzione: installazione, servizio systemd, impostazioni e aggiornamentiInstallare Ollama su un VPS Linux e tenerlo in funzione: il comando di installazione, il servizio systemd, le variabili d'ambiente, la cartella dei modelli e gli aggiornamenti, dalla documentazione ufficiale.
- Eseguire l'IA su un proprio VPS: quanta memoria prevedere e cosa non esporrePensi di eseguire Ollama o Dify su un VPS? Cosa dice la documentazione ufficiale su memoria, inferenza solo CPU e porte da tenere chiuse.