Obiettivi della lezione
Nella Lezione 1 abbiamo visto che il livello 4 della scala vuol dire un modello aperto su macchine tue. In questa lo facciamo davvero: scegliamo un modello di Mistral, lo scarichiamo, lo accendiamo e gli facciamo la prima domanda dal terminale. Alla fine il modello risponde su un indirizzo del tuo computer, ed è quello che l'agente della Lezione 3 userà.
Alla fine della lezione riesci a:
- Spiegare che cosa sono i pesi di un modello e che cosa vuol dire che sono aperti;
- Leggere la licenza di un modello e capire se puoi usarlo in azienda;
- Scegliere la taglia giusta per la memoria del tuo computer, con il conto della quantizzazione;
- Accendere un modello con llama.cpp, e sapere quando conviene Ollama o vLLM;
- Misurare quanto è veloce, in token al secondo, sul tuo hardware.
Che cosa si scarica: i pesi
Un modello linguistico, una volta addestrato, è un file pieno di numeri: i pesi, cioè i parametri di cui parla la voce della wiki Cos'è un LLM. Ministral 3 8B ne ha circa otto miliardi. Quando un'azienda pubblica i pesi, chiunque può scaricare quel file e farlo girare sulle proprie macchine, senza passare dai server di chi l'ha fatto.
«Pesi aperti» e «open source» si usano spesso come sinonimi e non lo sono del tutto. Con i pesi hai il risultato dell'addestramento, e puoi usarlo, adattarlo e ridistribuirlo nei limiti della licenza. Non hai i dati su cui è stato addestrato né tutto il procedimento per rifarlo. Per la sovranità di un'azienda i pesi sono la parte che conta: rispondono alla seconda domanda della Lezione 1, «di chi è il modello?», con una copia che resta tua.
Le licenze dei modelli Mistral
Mistral pubblica i pesi di molti modelli, con licenze diverse. Questa è la situazione letta l'11 ottobre 2026 sulla pagina dei modelli e sui file di licenza di Hugging Face.
| Licenza | Modelli | Che cosa vuol dire per un'azienda |
|---|---|---|
| Apache 2.0 | Ministral 3 (3B, 8B, 14B), Mistral Small 4, Mistral Large 3, Devstral Small 2, Magistral Small, Shieldstral | Uso commerciale libero, modifiche e ridistribuzione comprese |
| MIT modificata | Mistral Medium 3.5, Devstral 2 | Esclude le aziende con un fatturato consolidato sopra i 20 milioni di dollari al mese |
| CC BY-NC 4.0 | Voxtral TTS | Niente uso commerciale |
| Solo API | Codestral 25.08, i modelli per l'OCR e per gli embedding | Pesi non disponibili: si usano attraverso i server di Mistral |
Due avvertenze. Mistral Large 4, il modello di punta, è in anteprima dal 6 ottobre 2026 e Mistral ha annunciato che i pesi escono a fine mese; la licenza non è ancora scritta, quindi oggi non si può dire se sarà Apache 2.0. E la licenza si legge sul file LICENSE del modello: nelle domande frequenti del listino di Mistral c'è una frase che attribuisce ad Apache 2.0 limiti all'uso commerciale che la licenza Apache non contiene. Fa fede il testo della licenza.
Quale taglia per quale computer
La domanda pratica è quanta memoria serve. Un modello deve stare tutto in memoria mentre lavora: sulla scheda grafica in un PC, nella memoria unificata su un Mac con chip Apple. Il conto parte dal numero di parametri e dalla quantizzazione, cioè da quanti bit si usano per scrivere ogni peso.
I pesi originali usano 16 bit per numero: otto miliardi di parametri fanno circa 16 GB. Riducendo la precisione a 4 o 5 bit per peso, che è quello che indica la sigla Q4_K_M, lo stesso modello scende a 5,2 GB e perde poco in qualità. A questo si aggiunge la memoria per il contesto, cioè per il testo che il modello tiene sott'occhio: uno o due gigabyte per qualche decina di pagine.
| Modello | Parametri | File quantizzato | Dove gira |
|---|---|---|---|
| Ministral 3 3B | 3 miliardi | 3,0 GB | Qualunque portatile recente |
| Ministral 3 8B | 8 miliardi | 5,2 GB | Un computer con 16 GB di memoria |
| Ministral 3 14B | 14 miliardi | 8,2 GB | Un computer con 24 GB |
| Devstral Small 2 | 24 miliardi | 15 GB | Una scheda RTX 4090 o un Mac con 32 GB, scrive Mistral |
| Mistral Small 4 | 119 miliardi, 6 attivi | non pensato per un computer | Almeno quattro GPU H100: un server |
| Mistral Large 3 | 675 miliardi, 41 attivi | non pensato per un computer | Un gruppo di server |
Le dimensioni dei file vengono dai GGUF ufficiali di Mistral su Hugging Face e dalla libreria di Ollama; i requisiti dei modelli grandi dalle loro pagine di presentazione. «Attivi» vuol dire che il modello è fatto di tanti esperti e per ogni token ne usa solo una parte: va più veloce, ma in memoria deve starci tutto.
Per il corso uso Ministral 3 8B: gira su un computer da ufficio, ha la licenza Apache 2.0, nella sua scheda l'italiano è fra le lingue supportate, e sa usare gli strumenti, che è quello che serve nella Lezione 3. Il 14B fa la stessa cosa meglio, se hai la memoria.
Tre motori per farlo girare
Il file dei pesi da solo non fa niente: serve un programma che lo carichi e risponda alle domande. Ce ne sono tre che contano, e tutti e tre espongono lo stesso tipo di indirizzo, /v1/chat/completions, così il codice che li usa non cambia.
- llama.cpp è il motore leggero, scritto in C++, che gira bene su Mac e su PC senza scheda grafica dedicata. Il suo programma
llama-serverè quello che uso in questo corso, e tutti i numeri della Lezione 4 vengono da lì. - Ollama mette llama.cpp dentro un'applicazione comoda, che scarica i modelli per nome. È la strada più veloce per provare. Ricorda la nota della Lezione 1: alcuni modelli della sua libreria sono cloud e girano sui server di Ollama.
- vLLM è il motore per servire molte persone insieme su schede grafiche NVIDIA, ed è quello che Mistral raccomanda nella sua documentazione per il deployment. Si usa quando il modello passa dal computer di una persona al server dell'ufficio.
Con llama.cpp, su Mac
Si installa con Homebrew e si scarica il file ufficiale di Mistral da Hugging Face, poi si accende. L'opzione --jinja fa usare al server il modello di conversazione che sta dentro al file, ed è quella che permette al modello di chiamare gli strumenti: senza, l'agente della Lezione 3 non funziona.
brew install llama.cpp
curl -L -o Ministral-3-8B-Instruct-2512-Q4_K_M.gguf \
https://huggingface.co/mistralai/Ministral-3-8B-Instruct-2512-GGUF/resolve/main/Ministral-3-8B-Instruct-2512-Q4_K_M.gguf
llama-server -m Ministral-3-8B-Instruct-2512-Q4_K_M.gguf --jinja --port 8080 -c 16384
Quando nel terminale compare la riga che dice che il server ascolta, il modello è pronto su http://localhost:8080. Il file è di 5,2 GB: controlla che il download sia arrivato in fondo prima di accendere, perché un file troncato dà errori poco chiari.
Con Ollama
ollama pull ministral-3
OLLAMA_NO_CLOUD=1 ollama serve
Ollama risponde su http://localhost:11434/v1, e il nome del modello da usare nelle richieste è ministral-3. Il tag predefinito è l'8B quantizzato a 4 bit, 6 GB.
Con vLLM, su un server con GPU NVIDIA
Il comando viene dalla scheda del modello su Hugging Face, e le ultime due opzioni sono quelle che la scheda indica come necessarie per usare gli strumenti:
vllm serve mistralai/Ministral-3-8B-Instruct-2512 --tokenizer_mode mistral \
--config_format mistral --load_format mistral \
--enable-auto-tool-choice --tool-call-parser mistral
Che cosa ho provato e che cosa no
Il comando di llama.cpp l'ho eseguito su un Mac con chip M5 e 24 GB di memoria, ed è quello che ha prodotto tutti i numeri di questo corso. I comandi di Ollama e di vLLM vengono dalla documentazione ufficiale e qui non li ho eseguiti: Ollama non era installato e vLLM vuole una scheda NVIDIA.
La prima domanda
Con il server acceso, apri un secondo terminale e chiedi qualcosa. Questa richiesta ha la stessa forma che userà l'agente:
curl -s http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"messages":[{"role":"user","content":"In una frase: che cosa vuol dire tacito rinnovo in un contratto?"}]}'
La risposta arriva in JSON. Il testo sta in choices[0].message.content, e in fondo llama-server aggiunge un campo timings che ci serve per la prossima sezione. In questo momento nessun byte è uscito dal tuo computer: puoi verificarlo staccando la rete e rifacendo la domanda.
Quanto è veloce
La velocità di un modello in casa si misura in token al secondo, e i numeri sono due: quanto in fretta legge (il testo che gli mandi) e quanto in fretta scrive (la risposta). Li ho misurati con llama-server sul Mac del corso, mediana di cinque richieste:
| Modello | Lettura | Scrittura |
|---|---|---|
| Ministral 3 8B, Q4_K_M | circa 290 token al secondo | circa 14 token al secondo |
| Qwen3-4B, Q4_K_M, per confronto | circa 500 token al secondo | circa 23 token al secondo |
Misure dell'11 ottobre 2026: Mac con chip M5 e 24 GB, llama.cpp, una richiesta di circa 2.700 token letti e 300 scritti, Mac a batteria. Con un testo corto davanti la scrittura di Ministral sale a circa 20 token al secondo, perché più contesto c'è da tenere sott'occhio, più ogni token costa.
Tradotto in tempi: un contratto di tre pagine, circa tremila token, Ministral lo legge in una decina di secondi, e una nota di trecento token la scrive in una ventina. Una prova intera dell'agente della Lezione 3, con tre contratti letti e una nota scritta, ha richiesto in mediana 36 secondi. Per un agente che lavora in sottofondo su una cartella di documenti va benissimo; per una chat in cui una persona aspetta la risposta parola per parola è al limite. Su una scheda grafica dedicata gli stessi modelli vanno parecchie volte più veloci, ed è il motivo per cui il server dell'ufficio usa vLLM.
Laboratorio: il modello sul tuo computer
Obiettivo: un modello di Mistral che risponde sul tuo computer, con la sua velocità misurata.
Consegna
- Guarda la memoria del tuo computer e scegli la taglia dalla tabella: 16 GB per l'8B, 24 GB per il 14B, meno di 16 per il 3B.
- Leggi la licenza del modello scelto, aprendo il file
LICENSEo la scheda su Hugging Face. Scrivi in una riga se puoi usarlo nella tua azienda e perché. - Scarica e accendi il modello con llama.cpp o con Ollama.
- Fai la prima domanda con il comando
curlqui sopra, poi una seconda su un documento del tuo lavoro di colore verde, incollato nel testo della domanda. - Misura: con llama-server leggi
prompt_per_secondepredicted_per_secondnel campotimingsdi cinque risposte e prendi il valore di mezzo. Con Ollama trovi gli stessi numeri lanciandoollama run ministral-3 --verbose. - Stacca la rete e rifai la domanda. Se risponde, sei al livello 4.
Risultato atteso
Il modello acceso su un indirizzo del tuo computer, una riga sulla licenza, e due numeri di velocità. Se il computer ha meno memoria di quella che serve, il modello parte lo stesso e va molto più lento perché il sistema sposta pezzi su disco: in quel caso scendi di una taglia.
Mini-test di autoverifica
Istruzioni
Sezione A: 6 domande a risposta multipla (1 punto). Sezione B: 2 domande aperte (3 punti). Totale 12. Soglia: 60% (8/12).
Sezione A: risposta multipla
- I pesi di un modello sono:
a) i dati di addestramento b) il file di numeri che risulta dall'addestramento c) il programma che lo fa girare d) le regole d'uso - Con la licenza Apache 2.0 un'azienda può:
a) usare il modello solo per ricerca b) usarlo e modificarlo anche a fini commerciali c) usarlo solo sotto i 20 milioni di fatturato d) usarlo solo via API - Un modello da 8 miliardi di parametri quantizzato a 4-5 bit pesa circa:
a) 500 MB b) 5 GB c) 16 GB d) 80 GB - L'opzione
--jinjadi llama-server serve a:
a) velocizzare il modello b) usare il modello di conversazione del file, che permette le chiamate agli strumenti c) tradurre le risposte d) collegarsi a internet - Per servire un modello a tutto l'ufficio su schede NVIDIA si usa di solito:
a) Ollama b) vLLM c) un browser d) Excel - Un modello «cloud» nella libreria di Ollama:
a) gira sul tuo computer b) gira sui server di Ollama c) è più piccolo d) non esiste
Sezione B: risposta aperta
- (3 punti) Il tuo computer ha 16 GB di memoria. Quale modello di Mistral scegli per un agente in casa, con quale quantizzazione, e perché?
- (3 punti) Un collega dice che «Mistral è open source, quindi si può usare tutto gratis in azienda». Correggilo con un esempio preso dalla tabella delle licenze.
Mostra risposte corrette
Sezione A
- b: sono il risultato, i dati restano a chi ha addestrato.
- b: Apache 2.0 permette l'uso commerciale.
- b: 5,2 GB il file ufficiale
Q4_K_M. - b: senza, gli strumenti non funzionano.
- b: è il motore che Mistral raccomanda per il deployment.
- b: e quindi esce dal livello 4.
Sezione B, risposte modello
7. Ministral 3 8B in Q4_K_M: il file pesa 5,2 GB e lascia memoria per il contesto e per il resto del sistema. Ha licenza Apache 2.0 e sa usare gli strumenti. Il 14B starebbe stretto e rallenterebbe tutto.
8. Esempio: Mistral Medium 3.5 ha una licenza MIT modificata che esclude le aziende sopra i 20 milioni di dollari di fatturato al mese, Voxtral TTS non si può usare a fini commerciali, e Codestral 25.08 non ha i pesi pubblici. Per Ministral 3 e Mistral Small 4, che sono Apache 2.0, il collega ha ragione.
Valutazione (su 12)
- 11-12: ottimo. 8-10: sufficiente. < 8: rileggi le licenze e il conto della quantizzazione.
Riassunto della lezione
Cosa hai imparato
- I pesi sono il modello, e averli in casa risponde alla domanda «di chi è?».
- La licenza si legge sul file, e fra i modelli Mistral ce ne sono di quattro tipi.
- La memoria decide la taglia: parametri per bit, più il contesto.
- Tre motori, un indirizzo: llama.cpp per il computer, Ollama per provare, vLLM per il server.
- La velocità si misura, in lettura e in scrittura, sul tuo hardware.
Prossimi passi
Nella Lezione 3, L'agente in cento righe diamo al modello degli strumenti: leggere i documenti di una cartella, fare i conti sulle date, scrivere una nota. Lascia il server acceso.
Un agente sovrano dentro la tua azienda?
Questo corso lo porto anche in azienda: si parte dai vostri documenti e dai vostri processi, e alla fine l'agente gira sulle vostre macchine.