Usa la tua IA con Ollama: cosa aspettarsi dalla CPU
Ollama è uno strumento che esegue modelli di IA aperti sul tuo server. I server Seturack non hanno una scheda grafica (GPU), quindi i modelli girano sulla CPU. Questo significa che i modelli piccoli (1-4 miliardi di parametri) sono utilizzabili per chat e compiti brevi, quelli da 7-8 miliardi di parametri funzionano ma lentamente, e quelli più grandi non sono praticabili. La dimensione del file di un modello è il limite inferiore della RAM da riservargli.
I commenti sulla velocità in questo articolo vengono dall'esperienza generale, non da misurazioni sui server Seturack. Le dimensioni dei modelli vengono dalla libreria di Ollama stessa.
Il modello deve stare nella RAM
| Modello | Parametri | Dimensione del file |
|---|---|---|
llama3.2:1b | 1 miliardo | 1,3 GB |
llama3.2:3b | 3 miliardi | 2,0 GB |
gemma3:4b | 4 miliardi | 3,4 GB |
qwen2.5:7b | 7 miliardi | 4,7 GB |
llama3.1:8b | 8 miliardi | 4,9 GB |
gemma3:12b | 12 miliardi | 8,2 GB |
qwen2.5:14b | 14 miliardi | 9,0 GB |
qwen2.5:32b | 32 miliardi | 20 GB |
La dimensione del file è vicina alla parte del modello che viene caricata in memoria. A questa si aggiungono la memoria di contesto, che dipende dalla lunghezza della conversazione, il carico di Ollama stesso e il sistema operativo. Quindi una RAM pari alla dimensione del file non basta: lascia un margine. Non esiste un moltiplicatore esatto, ma misurare è facile: esegui free -h dopo che il modello è stato caricato. La libreria viene aggiornata di continuo, quindi controlla la libreria di modelli di Ollama per l'elenco attuale.
Che dimensione di server?
| Gruppo di modelli | RAM di partenza ragionevole |
|---|---|
| 1-3 miliardi di parametri | 4 GB |
| 7-8 miliardi di parametri | 8 GB |
| 12-14 miliardi di parametri | 16 GB |
| 32 miliardi di parametri | 24-32 GB, ancora molto lento su una CPU |
Questa tabella è una regola pratica ottenuta aggiungendo un margine alle dimensioni dei file qui sopra. Non è una raccomandazione ufficiale. Se la RAM finisce, il sistema comincia a usare il disco come memoria (swap) e la velocità cala drasticamente, oppure il processo viene terminato. Prima di provare un modello grande è più sicuro ingrandire il server.
Cosa aspettarsi da una CPU
- La generazione di testo è limitata in gran parte dalla banda di memoria. Più il modello è grande, più lenta arriva la risposta.
- Rispetto a una scheda grafica, una CPU è sensibilmente più lenta. La risposta può comparire più lentamente di quanto tu legga.
- Elaborare un testo lungo allunga l'attesa della prima risposta. Alla prima richiesta il modello viene caricato dal disco in memoria, quindi la risposta arriva ancora più tardi.
- Più utenti contemporaneamente si dividono la velocità.
Cosa funziona bene: riassunti brevi, classificazione, bozze di email, un assistente personale, esperimenti e sviluppo, piccole automazioni. Cosa fa fatica: un servizio attivo per molti utenti, modelli grandi, risposte in tempo reale, generazione intensiva di codice.
Configurazione (Ubuntu)
- Esegui lo script di installazione ufficiale su una riga:
curl -fsSL https://ollama.com/install.sh | shÈ buona norma scaricare e leggere prima lo script. - Parti con un modello piccolo:
ollama run llama3.2:3b - Controlla dove sta girando il modello:
ollama psSe nella colonna Processor c'è scritto solo CPU, il modello sta interamente nella memoria di sistema. - Tieni d'occhio lo spazio su disco. Su Linux i modelli stanno in
/usr/share/ollama/.ollama/modelse ognuno occupa vari gigabyte. Conollama listli elenchi e conollama rmne elimini uno.
Se preferisci Docker, il comando ufficiale è docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama. Ti suggeriamo di associare la porta solo all'indirizzo locale: -p 127.0.0.1:11434:11434.
Quale modello scegliere?
Parti da un modello da 3 miliardi di parametri e provalo sul tuo lavoro. I modelli piccoli di solito sono più deboli in turco che in inglese, quindi provali con i tuoi testi. Se le risposte non bastano, sali di una dimensione e controlla con free -h che la RAM sia sufficiente.
Le dimensioni in tabella si riferiscono ai tag predefiniti della libreria. I modelli di solito sono compressi (quantizzati) a circa 4 bit. A 16 bit di precisione, 8 miliardi di parametri occupano circa 16 GB, e la compressione li porta a circa 5 GB, come in tabella. In cambio si rinuncia a un po' di qualità.
Usarlo dalle applicazioni
Ollama espone un'API locale. Dall'interno del server puoi provarla così:
curl http://127.0.0.1:11434/api/generate -d '{"model":"llama3.2:3b","prompt":"Hello, introduce yourself.","stream":false}'
La risposta torna in formato JSON. Gli strumenti di automazione e le tue applicazioni possono collegarsi alla stessa API.
Gestire la memoria
- Di default Ollama tiene un modello in memoria per 5 minuti dopo l'ultima richiesta. In questo periodo è normale che la RAM sembri piena.
ollama stop MODEL_NAMEscarica subito il modello. OLLAMA_MAX_LOADED_MODELSlimita quanti modelli possono restare caricati contemporaneamente. Su una CPU il valore predefinito è 3. Se la RAM è poca, impostalo a 1, altrimenti chiamando modelli diversi uno dopo l'altro restano tutti in memoria.OLLAMA_NUM_PARALLELè il numero di richieste parallele per modello e vale 1 di default. Più lo alzi, più RAM serve.
Sicurezza
- Di default Ollama ascolta solo sulla porta 11434 di
127.0.0.1. Se lo apri conOLLAMA_HOST, chiunque conosca l'indirizzo può usare il tuo modello, perché di default l'API non ha nessun passaggio di autenticazione. Non esporlo. - Per l'uso da remoto basta un tunnel SSH:
ssh -L 11434:127.0.0.1:11434 user@SERVER_IP - Docker salta le regole di ufw per le porte che pubblica. Per questo associa la porta solo all'indirizzo locale, come sopra.
- Per chattare da un browser puoi installare un'interfaccia come Open WebUI. Eseguila dietro HTTPS e proteggila con account utente.
Dati e licenze
Quando esegui un modello sul tuo server, le tue conversazioni restano sul tuo server. Ollama offre anche modelli che girano nel cloud: non girano sul tuo server e sono fuori dallo scopo di questo articolo. Ogni modello ha una propria licenza, quindi leggi la licenza nella pagina del modello prima di un uso commerciale.
Ingrandire il server
Il fabbisogno di RAM cambia quando cambi modello. Se parti con un modello da 3 miliardi di parametri e passi a uno da 8 miliardi, ingrandisci il server dal pannello. Ingrandire non cancella il server, e il tuo indirizzo IP e i tuoi dati restano gli stessi. Quando riduci, il disco non si restringe, e dato che i modelli possono riempire un disco, tieni conto anche del disco.
Puoi calcolare il tuo prezzo nella pagina dei prezzi.
Già pronto su Seturack: Ollama, AnythingLLM, Qdrant.
Commenti0
Ancora nessun commento
Condividi per primo la tua opinione.
Accedi o registrati per lasciare un commento.