GPT4ALL la tua AI personale ed offline
Di Nanni Bassetti
I Large Language Models (LLM) come ChatGPT hanno rivoluzionato il modo in cui interagiamo con la tecnologia, offrendo capacità di conversazione e di generazione di contenuti sempre più sofisticate. Tuttavia, la maggior parte di questi strumenti opera online, sollevando legittime preoccupazioni sulla privacy e sulla sicurezza dei dati personali.
In questo contesto, emerge GPT4All, una soluzione innovativa che promette di portare la potenza degli LLM direttamente sui dispositivi degli utenti, senza la necessità di una connessione Internet. Questa iniziativa open-source non solo affronta le questioni relative alla privacy, ma apre anche un mondo di possibilità per personalizzare l’esperienza dell’intelligenza artificiale. Con GPT4All, gli utenti hanno la libertà di creare assistenti virtuali su misura, adattati alle loro esigenze specifiche, senza temere che i loro dati sensibili possano essere esposti online.
Questo strumento può servire da ponte tra le capacità avanzate dei LLM e il bisogno crescente di soluzioni di IA personalizzabili e rispettose della privacy.
Di cosa parliamo quando parliamo di ai Large Language Models (LLM)
Conosciamo tutti ormai gli LLM (Large Language Model) che impazzano da meno di due anni nel web, primo fra tutti ChatGPT, seguito da Bard di Google, Copilot di Microsoft, oltre a tanti altri online.
Sono modelli di IA che permettono agli utenti di dialogare con una “macchina”, che risponde su tanti argomenti in maniera veramente discorsiva ed umana, ma la sua base d’apprendimento è l’insieme dei dati che hanno fornito gli sviluppatori, prendendoli da tantissime fonti online e offline.
Con ChatGPT 4, ossia la versione a pagamento, c’è la possibilità di creare i GPTs, ossia dei “cervelli” o, meglio, degli assistenti personalizzati di ChatGPT, in estrema sintesi sono il motore pre-addestrato di ChatGPT che può lavorare anche su dei dati (documenti, ecc.) forniti dall’utente.
In sostanza, se un utente vuole creare un GPT che sappia rispondergli su dati personali o customizzati, li può fornire ed essi diverranno parte della base di conoscenza del modello, così da avere un GPT specializzato in un determinato argomento.
Per esempio, si potrebbe creare un GPTs che aiuta a gestire le finanze personali, caricando estratti conti, spese, risparmi, grafici, report di entrate ed uscite, oppure un GPTs che possa scrivere la biografia dell’utente o che sappia organizzare o generare immagini usando anche le foto caricate.
I GPTs sfruttano tutta la potenza di ChatGPT, che ha anche dei plugin come Dall-E per la generazione e lettura delle immagini, Codex per la scrittura di codici e dashboard, insomma tanta roba.
La privacy e i GPTs: una preoccupazione crescente
Il problema dei GPTs è la privacy, infatti con tutte le tutele del caso, comunque stiamo caricando dei documenti personali che saranno digeriti dal sistema e questo fa sempre storcere il naso.
Il rischio privacy è che un LLM come GPT, possa rivelare o ricostruire alcuni dei dati di addestramento che ha memorizzato sotto forma di embeddings (vettori numerici), ma nonostante ciò, se è stato addestrato con dati sensibili o personali, come nomi, numeri di telefono, email, ecc., questi dati potrebbero essere estratti o ricreati da alcune interrogazioni del modello.
Per evitare o ridurre questi rischi, è importante usare solo dati di qualità, verificati e anonimizzati per addestrare il GPT LLM, e proteggere i dati e i contenuti generati con misure di sicurezza adeguate.
Guida all’uso di GPT4All
Per questo motivo sono nati vari sistemi di GPT offline, ossia eseguibili sul nostro computer senza nemmeno esser collegati ad Internet.
Uno tra tutti è GPT4All, che ho selezionato perché mi è sembrato il più intuitivo e semplice da usare, inoltre è un progetto gratuito e open-source.
Chiaramente questo software è un divoratore di CPU, GPU e memoria; quindi, su un computer medio/basso andrà lento.
INIZIAMO
Scarichiamo GPT4ALL
Il programma è disponibile per Windows, Mac e Linux Ubuntu, in questo articolo andiamo a provare la versione per Windows.
Per usare GPT4All, bisogna installare il client desktop e scegliere il modello che si vuole usare, sul sito e dal client vi è una lista completa di modelli open-source.
Una volta scaricato il pacchetto d’installazione gpt4all-installer-win64.exe, possiamo lanciare il programma che ci chiederà subito quale modello vogliamo utilizzare.
I modelli scaricati sono, di default, nella directory C:/Users/nome_utente/AppData/Local/nomic.ai/GPT4All/ ma possiamo scegliere anche un’altra posizione.
I modelli di GPT4All: scelta e personalizzazione
I modelli negli LLM sono le architetture di apprendimento automatico che vengono usate per generare e comprendere il linguaggio naturale, come i trasformers[1], che usano un meccanismo di attenzione per soppesare l’influenza di diverse parole di input su ciascuna parola di output.
Ogni modello può essere più accurato e più grande di altri, con conseguente richiesta di più risorse di calcolo e memoria, nel nostro test utilizzeremo il modello Mistral Open Orca, un modello da 3.83 Gb con 7 miliardi di parametri, il modello sarà un file con estensione “.gguf”, quindi stiamo scaricando un modello di intelligenza artificiale pre-addestrato.
Nel parlare di modelli, abbiamo menzionato i parametri, essi definiscono la complessità del modello, più alto è il numero più il modello sarà preciso nel riconoscimento dei testi ed efficiente, si pensi che ChatGPT 4.0 ad oggi ha 100.000 miliardi di parametri, ovvero i pesi che determinano le connessioni tra i neuroni artificiali, contro i 175 miliardi di ChatGPT 3.5, da qui si capisce che il modello che useremo in GPT4All è notevolmente inferiore.
Aggiungere i file locali
Adesso dobbiamo anche scegliere il modello per inglobare (ingest) i nostri file locali[2] che vogliamo utilizzare per istruire il nostro assistente personalizzato.
Scegliamo SBert un piccolo modellino che non richiede chiavi per API e lavora tutto in locale.
In seguito, clicchiamo sul simbolo dell’ingranaggio in alto a destra ed apriamo questa finestra
Ho creato una finta guida per le immersioni subacquee con delle regole deliranti e tutte di fantasia, solo per dimostrare che il modello si approvvigionerà delle informazioni contenute nei miei file locali; quindi, clicchiamo ADD e selezioniamo “Show references” (opzione utile per indicarci la fonte, il file, dal quale lui sta estraendo le risposte).
SIAMO PRONTI A CHATTARE
Iniziamo la sessione di chat, clicchiamo sul simbolo del database in alto a destra e verifichiamo che la nostra guida NON sia selezionata:
Poi iniziamo a chattare col seguente prompt
P: Rispondimi in italiano, mi dici in che materiale è fatta la muta da subacqueo? e a che serve la decompressione e qual è la profondità massima per un subacqueo ricreativo?
R: Rispondo in italiano: La muta da subacqueo è realizzata principalmente in materiali resistenti all’acqua e alla pressione, come il neoprene. Essa serve per proteggere la pelle dal freddo dell’acqua e per consentire al subacqueo di muoversi facilmente durante l’immersione. La decompressione è un processo che aiuta i subacquei a ridurre il rischio di inalazione dei gas respiratori, come l’elio e l’azoto, evitando la formazione di bolle nell’organismo durante l’ascesa. La profondità massima per un subacqueo è generalmente tra i 35 ed i 45 metri a seconda delle agenzie certificative e del livello di addestramento.
Se invece attiviamo i local documents, prima cliccando New Chat dal menu in alto a sinistra
(le tre linee sovrapposte) e poi cliccando sul simbolo del database e spuntando la checkbox, otterremo un risultato diverso, influenzato dal contenuto del documento.
R: La muta è realizzata in materiali innovativi come il kevlar. Questo tipo di materiale offre comfort, flessibilità e durata senza paragoni, migliorando l’esperienza dell’immersione subacquea. La decompressione serve per ridurre i rischi di inabilità e intossicazioni da nitruro ematico durante le immersioni a profondità elevate. La massima profondità consigliata per un subacqueo ricreativo è 110 metri, al di sotto della quale è possibile immerger con sicurezza e stile.
Prima di concludere evidenziamo che cliccando sull’ingranaggio si possono cambiare alcuni parametri del modello prescelto, per effettuare delle regolazioni come la lunghezza della risposta ed altro ancora.
Conclusioni
Questo tipo di GPT offline è sicuramente acerbo rispetto ai “mostri” online come ChatGPT, Bard ed altri, però è interessante tenerli d’occhio perché ci possono permettere di avere qualcosa di nostro, personalizzato senza alcun timore di condividere dati; sicuramente funziona meglio se interrogato in inglese, non interagisce con le immagini e necessita di molte risorse, infatti è possibile anche scaricare modelli da oltre 6 Gb che richiedono oltre 16 Gb di RAM e comunque sarebbero sempre modelli molto ma molto deboli raffrontati a quelli online, anche se è possibile usare quelli online tramite API, ma questo andrebbe a snaturare l’idea di tenere tutto offline.
Prima di concludere segnalo anche un bel progetto italiano sulla creazione di questi assistenti IA personali: Lo Stregatto – https://github.com/cheshire-cat-ai/core
Buon divertimento!