Intelligenza generativa l’idea dietro CHATGPT, Dall-E, Midjourney e altro

Generative intelligence the idea behind CHATGPT, DALL-E, Midjourney, and more.

Il mondo dell’arte, della comunicazione e della percezione della realtà sta cambiando rapidamente. Se guardiamo indietro alla storia dell’innovazione umana, potremmo considerare l’invenzione della ruota o la scoperta dell’elettricità come passi monumentali. Oggi, una nuova rivoluzione è in corso, che sta colmando il divario tra la creatività umana e il calcolo delle macchine. Questa è l’AI generativa.

I modelli generativi hanno offuscato la linea tra esseri umani e macchine. Con l’avvento di modelli come GPT-4, che utilizza moduli di trasformazione, siamo arrivati più vicini alla generazione di linguaggio naturale e ricco di contesto. Questi progressi hanno alimentato applicazioni nella creazione di documenti, nei sistemi di dialogo dei chatbot e persino nella composizione di musica sintetica.

Recenti decisioni delle grandi aziende tecnologiche mettono in luce la sua importanza. Microsoft sta già interrompendo la sua app Cortana questo mese per dare priorità alle nuove innovazioni dell’AI generativa, come Bing Chat. Anche Apple ha dedicato una parte significativa del suo budget di R&D di 22,6 miliardi di dollari all’AI generativa, come indicato dal CEO Tim Cook.

Una nuova era di modelli: generativi vs discriminativi

La storia dell’AI generativa non riguarda solo le sue applicazioni, ma fondamentalmente il suo funzionamento interno. Nell’ecosistema dell’intelligenza artificiale, esistono due modelli: discriminativi e generativi.

I modelli discriminativi sono quelli con cui la maggior parte delle persone si imbatte nella vita quotidiana. Questi algoritmi prendono dati di input, come un testo o un’immagine, e li accoppiano con un output target, come una traduzione di parole o una diagnosi medica. Si tratta di mappatura e previsione.

I modelli generativi, d’altra parte, sono creatori. Non si limitano a interpretare o prevedere; generano nuove uscite complesse da vettori di numeri spesso non correlati ai valori del mondo reale.

Le tecnologie dietro i modelli generativi

I modelli generativi devono la loro esistenza alle reti neurali profonde, strutture sofisticate progettate per imitare la funzionalità del cervello umano. Catturando e elaborando variazioni complesse nei dati, queste reti sono il fondamento di numerosi modelli generativi.

Come prendono vita questi modelli generativi? Di solito vengono costruiti con reti neurali profonde, ottimizzate per catturare le variazioni complesse nei dati. Un esempio principale è il Generative Adversarial Network (GAN), in cui due reti neurali, il generatore e il discriminatore, competono e imparano l’una dall’altra in una relazione unica tra insegnante e studente. Dalle pitture al trasferimento di stile, dalla composizione musicale al gioco, questi modelli si stanno evolvendo e ampliando in modi prima impensabili.

Ma non si ferma qui con i GAN. I Variational Autoencoders (VAE) sono un altro giocatore fondamentale nel campo dei modelli generativi. I VAE si distinguono per la loro capacità di creare immagini fotorealistiche da numeri apparentemente casuali. Come? Elaborando questi numeri attraverso un vettore latente, nasce un’arte che riflette le complessità dell’estetica umana.

Tipi di AI generativa: testo a testo, testo a immagine

Transformers & LLM

L’articolo “Attention Is All You Need” di Google Brain ha segnato un cambiamento nel modo in cui pensiamo alla modellazione del testo. Invece di architetture complesse e sequenziali come le reti neurali ricorrenti (RNN) o le reti neurali convoluzionali (CNN), il modello Transformer ha introdotto il concetto di attenzione, che significa essenzialmente focalizzarsi su diverse parti del testo di input a seconda del contesto. Uno dei principali vantaggi di questo è la facilità di parallelizzazione. A differenza delle RNN che elaborano il testo in sequenza, rendendole più difficili da scalare, i Transformers possono elaborare parti del testo contemporaneamente, rendendo l’addestramento più rapido ed efficiente su grandi dataset.

Architettura del modello Transformer

In un lungo testo, non tutte le parole o frasi che leggiamo hanno la stessa importanza. Alcune parti richiedono maggiore attenzione in base al contesto. Questa capacità di spostare il nostro focus in base alla rilevanza è ciò che mimano il meccanismo di attenzione.

Per capire questo, pensiamo a una frase: “Unite AI pubblica notizie sull’AI e sulla robotica”. Ora, prevedere la parola successiva richiede una comprensione di ciò che ha maggior importanza nel contesto precedente. Il termine “Robotica” potrebbe suggerire che la parola successiva potrebbe essere correlata a un avanzamento specifico o a un evento nel campo della robotica, mentre “Pubblica” potrebbe indicare che il contesto successivo potrebbe approfondire una recente pubblicazione o un articolo.

Illustrazione dell’Auto-Attenzione

I meccanismi di attenzione nei Transformers sono progettati per ottenere questo focus selettivo. Misurano l’importanza delle diverse parti del testo in input e decidono dove “guardare” quando generano una risposta. Questo è un distacco dalle vecchie architetture come le RNN che cercavano di comprimere l’essenza di tutto il testo in input in uno stato o memoria unica.

Il funzionamento dell’attenzione può essere paragonato a un sistema di recupero chiave-valore. Nel tentativo di prevedere la prossima parola in una frase, ogni parola precedente offre una “chiave” che suggerisce la sua rilevanza potenziale, e in base a quanto bene queste chiavi corrispondono al contesto attuale (o query), contribuiscono a un “valore” o peso alla previsione.

Questi modelli di apprendimento profondo avanzati di IA sono stati integrati senza soluzione di continuità in varie applicazioni, dalle migliorie del motore di ricerca di Google con BERT a Copilot di GitHub, che sfrutta la capacità dei Large Language Models (LLMs) di convertire semplici snippet di codice in codici sorgenti completamente funzionali.

I Large Language Models (LLMs) come GPT-4, Bard e LLaMA sono costrutti colossali progettati per decifrare e generare il linguaggio umano, il codice e altro ancora. La loro immensa dimensione, che va da miliardi a trilioni di parametri, è una delle caratteristiche distintive. Questi LLM vengono alimentati con abbondanti quantità di dati di testo, consentendo loro di comprendere le sfumature del linguaggio umano. Una caratteristica sorprendente di questi modelli è la loro capacità di “few-shot” learning. A differenza dei modelli convenzionali che necessitano di vaste quantità di dati di addestramento specifici, i LLM possono generalizzare da un numero molto limitato di esempi (o “shots”).

Stato dei Large Language Models (LLMs) a fine metà 2023

Nome del Modello Sviluppatore Parametri Disponibilità e Accesso Caratteristiche Notabili e Osservazioni
GPT-4 OpenAI 1,5 Trilioni Non Open Source, Solo Accesso API Prestazioni impressionanti su una varietà di compiti, può elaborare immagini e testo, lunghezza massima di input 32.768 token
GPT-3 OpenAI 175 miliardi Non Open Source, Solo Accesso API Dimostrata capacità di apprendimento few-shot e zero-shot. Completa il testo in linguaggio naturale.
BLOOM BigScience 176 miliardi Modello Scaricabile, API Ospitata Disponibile LLM multilingue sviluppato dalla collaborazione globale. Supporta 13 linguaggi di programmazione.
LaMDA Google 173 miliardi Non Open Source, Nessuna API o Download Addestrato sui dialoghi, potrebbe imparare a parlare di praticamente qualsiasi cosa
MT-NLG Nvidia/Microsoft 530 miliardi Accesso API tramite applicazione Utilizza l’architettura Megatron basata sui transformer per vari compiti di NLP.
LLaMA Meta AI 7B a 65B) Scaricabile tramite applicazione Inteso a democratizzare l’IA offrendo accesso a coloro che sono nella ricerca, nel governo e nell’accademia.

Come vengono utilizzati gli LLM?

Gli LLM possono essere utilizzati in modi diversi, tra cui:

  1. Utilizzo diretto: Semplicemente utilizzando un LLM pre-addestrato per la generazione o l’elaborazione del testo. Ad esempio, utilizzando GPT-4 per scrivere un post del blog senza alcun ulteriore addestramento.
  2. Addestramento personalizzato: Adattare un LLM pre-addestrato per un compito specifico, un metodo noto come transfer learning. Un esempio sarebbe personalizzare T5 per generare riassunti di documenti in un settore specifico.
  3. Recupero delle informazioni: Utilizzare LLM come BERT o GPT come parte di architetture più ampie per sviluppare sistemi in grado di recuperare e categorizzare informazioni.
Architettura di Fine Tuning di ChatGPT

Attenzione Multi-Head: Perché solo una quando puoi averne molte?

Tuttavia, fare affidamento su un meccanismo di attenzione singolo può essere limitante. Diverse parole o sequenze in un testo possono avere tipi diversi di rilevanza o associazioni. Ecco dove entra in gioco l’attenzione multi-head. Invece di un set di pesi di attenzione, l’attenzione multi-head utilizza più set, consentendo al modello di catturare una varietà più ricca di relazioni nel testo in input. Ogni “testa” di attenzione può concentrarsi su diverse parti o aspetti dell’input e le loro conoscenze combinate vengono utilizzate per la previsione finale.

A partire dalla creazione di GPT nel 2018, il modello era sostanzialmente costruito su 12 livelli, 12 “testate” di attenzione e 120 milioni di parametri, addestrati principalmente su un dataset chiamato BookCorpus. Questo è stato un inizio impressionante, offrendo uno sguardo al futuro dei modelli di linguaggio.

GPT-2, presentato nel 2019, vantava un aumento quadruplo di livelli e “testate” di attenzione. In modo significativo, il numero dei suoi parametri è salito a 1,5 miliardi. Questa versione migliorata ha tratto il suo addestramento da WebText, un dataset arricchito con 40 GB di testo da vari link Reddit.

GPT-3, lanciato nel maggio 2020, aveva 96 livelli, 96 “testate” di attenzione e un enorme numero di parametri di 175 miliardi. Ciò che ha reso GPT-3 unico è stata la sua diversa base di addestramento, che comprendeva CommonCrawl, WebText, English Wikipedia, corpora di libri e altre fonti, per un totale di 570 GB.

Le complessità del funzionamento di ChatGPT rimangono un segreto ben custodito. Tuttavia, è noto che un processo chiamato “reinforcement learning from human feedback” (RLHF) è fondamentale. Proveniente da un progetto ChatGPT precedente, questa tecnica è stata fondamentale per perfezionare il modello GPT-3.5 in modo da essere più allineato alle istruzioni scritte.

L’addestramento di ChatGPT comprende un approccio a tre livelli:

  1. Addestramento supervisionato personalizzato: Coinvolge la curatela di input e output conversazionali scritti dall’uomo per perfezionare il modello sottostante GPT-3.5.
  2. Modellazione dei premi: Gli esseri umani classificano vari output del modello in base alla qualità, aiutando ad addestrare un modello di premio che valuta ogni output considerando il contesto della conversazione.
  3. Reinforcement learning: Il contesto della conversazione serve come sfondo in cui il modello sottostante propone una risposta. Questa risposta viene valutata dal modello di premio e il processo viene ottimizzato utilizzando un algoritmo chiamato proximal policy optimization (PPO).

Per coloro che si stanno ancora avvicinando a ChatGPT, una guida completa per iniziare può essere trovata qui. Se desideri approfondire l’ingegneria delle prompt con ChatGPT, abbiamo anche una guida avanzata che illustra le ultime tecniche di prompt all’avanguardia, disponibile in ‘ChatGPT & Advanced Prompt Engineering: Guidare l’evoluzione dell’IA’.

Modelli di Diffusione e Multimodali

Mentre modelli come VAE e GAN generano le loro uscite attraverso un solo passaggio, quindi bloccati in ciò che producono, i modelli di diffusione hanno introdotto il concetto di ‘raffinamento iterativo’. Attraverso questo metodo, ritornano indietro, raffinando gli errori dai passaggi precedenti e producendo gradualmente un risultato più lucido.

Al centro dei modelli di diffusione c’è l’arte della “corruzione” e del “raffinamento”. Nella fase di addestramento, un’immagine tipica viene progressivamente corrotta aggiungendo livelli variabili di rumore. Questa versione rumorosa viene quindi fornita al modello, che cerca di “denoise” o “de-corromperla”. Attraverso molteplici cicli di questo processo, il modello diventa abile nella riparazione, comprendendo sia aberrazioni sottili che significative.

Immagine generata da Midjourney

Il processo di generazione di nuove immagini dopo l’addestramento è affascinante. Partendo da un input completamente casuale, viene continuamente raffinato utilizzando le previsioni del modello. L’obiettivo è ottenere un’immagine impeccabile con il minor numero di passaggi. Il controllo del livello di corruzione avviene attraverso un “programma di rumore”, un meccanismo che regola quanto rumore viene applicato in diverse fasi. Uno scheduler, come si vede nelle librerie come “diffusers”, detta la natura di queste rappresentazioni rumorose in base ad algoritmi consolidati.

Una struttura architettonica essenziale per molti modelli di diffusione è l’UNet, una rete neurale convoluzionale progettata per compiti che richiedono output che riflettono la dimensione spaziale degli input. È una combinazione di strati di downsampling e upsampling, collegati in modo intricato per mantenere i dati ad alta risoluzione, fondamentali per gli output legati all’immagine.

Approfondendo ulteriormente il campo dei modelli generativi, DALL-E 2 di OpenAI emerge come un brillante esempio di fusione delle capacità di IA testuale e visiva. Utilizza una struttura a tre livelli:

DALL-E 2 presenta un’architettura tripla:

  1. Text Encoder: Trasforma il prompt di testo in un’incorporazione concettuale all’interno di uno spazio latente. Questo modello non parte da zero. Si basa sul dataset di Contrastive Language-Image Pre-training (CLIP) di OpenAI come fondamento. CLIP funge da ponte tra dati visivi e testuali apprendendo concetti visivi utilizzando il linguaggio naturale. Attraverso un meccanismo noto come apprendimento contrastivo, identifica e abbina immagini alle relative descrizioni testuali.
  2. Il Prior: L’incorporazione del testo derivata dall’encoder viene quindi convertita in un’incorporazione dell’immagine. DALL-E 2 ha testato sia metodi autoregressivi che di diffusione per questo compito, con quest’ultimo che mostra risultati superiori. I modelli autoregressivi, come quelli presenti in Transformers e PixelCNN, generano output in sequenze. D’altra parte, i modelli di diffusione, come quello utilizzato in DALL-E 2, trasformano il rumore casuale in incorporazioni di immagini previste con l’aiuto delle incorporazioni di testo.
  3. Il Decoder: Il culmine del processo, questa parte genera l’output visivo finale in base al prompt di testo e all’incorporazione dell’immagine dalla fase precedente. Il decoder di DALL-E 2 deve la sua architettura a un altro modello, GLIDE, che può anche produrre immagini realistiche da suggerimenti testuali.
Architettura semplificata del modello DALL-E

Gli utenti di Python interessati a Langchain dovrebbero consultare il nostro tutorial dettagliato che copre tutto, dalle nozioni di base alle tecniche avanzate.

Applicazioni di Intelligenza Artificiale Generativa

Domini Testuali

A partire dal testo, l’Intelligenza Artificiale Generativa è stata fondamentalmente trasformata da chatbot come ChatGPT. Basandosi pesantemente sull’Elaborazione del Linguaggio Naturale (NLP) e sui grandi modelli di linguaggio (LLM), queste entità sono in grado di svolgere compiti che vanno dalla generazione di codice e traduzione del linguaggio alla sintesi e all’analisi dei sentimenti. ChatGPT, ad esempio, ha visto un’ampia adozione, diventando un punto di riferimento per milioni di persone. Ciò è ulteriormente potenziato dalle piattaforme di intelligenza artificiale conversazionale, basate su LLM come GPT-4, PaLM e BLOOM, che producono testo in modo fluido, assistono nella programmazione e offrono persino ragionamento matematico.

Da un punto di vista commerciale, questi modelli stanno diventando preziosi. Le aziende li impiegano per una miriade di operazioni, tra cui la gestione del rischio, l’ottimizzazione dell’inventario e la previsione delle esigenze. Alcuni esempi notevoli includono Bing AI, BARD di Google e ChatGPT API.

Arte

Il mondo delle immagini ha subito trasformazioni drammatiche con l’Intelligenza Artificiale Generativa, in particolare dalla presentazione di DALL-E 2 nel 2022. Questa tecnologia, che può generare immagini da suggerimenti testuali, ha implicazioni sia artistiche che professionali. Ad esempio, midjourney ha sfruttato questa tecnologia per produrre immagini impressionantemente realistiche. Questo recente post svela Midjourney in una guida dettagliata, illustrando sia la piattaforma che le sue intricate complessità di ingegneria del prompt. Inoltre, piattaforme come Alpaca AI e Photoroom AI utilizzano l’Intelligenza Artificiale Generativa per funzionalità avanzate di modifica delle immagini come la rimozione dello sfondo, l’eliminazione degli oggetti e persino il ripristino del volto.

Produzione Video

La produzione video, sebbene ancora in una fase iniziale nel campo dell’Intelligenza Artificiale Generativa, sta mostrando promettenti progressi. Piattaforme come Imagen Video, Meta Make A Video e Runway Gen-2 stanno spingendo i limiti di ciò che è possibile, anche se gli output realmente realistici sono ancora all’orizzonte. Questi modelli offrono un’utilità considerevole per la creazione di video digitali umani, con applicazioni come Synthesia e SuperCreator che guidano il settore. In particolare, Tavus AI offre un’offerta unica personalizzando i video per i singoli membri del pubblico, un vantaggio per le aziende.

Creazione di codice

La codifica, un aspetto indispensabile del nostro mondo digitale, non è rimasta intatta dall’Intelligenza Artificiale Generativa. Sebbene ChatGPT sia uno strumento preferito, sono state sviluppate diverse altre applicazioni di IA per scopi di codifica. Queste piattaforme, come GitHub Copilot, Alphacode e CodeComplete, fungono da assistenti di codifica e possono persino produrre codice da prompt di testo. Ciò che è intrigante è l’adattabilità di questi strumenti. Codex, la forza trainante dietro GitHub Copilot, può essere personalizzato allo stile di codifica di un singolo individuo, evidenziando il potenziale di personalizzazione dell’IA generativa.

Conclusioni

Mescolando la creatività umana con il calcolo delle macchine, si è evoluta in uno strumento inestimabile, con piattaforme come ChatGPT e DALL-E 2 che spingono i limiti di ciò che è concepibile. Dalla creazione di contenuti testuali alla scultura di capolavori visivi, le loro applicazioni sono vaste e varie.

Come per qualsiasi tecnologia, le implicazioni etiche sono fondamentali. Sebbene l’IA generativa prometta una creatività illimitata, è cruciale utilizzarla in modo responsabile, essere consapevoli dei potenziali pregiudizi e del potere della manipolazione dei dati.

Con strumenti come ChatGPT che diventano sempre più accessibili, questo è il momento perfetto per testare le acque ed esperimentare. Che tu sia un artista, un programmatore o un appassionato di tecnologia, il campo dell’IA generativa è ricco di possibilità in attesa di essere esplorate. La rivoluzione non è all’orizzonte; è qui e ora. Quindi, tuffati!