Decidiamo oggi per un domani sostenibile

Intelligenza artificiale locale: un assistente a portata di clic

Cosa si intende per AI locale e perché potrebbe essere un’alternativa a quelle mainstream? Un viaggio tra i modelli open source, tra cloud, innovazioni e strategie imprenditoriali. 

martedì 27 febbraio 2024
Tempo di lettura: min

Fino a oggi abbiamo parlato dell’intelligenza artificiale controllata e gestita da un’azienda. Che agisce sul cloud (cioè non nel nostro computer) e da lì legge i nostri comandi e i dati che gli passiamo, rispondendoci. Ovviamente, questa architettura ha dei pregi e dei difetti. Il pregio è la possibilità di usufruire di computer molto potenti. Dopotutto abbiamo raramente bisogno della potenza necessaria per far funzionare un’intelligenza artificiale. Possiamo condividerla con gli altri. I difetti però sono tanti. Prima di tutto i nostri dati transitano per il cloud, che come un famoso meme ci ricorda, “non esiste il cloud, è soltanto il computer di qualcun altro”. Da un punto di vista di privacy è una scelta debole. Dobbiamo fidarci che non leggano i nostri dati. Possono essere cose non importanti, o importanti, o addirittura segreti industriali o di Stato. Poi non abbiamo il controllo di quale modello stiamo usando. Certo, ci viene comunicato (come nel caso di ChatGPT o di Gemini). E magari lo scegliamo pure (come nel caso di OpenAI). Ma dobbiamo sempre fidarci della parola dell’azienda venditrice di questo servizio. Azienda che può avere tutto il vantaggio a sostituire un modello con un altro meno costoso. Tanto non abbiamo modo di controllare. Poi c’è il problema, che abbiamo già accennato, della censura. Ci sono modelli raffinati (leggi censurati) e modelli non censurati (si legge proprio così). La censura scatta per motivi legali, etici, morali, o semplicemente di policy aziendale. Alcune di queste ragioni sono universali (come nel caso di suicidio di cui abbiamo parlato nel post precedente), altre sono locali e dipendono dalle leggi della nazione che ospita i server.

ChatGPT e oltre: il dilemma della censura nella corsa verso l'AGI

OpenAI cerca di migliorare i suoi strumenti, ma anche di mettersi al riparo da cause civili milionarie e pubblicità negativa. Qual è il limite dei “filtri” imposti all’intelligenza artificiale?

Infine, non abbiamo il controllo sull’intelligenza artificiale che stiamo usando. Non solo non possiamo verificare il livello di censura dell’AI, ma non sappiamo neanche su che documenti è stata educata. Si tratta di strumenti importanti che funzionano su base statistica. Ma noi possiamo solo fidarci che funzionino bene. Se, come diceva un’arguta signora al mercato “signora mia, quando si fa un figlio non si sa chi ci si mette in casa” (testuali parole) questo è ancora più vero per un’intelligenza artificiale. A meno che non sia a codice aperto, educata su un canone di testi ben definito, e che approviamo. E che facciamo funzionare in locale sul nostro computer. Riuscire a controllare tutti i passaggi è, al momento, irrealizzabile per una normale azienda; i costi sono proibitivi. Ma questo non vuol dire che dobbiamo abbandonare completamente l’idea di avere un controllo almeno parziale sull’intelligenza artificiale che usiamo.

Non è un dettaglio, molte aziende gestiscono dati privati dei loro utenti e per contratto li possono elaborare ma non condividere con altre aziende. Questo genere di accordo, grazie al Gdpr, è molto comune in Europa. Ma questo vuol dire che spesso non possono usare intelligenze artificiali su un cloud per gestire i dati (dal momento che verrebbero processati in altri Paesi). Davvero queste aziende dovrebbero rinunciare all’intelligenza artificiale nel loro lavoro?

Non necessariamente. Esistono delle intelligenze artificiali open source e altre che senza essere completamente aperte, rendono comunque il codice disponibile. In questo articolo ne analizziamo alcune.

Prima di tutto vediamo un paio di strumenti che ci permettono di far girare queste intelligenze artificiali nel nostro computer in maniera semplice. Il primo è Jan, disponibile da jan.ai. È un programma che ci permette di scaricare i pesi e far girare le intelligenze artificiali in locale. Ovviamente il computer deve essere abbastanza potente e moderno. Se è un Apple sarebbe il caso che avesse almeno una CPU M1, se invece è Windows o Linux potrebbe avere bisogno di una GPU NVidia. Il secondo programma è Ollama, disponibile su ollama.com. Esiste poi la possibilità di installare ciascuna intelligenza artificiale separatamente. Anche in questo caso il computer alla base deve essere sufficientemente potente.

Ollama ha di buono che possiamo far funzionare più modelli in parallelo, e a parità di modello, nella mia esperienza, richiede meno potenza di Jan. Però è meno facile da usare all’inizio. Poi diventa molto più semplice. Ollama inoltre permette di integrarlo con altri programmi, come se fossero le API di OpenAI. Abbiamo visto sistemi che generano agenti negli articoli precedenti, programmi che usavano l’intelligenza artificiale come motore per generare vari prodotti. Costoso alla lunga. Ma se l’intelligenza artificiale ce l’abbiamo in locale il costo scompare (resta il costo del computer e dell’elettricità). Tutto questo si può fare con Ollama. Con Jan le possibilità ci sono, ma solo per un’intelligenza artificiale alla volta. Per esempio vogliamo creare un piccolo villaggio di agenti che interagiscono tra di loro. Potremmo, con Ollama, dare un’AI differente a ciascuno di questi. Non lo possiamo fare con Jan (o con OpenAI).

Se vediamo su Ollama otteniamo la seguente lista di modelli disponibili (in ordine di popolarità): llama2, mistral, codellama, dolphin-mixtral, mistral-openorca, llama2-uncensored, mixtral, orca-mini, phi, llava e tanti altri.

In totale, ad oggi sono una sessantina e altri vengono aggiunti tutte le settimane. Ciascuno ha caratteristiche un po’ differenti. Vediamo alcune famiglie.

Intanto ci sono tutti i modelli artificiali della serie llama. Questi sono prodotti da Meta (l’azienda dietro Facebook, Instagram e Whatsapp): da llama2 (quello standard) a tutte le varianti. Codellama per discutere il codice, tinyllama per lavorare su computer con poca memoria, e così via. Al momento Meta ha dichiarato che sta sviluppando llama 3.

Poi ci sono i modelli prodotti dalla azienda Mistral AI, specializzata in intelligenze artificiali. Che ha sviluppato sia le AI Mistral che quelle Mixtral (da Mixture of Experts, 7 AI con specializzazioni differenti che vengono usate alternativamente). Ma c’è anche Gemma, l’ultima “gemma” di Google che meriterebbe un discorso a sé. E anche altri, per esempio llava (da Large language and video assistant). Una AI in grado di descrivere che cosa c’è in una immagine.

Tutto questo è disponibile gratis, e può girare nel nostro computer, posto che sia abbastanza potente. Ma in realtà non necessita di una potenza incredibile per molti modelli. Io per esempio, su un Macbook con CPU Intel Core I7 del 2017, posso far funzionare Mistral e llama2, ma Mixtral no.

[questo paragrafo è stato aggiunto da ChatGPT]

L'adozione dell'IA locale non solo allinea le aziende con le normative sulla privacy come il Gdpr, ma offre anche una gestione dei dati più diretta e sotto controllo. Questo approccio riduce significativamente la superficie di esposizione ai rischi di violazione dei dati, poiché le informazioni sensibili non devono lasciare il perimetro sicuro dell'infrastruttura aziendale. In pratica, ciò significa che le aziende possono elaborare e analizzare dati critici senza il timore che questi vengano compromessi o esposti durante la trasmissione o l'elaborazione nel cloud. Questa modalità di operare non solo rafforza la sicurezza dei dati, ma facilita anche la conformità a regolamenti complessi, permettendo alle aziende di dimostrare più facilmente che stanno adottando misure adeguate per proteggere le informazioni dei loro clienti.

[fine della parte aggiunta di ChatGPT]

Come appena detto, la cosa più interessante è che queste intelligenze artificiali locali non solo gestiscono i testi direttamente dentro al computer, ma possono essere integrate all’interno di programmi che sviluppiamo. E AI diverse sono più adatte per compiti differenti. Per esempio, useremo codellama se vogliamo un’intelligenza artificiale che ci aiuta a programmare, mistral per scrivere testi, yarn-llama2 che è in grado di leggere testi molto lunghi per fare dei riassunti e un’intelligenza artificiale non censurata che programmiamo per avere un amico e un’amica con cui parlare di tutto a ruota libera.

E infatti, come con i GPTs prodotti sulla base di GPT4 di OpenAI, queste AI possono essere programmate dando specifiche istruzioni. Non sono quasi mai al livello di GPT4. Ma sono gratis, private, e possono gestire documenti che potrebbero non avere il permesso di uscire dai computer aziendali. Una volta programmate, è come avere un assistente alla portata di un clic.

Abbiamo iniziato dicendo che questi modelli sono a sorgente aperta. In realtà, ciascun modello è aperto a modo suo. Per esempio i modelli llama sono a sorgente disponibile. Il che vuol dire che il codice può essere letto, ma non è disponibile la lista dei documenti su cui è stato educato. E mentre i codici iniziali di llama sono stati rilasciati grazie a un leak (divulgazione non autorizzata di informazioni riservate), Meta ha visto questi codici diventare la base su cui la comunità open source ha costruito. Che hanno incluso sviluppare delle versioni migliorate e dei fork di LLaMA (con miglioramenti in termini di efficienza, prestazioni e funzionalità che Meta ha prontamente copiato), correzioni di bug e miglioramenti della sicurezza, integrazioni su altre applicazioni e infine collaborazioni comunitarie e progetti collettivi. Inevitabilmente Meta ha guadagnato da questo sforzo collettivo tanto da cambiare totalmente la sua posizione. Al punto da arrivare a teorizzare che i modelli dovevano essere rilasciati in formato open source non solo per motivi etici, ma anche come strategia imprenditoriale. Se i loro modelli sono aperti, più persone li useranno, più ingegneri ci lavoreranno, e con maggiori probabilità gli standard dell’industria definiti dai legislatori seguiranno Meta e non viceversa.

Intanto Ollama ha integrato un sistema per interagire con i modelli nel proprio computer, usando una struttura identica all’API di OpenAI. Insomma quello che dice Meta è vero, ma essere il modello più potente ha ancora il suo peso.