software,

LM Studio, un LLM sul tuo computer

Sabino Maggi Sabino Maggi Segui 31-Mar-2025 · 11 minuti di lettura
Condividi

Chi mi conosce sa che uso gli LLM (Large Language Models, ovvero modelli linguistici di grandi dimensioni) per quello in cui servono davvero, ma sono scettico, anzi molto scettico, sul fatto che siano davvero intelligenti o che possano risolvere qualunque problema, come ci ripetono tutti i giorni quelli di OpenAI, di Microsoft, di Google o di Meta. I quali, guarda caso, sugli LLM hanno investito (o buttato, vedete voi) una quantità indegna di dollari e hanno tutto l’interesse a spingere chiunque ad usarli in modo parossistico.

LLM, ovvero (tanta) statistica al lavoro

In realtà gli LLM non comprendono il significato dei testi che generano, tutto quello che fanno è predire ciascuna parola, pescandola fra quelle presenti nei miliardi di documenti che hanno analizzato. I modelli statistici su cui si basano non sono in grado di verificare la veridicità delle informazioni, né hanno una reale consapevolezza del contesto della frase, ma si basano esclusivamente sulla probabilità di comparsa di ogni parola in un testo.

Questo conduce spesso ad errori, a volte ridicoli, altre volte molto pericolosi.

In pratica, gli LLM sono degli studenti che hanno imparato la lezione a memoria, ma che non riescono ad andare oltre ciò che è scritto nel libro di testo. E ogni tanto sbagliano pure la pagina del libro!

Una volta compresi questi limiti, gli LLM si rivelano molto utili se li consideriamo degli strumenti informatici come tanti altri e ne sfruttiamo l’enorme capacità di elaborazione del linguaggio per analizzare un testo, per riassumerlo o espanderlo, per tradurlo in altre lingue e così via.

Gli LLM sul web

Il modo più comune per usare un LLM è nella forma di un chatbot, ovvero di un sistema interattivo al quale si fanno domande e si ottengono risposte, simulando una normale conversazione fra umani. Nella maggior parte dei casi tutto ciò avviene tramite una interfaccia web come quella di ChatGPT, di Copilot, di Gemini, di Claude o di Mistral AI. Senza dimenticare DeepSeek, che tanta controversia ha generato negli ultimi due mesi (e che useremo fra poco).

Alcuni chatbot hanno anche delle applicazioni native per dispositivi desktop o mobili (come ad esempio ChatGPT o Claude), ma non credo di sbagliarmi se dico che sono poco più di interfacce per l’accesso rapido alla versione web.

In tutti i casi, il processo di generazione avviene sempre su un server remoto di un data center collocato chissà dove. Un dettaglio quasi sempre irrilevante, ma che può creare molti problemi se utilizziamo un LLM per elaborare dei dati personali o delle informazioni riservate.

Gli LLM in locale

Ma non siamo mica costretti ad usare un LLM sul web! Moltissimi LLM possono essere usati in locale, direttamente sul proprio computer. E non abbiamo nemmeno bisogno di darci da fare con il Terminale, come succede con ollama, ma possiamo rimanere comodamente nell’ambiente familiare di un normale programma per il nostro Mac, o per un PC su cui gira Windows o Linux.

Di questi programmi ce ne sono una infinità, ma hanno tutti dei tratti comuni: una volta installato il programma, bisogna prima di tutto scaricare uno (o più) modelli da utilizzare;1 dopo di che potremo interagire con il modello direttamente attraverso l’interfaccia del programma, senza che nemmeno un byte di quello che facciamo lasci il nostro computer per il mondo, sempre più ostile, della rete.

LM Studio

Ma quale programma scegliere fra i tanti disponibili, come Msty, LM Studio, GPT4All, Jan, LibreChat?

Non so voi, ma a me LM Studio ha fatto una buona impressione fin dall’inizio. LM Studio gira sui tre sistema operativi principali, ma per utilizzarlo su macOS serve un processore Apple Silicon, mentre su Linux serve un processore Intel. Solo la versione per Windows supporta sia i processori Intel che ARM (ma sarei proprio curioso di vedere come funziona sotto Windows per ARM).

La versione attuale è la 0.3.14 e l’installazione sul Mac richiede, come al solito, di fare doppio click sul file .dmg e di trascinare l’icona del programma sulla cartella Applicazioni. Sul Mac l’applicazione occupa ben 1.26 GB, quindi non è esattamente un programma leggero. Del resto si basa su Electron, e questo spiega tutto.

Su Linux il processo di installazione è molto simile, perché il programma è disponibile in formato AppImage. Questo significa che, oltre all’eseguibile vero e proprio, include al suo interno tutte le librerie e i file di supporto necessari per l’esecuzione, né più né meno di come avviene da decenni su macOS. Per Windows, invece, bisogna eseguire il solito installer, che spargerà di tutto in ogni anfratto del sistema operativo.

Alla scoperta di LM Studio

Arrivati a questo punto, non resta che eseguirlo per la prima volta. La prima cosa da fare è scaricare un primo modello, in modo da poter iniziare ad usare il programma.

Io scelgo il modello proposto di default, che guarda caso è una versione distillata di DeepSeek con solo 7 miliardi di parametri (quella completa ne ha 100 volte di più). Il modello occupa 4.7 GB e viene scaricato nella directory nascosta ~/.lmstudio/models/.

Il processo di download non è per niente veloce, per cui bisogna armarsi di un bel po’ di pazienza.

Come consigliato dallo stesso programma, mentre il download prosegue vado avanti ad esplorare l’interfaccia, che è quella classica a cui ormai siamo abituati, con una grossa area centrale dedicata al dialogo con il chatbot di turno, mentre la colonna laterale ospita alcune icone che, dall’alto in basso, consentono di attivare la modalità Chat o Developer e di verificare quali modelli sono installati sulla nostra macchina e quali altri modelli sono disponibili.

L’ultima icona in basso a sinistra mostra lo stato del download del modello. Cliccandoci sopra si possono avere informazioni sulla quantità di dati già scaricati, il tempo previsto per il completamento e, se necessario, mettere in pausa o interrompere il processo di scaricamento. Se il processo di scaricamento va in timeout, è anche possibile riprenderlo dal punto in cui si era interrotto.

Con il modello scelto a me è successo più volte, per cui dategli una occhiata ogni tanto. Una volta concluso lo scaricamento del modello, è necessario caricarlo in LM Studio per poterlo usare. Per farlo, si possono usare due bottoni Load Model distinti, per cui è difficile dimenticarselo.

Una volta caricato il primo modello, l’interfaccia di LM Studio cambia leggermente, mostrando al centro della finestra alcuni prompt di esempio. Nella barra superiore, il nome del modello caricato appare al centro, affiancato da due icone: quella a sinistra consente di configurare i parametri del modello, mentre quella a destra permette di sostituire il modello corrente con un altro. Un’icona a forma di beuta sulla destra offre l’accesso alle impostazioni avanzate di configurazione.

La barra inferiore del programma mostra alcune informazioni utili, a sinistra la versione di LM Studio e a destra la quantità di RAM e di CPU in uso.

L’ultima icona a destra della barra inferiore permette di accedere alle impostazioni del programma. Ed è anche l’unico modo per farlo perché, stranamente, non esiste una voce di menu dedicata a queste impostazioni.

La stessa barra permette anche di selezionare la modalità di utilizzo del programma, scegliendo fra User (che nasconde le icone laterali), Power User (la modalità predefinita) e Developer (che apparentemente non modifica l’interfaccia).

Mettiamo LM Studio alla prova

A questo punto non resta che mettere LM Studio (e DeekSeek) alla prova, magari usando uno dei prompt di esempio. Non ho bisogno di chiedere a una intelligenza artificiale qual’è la capitale della Francia, il cubo di Rubik è una roba troppo anni ‘80, vediamo come se la cava con la matematica.

Deepseek ci pensa su un minuto, ma poi tira fuori una bella prova del teorema di Pitagora basata sulle proporzioni. Come gli ho chiesto esplicitamente, formatta pure le equazioni in LaTeX, che è sempre una bella cosa.

E se clicco sul triangolino nel box Thoughts, mostra perfino il ragionamento che ha seguito per arrivare a quella dimostrazione. Davvero niente male!

Finora ho usato un Mac Mini M1 con 16 GB di RAM. Ma io ho a disposizione anche un Mac Studio M2 Ultra con 192 GB di RAM, quanto ci metterà?

Fare un confronto non è semplice perché, anche se si usa esattamente lo stesso prompt, le risposte del Mac Mini e del Mac Studio sono sempre diverse, a dimostrazione della natura puramente statistica dei ragionamenti fatti dagli LLM. Lo si può vedere nelle due immagini qui sotto, dove il Mini è riconoscibile per il tema chiaro che ho usato finora, mentre il Mac Studio è configurato per usare un tema scuro.

Ripetendo la stessa domanda per cinque volte sul Mac Mini, il tempo di risposta varia tra 80 e 120 secondi, con una velocità costante di 10-11 token al secondo.2 Sul Mac Studio, invece, le risposte vengono generate in 15-45 secondi, con una velocità di 60-70 token al secondo. Ad occhio e croce, quindi, la velocità di generazione del testo sul Mac Studio è circa 6-7 volte maggiore di quella del Mac Mini.

Abbassiamo la temperatura

Ma io sono testardo e, per confrontarli in modo più accurato, vorrei che i due Mac mi diano sempre la stessa risposta. Per riuscirci, devo cliccare sull’icona a forma di beuta in alto a destra e impostare Temperature a zero (il valore di default è 0.8).

In queste condizioni,o il Mac Mini impiega da da 75 a 140 secondi per elaborare le sue risposte, mentre il Mac Studio ce la fa in 11-22 secondi. La cosa strana è che, nonostante le risposte siano sempre le stesse, il numero di token generati cambia ogni volta, per cui anche in questo caso la velocità del Mac Mini è sempre di 10-11 token al secondo, mentre il Mac Studio è meno costante e genera 60-80 token al secondo.

Per uno studio più scientifico bisognerebbe lavorare in condizioni molto più controllate, ma per ora ci possiamo accontentare di dire che, anche con questa configurazione, il Mac Studio è almeno 6-7 volte più veloce del Mac Mini.

E ChatGPT?

Per confronto, quanto ci mette ChatGPT? Se gli faccio la solita domanda sul teorema di Pitagora attivando l’opzione Reason, ChatGPT mi propone due risposte diverse, molto dettagliate e ben scritte. E per farlo ci mette appena 28 secondi, che è un tempo paragonabile a quello del Mac Studio.

Devo ammettere che sono impressionato dalla velocità di ChatGPT. È vero che ChatGPT gira su dei server che non hanno nulla da spartire con i miei due Mac, però è altrettanto vero che questi devono rispondere a migliaia di richieste in parallelo alla mia, mentre i Mac sono solo al mio servizio.

Conclusioni (per ora)

In ogni caso l’obiettivo di questo articolo non è mettere a confronto ChatGPT con altri LLM, ma verificare se è possibile utilizzare un LLM direttamente sul nostro computer, evitando di far girare informazioni riservate per la rete.

È anche vero che sia il Mac Mini che il Mac Studio non si accorgono nemmeno che LM Studio sta effettuando le sue elaborazioni, quindi ci dovrebbe essere spazio per delle ottimizzazioni. Ma questo (e altro) lo vedremo nel prossimo articolo.

  1. Un “modello” è l’insieme dei pesi, delle regole matematiche e delle strutture neurali che costituiscono un determinato LLM. 

  2. Un “token” è l’unita fondamentale di testo elaborata dal modello e può corrispondere a una parola intera, a una parte di parola, a uno spazio o a un segno di punteggiatura. La scelta di rappresentare una parola con un solo token o con più token dipende dalla sua frequenza d’uso. Se una parola è molto comune, verrà utilizzato un singolo token per rappresentarla. Se invece una parola è usata di rado, non ha senso aggiungere l’intera parola al vocabolario del modello, ma questa verrà scomposta in sottoparole più comuni. 

Sabino Maggi
Pubblicato da Sabino Maggi Segui
Commenti

Aggiungi un commento