- Ollama consente di eseguire modelli di intelligenza artificiale come Llama, Mistral e Gemma in locale tramite un unico strumento da riga di comando
- Installazione in pochi secondi:
curl https://ollama.com/install.sh | sh(Linux/macOS) oppure scarica l'installer per Windows - I modelli entry-level richiedono 4-8 GB di VRAM; i modelli da produzione da 70B richiedono circa 40 GB di VRAM con quantizzazione a 4 bit
- Punto di pareggio rispetto alle API cloud: circa 500.000 token/mese per un modello da 70B, meno per modelli più piccoli
Ollama è uno strumento da riga di comando che impacchetta modelli linguistici di intelligenza artificiale in contenitori eseguibili sul proprio hardware. Invece di inviare prompt a OpenAI, Anthropic o Google e pagare per ogni token, si scarica il modello una sola volta—Llama 3.3 70B, Mistral 7B, Phi-4, oppure uno qualsiasi dei dozzine di modelli supportati—e l'inferenza viene eseguita interamente sulla propria GPU o CPU. I dati rimangono locali, non si paga nulla per ogni richiesta dopo il costo iniziale dell'hardware e si mantiene il pieno controllo sul comportamento del modello e sulla sua disponibilità.
Il compromesso riguarda l'hardware: è necessaria una quantità sufficiente di VRAM per ospitare il modello. Un modello da 7 miliardi di parametri quantizzato a 4 bit richiede circa 4-5 GB di memoria GPU, compatibile con una scheda consumer come la RTX 4060. Un modello da 70B richiede invece circa 40 GB con quantizzazione a 4 bit, necessitando di una scheda workstation come la RTX 6000 Ada o di una configurazione multi-GPU. La Calcolatore VRAM mostra i requisiti esatti per qualsiasi dimensione di modello e livello di quantizzazione.
Installazione di Ollama
Linux
Esegui lo script ufficiale di installazione, che rileva la tua distribuzione e configura il ollama servizio:
curl -fsSL https://ollama.com/install.sh | sh
Questo comando installa il binario in /usr/local/bin/ollama e registra un servizio systemd. Il servizio viene avviato automaticamente e sopravvive ai riavvii. Per verificare:
ollama --version
Se ti trovi dietro un proxy aziendale o hai bisogno di un'installazione manuale, scarica direttamente il binario da le release su GitHub e posizionalo nella tua cartella PATH.
macOS
Scarica l’ .dmg installer da ollama.com/download, aprilo e trascina Ollama nella cartella Applicazioni. L'applicazione nella barra dei menu avvia il server locale su localhost:11434. Per utilizzare Ollama dal Terminale:
ollama --version
Gli utenti macOS con chip Apple Silicon (M1/M2/M3/M4) possono eseguire modelli utilizzando la memoria unificata anziché la VRAM dedicata. Uno Studio Mac con 192 GB di memoria unificata può servire un Llama 4 Maverick (240 GB a 4 bit) utilizzando lo scambio su disco, anche se la velocità di inferenza diminuisce significativamente quando si supera la RAM fisica.
Windows
Scarica l’ OllamaSetup.exe installer da ollama.com/download ed eseguilo. L'installer aggiunge ollama.exe al tuo PATH e avvia il servizio in background. Apri PowerShell o Prompt dei comandi e verifica:
ollama --version
È supportato Windows Subsystem for Linux (WSL2) con pass-through della GPU: installa Ollama all'interno della tua distribuzione WSL2 seguendo le istruzioni per Linux e assicurati di aver installato i driver NVIDIA CUDA sull'host Windows.
Esecuzione del primo modello
Scarica ed esegui Llama 3.1 8B, un modello performante per il follow-up delle istruzioni che richiede soltanto 5 GB di VRAM:
ollama run llama3.1:8b
Ollama scarica il modello (circa 4,7 GB) in ~/.ollama/models (Linux/macOS) o in %USERPROFILE%.ollamamodels (Windows), lo carica in memoria e ti inserisce in una shell interattiva. Digita un messaggio, premi Invio e il modello genera una risposta in locale. Premi Ctrl+D oppure digita /bye per uscire.
Per eseguire un modello in background ed eseguire query tramite API:
ollama serve
Questo avvia un server su http://localhost:11434. In un altro terminale:
curl http://localhost:11434/api/generate -d '{
"model": "llama3.1:8b",
"prompt": "Spiega il controllo della congestione TCP",
"stream": false
}'
La risposta viene restituita in formato JSON con il completamento completo nel campo response .
Selezione del modello e requisiti di VRAM
Ollama supporta modelli open-weight di Meta, Mistral AI, Microsoft, Google, Alibaba e altri. La tabella seguente mostra alcune scelte popolari e il loro consumo di memoria con quantizzazione a 4 bit, tratti dal database dei requisiti di VRAM:
| Modello | Parametri | Lunghezza del contesto | VRAM a 4 bit | Caso d'uso |
|---|---|---|---|---|
| Llama 3.1 8B | 8B | 128K | ~5 GB | Follow-up generale delle istruzioni, adatto a GPU consumer |
| Mistral 7B | 7B | 32K | ~4,5 GB | Inferenza veloce, buona generazione di codice |
| Phi-4 | 14B | 16K | ~9 GB | Ragionamento e matematica, efficiente rispetto alle dimensioni |
| Mistral NeMo 12B | 12B | 128K | ~7,5 GB | Attività con contesto lungo, multilingue |
| Qwen3 8B | 8B | 128K | ~5 GB | Forti capacità multilingui, competitive rispetto a modelli più grandi |
| Gemma 3 4B | 4 miliardi | 128K | ~3 GB | Il modello più piccolo utilizzabile, eseguibile su GPU integrate |
| Llama 3.3 70B | 70B | 128K | ~40 GB | Ragionamento di livello produttivo, paragonabile alla classe GPT-4 |
| DeepSeek R1 Distill Llama 70B | 70B | 128K | ~40 GB | Modello di ragionamento distillato, eccellenti prestazioni in ambito STEM |
Per elencare tutti i modelli disponibili sul tuo sistema:
ollama list
Per eliminare un modello e liberare spazio su disco:
ollama rm llama3.1:8b
I tag dei modelli seguono il formato nome:dimensione o nome:versione. Se il tag viene omesso, viene utilizzato per impostazione predefinita :latest. Consulta il catalogo completo su i migliori modelli linguistici locali per Ollama.
Comandi comuni e configurazione
Esegui un modello con parametri personalizzati:
ollama run llama3.1:8b --temperature 0.7 --top-p 0.9
Passa un prompt direttamente, senza entrare in modalità interattiva:
ollama run llama3.1:8b "Scrivi una funzione Python per analizzare date ISO 8601"
Carica un modello in memoria senza richiedere input (utile per il warm-up prima di gestire richieste):
ollama pull llama3.1:8b
Verifica quali modelli sono attualmente caricati nella VRAM:
ollama ps
Imposta il numero di layer GPU da offloadare (utile per l’offloading parziale sulla GPU quando la VRAM è limitata):
OLLAMA_NUM_GPU=35 ollama run llama3.3:70b
Per impostazione predefinita, Ollama offloada tutti i layer sulla GPU. Ridurre OLLAMA_NUM_GPU mantiene alcuni layer sulla CPU, scambiando velocità per un minore utilizzo di VRAM. Un modello da 70B con 20 layer sulla GPU potrebbe richiedere soltanto 20 GB di VRAM, ma operare da 3 a 5 volte più lentamente.
Per modificare la directory di archiviazione dei modelli, imposta OLLAMA_MODELS prima dell’esecuzione:
export OLLAMA_MODELS=/mnt/nvme/ollama_models ollama pull llama3.1:8b
Ollama utilizza file memory-mapped, quindi i modelli vengono caricati più velocemente da unità NVMe rispetto a SSD SATA. Su un sistema moderno, ci si aspetta un tempo di caricamento di circa 10–15 secondi per un modello da 8B e di 60–90 secondi per un modello da 70B.
Requisiti hardware
Il fattore limitante è la VRAM, non la potenza computazionale. Un modello da 70B quantizzato in 4-bit richiede 40 GB di memoria GPU, ma funziona adeguatamente anche su architetture di generazioni precedenti. Una RTX 3090 (24 GB) può servire due modelli da 8B oppure un modello da 30B. Una RTX 4090 (24 GB) gestisce lo stesso carico con un throughput superiore del 30–40% grazie ai tensor core migliorati di Ada Lovelace.
GPU consigliate in base al budget:
- Entry-level ($300–500): RTX 4060 Ti 16 GB gestisce agevolmente modelli da 8B e 12B
- Prosumer ($1000–1500): RTX 4090 o A4000 Ada eseguono comodamente modelli da 30B
- Workstation ($4000–7000): RTX 6000 Ada (48 GB) o doppia RTX 4090 per modelli da 70B
- Servizio multi-modello ($10.000+): A100 80GB o H100 80GB per eseguire più istanze da 70B
Consultate il Guida all’acquisto delle GPU per confronti dettagliati. Gli utenti Apple Silicon traggono vantaggio dalla memoria unificata: un M2 Ultra con 192 GB può eseguire modelli che richiederebbero un setup NVIDIA da $25.000, sebbene il throughput in token sia 2–3 volte inferiore rispetto a un A100.
Confronto dei costi: locale vs API
Le API cloud addebitano in base al numero di token. Claude Sonnet 5 costa $2,00 per milione di token in ingresso e $10,00 per milione di token in uscita. Una tipica sessione di assistente per la programmazione genera 500.000 token al mese (250.000 in ingresso, 250.000 in uscita), con un costo annuo di $3.000.
Un modello Llama 3.3 70B auto-hostato su una workstation da $6.000 (RTX 6000 Ada) ha costo marginale nullo dopo l’acquisto dell’hardware. Il punto di pareggio è approssimativamente di 500.000 token al mese. Al di sotto di tale soglia, le API cloud risultano più economiche; al di sopra, l’inferenza locale diventa conveniente. Usa il calcolatore per l'auto-hosting per modellare il tuo carico di lavoro specifico.
I modelli più piccoli raggiungono il pareggio più rapidamente. Un modello da 8B su una RTX 4060 Ti da $500 si ripaga in 3–4 mesi rispetto alle API cloud, con un utilizzo moderato (100.000 token/mese). Il vantaggio aggiuntivo è la privacy: il tuo codice, i tuoi documenti e i dati interni non lasciano mai la tua rete.
Domande frequenti
Ollama può eseguire modelli esclusivamente sulla CPU?
Sì, ma l’inferenza è da 10 a 50 volte più lenta, a seconda delle dimensioni del modello. Un modello da 8B genera 1–3 token al secondo su una CPU Ryzen o Intel moderna, contro i 40–80 token/sec su una RTX 4090. Imposta OLLAMA_NUM_GPU=0 per forzare la modalità CPU-only. Pratico per l’elaborazione batch o per utilizzi a basso traffico, ma inadatto per chat interattive.
In che modo la quantizzazione influisce sulla qualità?
La quantizzazione in 4-bit riduce le dimensioni del modello del 75%, con perdita minima di qualità: i benchmark mostrano una degradazione dell’accuratezza compresa tra l’1% e il 3% su MMLU e HumanEval rispetto al formato FP16. La quantizzazione in 3-bit (Q3) riduce ulteriormente le dimensioni, ma degrada in modo evidente le capacità di ragionamento e di esecuzione degli istruzioni. Ollama utilizza per impostazione predefinita Q4_0, che bilancia qualità ed efficienza di utilizzo della VRAM. È possibile scaricare versioni in 8-bit o FP16 specificando tag come llama3.1:8b-q8_0, raddoppiando i requisiti di VRAM.
Posso eseguire il fine-tuning di modelli con Ollama?
No. Ollama è un runtime per l’inferenza, non un framework per il training. Per fine-tunare un modello, utilizza strumenti come Hugging Face Transformers, Axolotl o LLaMA Factory, esporta il risultato nel formato GGUF e importalo in Ollama tramite un Modelfile. Il processo è documentato nel repository GitHub di Ollama alla voce docs/import.md.
Che cos'è l'API di Ollama e come si utilizza?
Ollama espone un’API REST compatibile con OpenAI su localhost:11434. Il blocco /api/generate l’endpoint gestisce le completions, mentre /api/chat supporta conversazioni multiplo-turno con cronologia dei messaggi. Puoi integrarlo nei tuoi codebase esistenti semplicemente sostituendo l’URL base: invece di https://api.openai.com/v1, indirizza il tuo client su http://localhost:11434. Molti framework, come LangChain e LlamaIndex, supportano nativamente Ollama.
Quante richieste al secondo può gestire Ollama?
Un singolo modello caricato serve una richiesta alla volta. Il throughput dipende dalle dimensioni del modello e dall'hardware: una RTX 4090 genera 60-80 token/sec per un modello da 8B e 15-25 token/sec per un modello da 70B. Per gestire utenti concorrenti, è possibile scalare orizzontalmente (più macchine) oppure utilizzare il batching a livello applicativo. Ollama non dispone di una coda di richieste integrata; è necessario un reverse proxy come NGINX o un bilanciatore del carico.
Posso eseguire più modelli contemporaneamente?
Sì, purché tu abbia sufficiente VRAM. Carica un secondo modello con ollama run in un nuovo terminale mentre il primo è in esecuzione. Ollama condivide la GPU tra i modelli. Due modelli da 8B (10 GB totali) girano agevolmente su una RTX 4090 da 24 GB. Il passaggio tra modelli è quasi istantaneo se entrambi sono già caricati; altrimenti, attendi tempi di caricamento compresi tra 10 e 90 secondi, a seconda delle dimensioni del modello.

