Gemma 4 ha appena sostituito tutto il mio stack LLM locale
I LLM locali sono stati per lo più una novità per me. Li ho usati da quando sono diventati comodi, ma comunque, principalmente per la novità. Ne avviavo uno, poi rimanevo lì a pensare, ehi, questo sta succedendo sul mio computer! È fantastico. Ma per la maggior parte degli usi pratici, era tutto qui.
Perché quando sono serio riguardo a qualcosa, ricorro comunque a un grande chatbot come Claude, Gemini o ChatGPT. Non serve nemmeno chiedere il perché. Perché un modello funzioni a una velocità ragionevole sul mio computer o sul tuo, deve essere piccolo. I modelli piccoli non sono minimamente capaci o precisi come quelli grandi nel cloud. Quindi, se vuoi davvero che un LLM locale sia pratico, di solito ti serve un hardware assurdo: una grande GPU, una CPU potente e molta, molta RAM. La maggior parte di noi non ce l’ha. Dopotutto, le aziende di infrastruttura AI sono impegnate a comprare tutta la RAM così noi non possiamo. È una battaglia in salita.
La storia non è però così cupa. Recentemente, Google ha lanciato la linea di modelli Gemma 4. Questo è diverso da Gemini. Non è il modello che alimenta il chatbot, ma i due condividono comunque del DNA. La sorpresa più grande con Gemma 4 è che è completamente open-source. Una licenza Apache! Solo questo lo fa distinguere.
Non è tutto. Gemma 4 ha anche un addestramento molto interessante con MoE. In termini semplici, il sistema mixture-of-experts qui funziona in modo diverso. Permette a Gemma di comportarsi con qualcosa di più vicino alla precisione di un modello da 26B, mentre funziona alla velocità di uno da 4B.
Gemma 4 è disponibile anche in varianti più piccole come E4B ed E2B. Queste sono pensate per hardware molto più piccolo, forse anche qualcosa come un Raspberry Pi. Ma la cosa importante è questa: non sono davvero comparabili ai modelli che avevamo prima a questa dimensione. Questo è ciò che le rende interessanti.
Mettere alla prova Gemma 4
Dall'inizio alla fine
Volevo spiegare come Google abbia realizzato questo e perché Gemma 4 sembra così diversa, ma onestamente, è più facile semplicemente mostrarlo in azione.
Avevo già impostato Continue.dev in VS Code per la programmazione locale. Ho configurato OpenClaw con LM Studio. Ho anche Aider, nel caso volessi qualcosa di simile a Claude Code che funzioni localmente. Tutti questi possono essere fatti funzionare con Gemma 4 tramite LM Studio, ed è piuttosto semplice da configurare grazie all'endpoint API simile a OpenAI di LM Studio.
Per questo test, sto usando il modello Gemma 4 E4B. Per contesto, il mio setup ha una RX 6700XT da 12 GB e 64 GB di RAM DDR4. So che la mia GPU può gestire più di un modello piccolo, ma rimango su questo perché voglio scaricarlo completamente sulla GPU. Ho provato il fratello maggiore, e non era semplicemente altrettanto veloce.
Come test di base, iniziamo con un prompt di scrittura. Questo è uno dei principali vantaggi dei LLM locali: puoi scriverci in privato, senza che nulla venga usato per l'addestramento. E con modelli locali abilitati, puoi anche aggirare alcuni dei comportamenti restrittivi di censura e rifiuto che vedi nei principali chatbot.
Quindi ho chiesto a Gemma di rispondere a un preventivo.
Rispondi a questo paragrafo. Argomenta contro di esso, ma usa esattamente lo stesso tono. Non affrontarlo direttamente.
La risposta è stata buona! Non arriverò all'argomento più profondo di esso. Gemma 4 E4B ha risposto a questo in 0,26 secondi. Anche se ha pensato per 5 secondi prima. Questo è sul mio computer con la RX 6700XT.
In esecuzione sul mio MacBook M2 con 16 GB di RAM, ha risposto in 1,21 s ed è stato decente. |
Questo dovrebbe darti un'idea del perché questo mi entusiasma. Una delle prospettive più interessanti di un LLM locale capace, almeno per me, è usarlo con il mio diario. Ecco perché ho cercato così incessantemente di portare un LLM in Obsidian. Scrivo molto nel mio diario e a volte è piacevole avere un'altra prospettiva su ciò che ho scritto. Non posso chiedere a un umano perché è profondamente privato. Ma un LLM locale è privato in un modo in cui gli strumenti basati sul cloud semplicemente non lo sono. Per questa ragione esatta, non posso condividere quell'esperimento qui, quindi facciamo qualcos'altro con esso invece.
Scrivere non è tutto ciò che Gemma può fare
Metti gli occhi al lavoro
Questa volta, sto caricando il modello Gemma 4 E2B ancora più snello. Questo è solo da 4GB. Potresti eseguirlo su un telefono. |
La linea Gemma spunta tutte le caselle giuste per uno stack di modelli locale: pensiero, strumenti e visione. Usiano quest'ultima parte.
Volevo usare le capacità di visione di Gemma per rinominare alcune foto e sostituire i loro nomi di file con testi descrittivi naturali. Avrei potuto farlo tramite VS Code, o con OpenClaw, o con Aider. Ci sono molti modi per usare il modello per un compito di programmazione come questo. Ma questa volta ho usato il pannello chat di LM Studio con un prompt come questo:
Ho bisogno di uno script Python che scorra tutte le immagini nella cartella corrente (jpg, jpeg, png, gif, webp, bmp), invii ciascuna come immagine codificata in base64 a un'API locale compatibile con OpenAI su
http://127.0.0.1:1234/v1usando il modellogoogle/gemma-4-e2b, e chieda al modello di descrivere l'immagine in una frase naturale specifica sotto i 100 caratteri senza trattini. Lo script dovrebbe rinominare ciascun file con quella descrizione, mantenendo l'estensione originale del file in minuscolo, saltare il file se ne esiste già uno con quel nome, e stampare i progressi man mano che procede.
Gemma ha risposto in 0,54 secondi. Neanche un secondo intero. Avevo il mio codice e mi ha perfino detto quale pacchetto pip dovevo installare per farlo funzionare. L'ho installato, ho eseguito il file .py e ha funzionato.
Ed ecco, le mie foto sono state rinominate. |
Non hanno gradito i file .heic del mio iPhone, e ha sbagliato la batteria, ma per tutto il resto ha centrato il bersaglio. Mi ha risparmiato il fastidio di inventare descrizioni per un mucchio di foto. Ancora più importante, è stato veloce. Non ho dovuto caricare le mie foto sul computer di qualcun altro. Questo significa, prima di tutto, che le foto restano sul mio computer, e secondo, che non si spreca larghezza di banda caricandole su Internet. Questo è ancora più importante quando si tratta di molte foto di grandi dimensioni.
Il modello Gemma 4 più piccolo è un modello molto competente per le sue dimensioni, ma è necessario rispettarne i limiti. La debolezza più grande in uno stack LLM locale è la dimensione del contesto. Semplicemente non posso eguagliare ciò che offrono Gemini o ChatGPT in questo senso. Quindi, se voglio qualcosa di ambizioso, come un simulatore completo del sistema solare in una risposta, il modello locale farà fatica. Ma se voglio che debbiti il codice, può assolutamente farlo. In uno di quegli stessi test, invece di usare Claude per debuggare il codice di ChatGPT, ho usato Gemma. E ha trovato il bug al primo tentativo. Non male per niente.
I LLM locali sono pratici ora
Posso vederlo ora. Ho già aggiunto un modello Gemma più grande come failover nella mia configurazione OpenClaw. Sicuramente continuerò a usare quello script per rinominare le foto in batch. Userò un modello locale più potente e veloce con i miei diari. I LLM locali stanno diventando sempre più utilizzabili. Sto già pensando di costruire un trascrittore e riassuntore di riunioni locale con esso.
Il mio hardware è esagerato per un modello piccolo come Gemma 4 E2B. Ma questo fa parte del punto. Non è necessario un hardware assurdo per ottenere un'esperienza fluida con questa cosa. La maggior parte dei computer moderni può farlo funzionare senza problemi.
Un LLM locale non è più solo un giocattolo che si avvia per meravigliarsi del fatto che funzioni offline. Non è più solo una novità da mostrare perché sembra futuristico. Per la prima volta da un po', sembra qualcosa che posso effettivamente integrare nella mia configurazione quotidiana e mantenerlo lì.












