Generative Artificial Intelligence (GenAI): Evoluzione, Funzionamento e Impatto sulla Trasformazione Digitale
Questo articolo fa parte di una serie dedicata all’esplorazione approfondita della
Generative Artificial Intelligence (GenAI), una tecnologia rivoluzionaria che sta ridefinendo il panorama digitale. Attraverso un’analisi dettagliata, ripercorreremo la storia, esamineremo il funzionamento e valuteremo l’impatto di questa tecnologia che, secondo le previsioni di Gartner, sarà implementata dall’80% delle organizzazioni entro il 2026.
La Generative AI, talvolta chiamata GenAI, è un tipo di intelligenza artificiale (AI) in grado di creare contenuti originali, come testi, immagini, video, audio o codice software, in risposta al prompt o alla richiesta di un utente. Per rispondere a queste richieste, la GenAI utilizza sofisticati modelli di machine learning, chiamati modelli di deep learning, ovvero algoritmi in grado di simulare i processi di apprendimento e decisionale del cervello umano. Questi si basano sull’identificazione e la codifica di modelli e relazioni in enormi quantità di dati, che sono utilizzati per comprendere le richieste o le domande in linguaggio naturale degli utenti e rispondere con nuovi contenuti pertinenti.
L’AI ha rappresentato uno dei principali argomenti tecnologici degli ultimi dieci anni, ma l’AI generativa, e in particolare l’avvento di ChatGPT nel 2022, ha portato l’AI alla portata di tutti e ha lanciato un’ondata di innovazione senza precedenti. L’AI generativa offre enormi vantaggi in termini di produttività per tutti, individui e organizzazioni, e, sebbene presenti anche sfide e rischi sostanziali, la ricerca continua a esplorare i modi in cui questa tecnologia può migliorare i workflow, potenziare i prodotti e ottimizzare i servizi.
Secondo una ricerca realizzata nel 2023 da McKinsey, un terzo delle organizzazioni utilizza regolarmente l’AI generativa in almeno una funzione aziendale [1]. Gartner prevede che entro il 2026 oltre l’80% delle organizzazioni avrà implementato applicazioni di AI generativa oppure utilizzerà interfacce di programmazione delle applicazioni (API) di AI generativa [2].
Excursus Storico della Generative AI: Dall’Origine ai Moderni Foundation Model
Il termine Intelligenza Artificiale Generativa è divenuto popolare negli ultimi anni, ma l’intelligenza artificiale fa parte della quotidianità da decenni e la tecnologia di AI generativa di oggi si basa sulle scoperte dell’apprendimento automatico risalenti all’inizio del XX secolo. Cerchiamo di comprendere le tappe fondamentali:
- 1964: Joseph Weizenbaum, ricercatore-informatico del MIT, sviluppa ELIZA, un’applicazione di elaborazione del linguaggio naturale basata su testo. ELIZA, è stato sostanzialmente il primo chatbot (all’epoca chiamato “chatterbot”) basato su uno script di pattern-matching in grado di rispondere agli input, forniti sottoforma di testo in linguaggio naturale, con risposte testuali empatiche.
- 1999: Nvidia lancia GeoForce, la prima unità di elaborazione grafica. Originariamente sviluppata per fornire una grafica in movimento fluida per i videogiochi, le GPU sono diventate di fatto la piattaforma per lo sviluppo di modelli AI e il mining di criptovalute.
- 2004: Google lancia la funzione di completamento automatico, che si attiva quando gli utenti inseriscono i termini di ricerca, in grado di generare potenziali parole o frasi successive. L’algoritmo è basato su una catena Markov, un modello matematico sviluppato nel 1906.
- 2013: Compaiono i primi “Variational Autoencoders” (VAE), dei modelli di reti neurali che permettono di implementare un modello generativo.
- 2014: Ian Goodfellow, ricercatore presso l’Università di Montreal, introduce le prime “Generative Adversarial Networks” (GAN) e i “Diffusion Models” [3], due architetture per addestrare un modello generativo di AI.
- 2017: Un gruppo di ricerca formato da Ashish Vaswani, un team di Google Brain e un gruppo della University of Toronto pubblicano “Attention is All You Need [4]”, un documento che illustra i principi dei modelli di trasformazione (c.d. “Transformer”) in grado di abilitare i potenti “foundation model” e strumenti di AI generativa attuali.
- 2019: OpenAI implementa i suoi modelli linguistici di grandi dimensioni GPT (Generative Pretrained Transformer), GPT-2 e GPT-3.
- 2022: OpenAI presenta ChatGPT, un front-end di GPT-3 che genera frasi complesse, coerenti e contestualizzate, e contenuti in risposta ai prompt degli utenti finali.
La notorietà e la popolarità acquisite da ChatGPT ha dato il via ad una serie di progetti finalizzati allo sviluppo di altre AI generative e il rilascio di prodotti a un ritmo incalzante, fino a giungere alle attuali release di Google Bard (ora Gemini), Microsoft Copilot, Bedrock di Amazon, Ernie Bit di Baidu, Pangu-Σ di Huawei, Claude di Anthropic, xAI di Elon Musk, Jais in lingua araba, Poe di Quora, IBM watsonx.ai, e ai modelli linguistici di grandi dimensioni (LLM) open source come Llama-2, di Meta, o Dolly 2.0 di Databricks e OpenChat AI GitHub.
Come Opera la Generative AI: Architetture, Processi e Metodologie di Apprendimento
Normalmente il ciclo di vita della Generative AI si sviluppa in tre fasi:
- Formazione: la fase in cui si crea un “foundation model” [5] che possa servire come base per più applicazioni di AI di nuova generazione.
- Ottimizzazione: la fase in cui si adatta il foundation model a una specifica applicazione AI di nuova generazione.
- Generazione, valutazione e improvement: la fase in cui si valutano i risultati dell’applicazione della GenAI per migliorarne la qualità e l’accuratezza.
Formazione
La GenAI si fonda su un foundation model, un modello di deep learning che funge da schema per diversi tipi di applicazioni di AI generativa. I foundation model più comuni sono i modelli linguistici di grandi dimensioni (LLM), sfruttati nelle applicazioni per generare testo, ma esistono foundation model per generare immagini, video, audio e musica, oltre a foundation model multimodali in grado di supportare simultaneamente diversi tipi di contenuti.
Per realizzare un foundation model occorre addestrare un algoritmo di deep learning su enormi volumi di dati grezzi, non strutturati e non etichettati, spesso raccolti dalla rete internet o da altre fonti di dati. Durante la fase di training, l’algoritmo esegue e valuta milioni di test c.d.”fill in the blank” (riempimento dello spazio), cercando di prevedere l’elemento successivo in una determinata sequenza, per esempio la parola successiva in una frase, l’elemento successivo in un’immagine, il comando successivo in una riga di codice, e, contestualmente, effettua un auto-tuning per ridurre al minimo la differenza tra le previsioni e i dati reali (o il risultato “corretto”).
Il risultato di questo ciclo di training è una rete neurale di parametri, ovvero una serie di rappresentazioni codificate di entità, pattern e relazioni nei dati, in grado di generare contenuti in modo autonomo in risposta agli input o ai prompt ricevuti.
Questo processo si caratterizza per l’alta intensità di calcolo, un elevato dispendio in termini di tempo e costi: infatti richiede la presenza di migliaia di unità di elaborazione grafica (GPU) sottoforma di cluster e settimane di elaborazione. Fortunatamente sono disponibili progetti di foundation model open source, come Llama-2 di Meta, che consentono agli sviluppatori di GenAI di saltare questo passaggio e i relativi costi.
Ottimizzazione
Un foundation model è generalista, ovvero sa molte cose su molti tipi di contenuti, ma spesso non è in grado di generare tipi specifici di output con la precisione o la qualità desiderate. Per questo motivo è opportuno che il modello debba essere ottimizzato seguendo un’attività di generazione dei contenuti specifica. Questo obiettivo può essere raggiunto in vari modi:
- attraverso una messa a punto del modello. Questa metodologia comporta l’alimentazione del modello con dati specifici dell’applicazione di generazione di contenuti, cioè, deve comprendere le domande o i prompt che molto probabilmente l’applicazione riceverà e le corrispondenti risposte corrette nel formato desiderato. Per esempio, se un team di sviluppo sta tentando di creare un customer service chatbot, creerà centinaia o migliaia di documenti contenenti domande etichettate sul servizio clienti con le risposte corrette e li invierà al modello.
- tramite un apprendimento di rinforzo con feedback umano (RLHF). La metodologia di RLHF (Reinforcement Learning from Human Feedback) prevede che gli utenti umani rispondano ai contenuti generati con valutazioni che, successivamente, il modello utilizza per aggiornare sé stesso e ottenere maggiore precisione o rilevanza.
Generazione, valutazione e improvement
Di norma, sia gli sviluppatori che gli utenti valutano continuamente i risultati delle app di GenAI che utilizzano e, di conseguenza, ottimizzano ulteriormente il modello per ottenere una maggiore precisione o pertinenza.
Esiste un’altra alternativa per ottimizzare le prestazioni di un’applicazione di AI: la “retrieval augmented generation” (RAG). La RAG è un framework in grado di estendere il foundation model al fine di utilizzare un set di fonti rilevanti, al di fuori dei dati utilizzati nel training, capaci di integrare e perfezionare i parametri o le rappresentazioni nel modello originale. A riguardo, la RAG garantisce che un’app di AI generativa abbia sempre accesso alle informazioni più aggiornate e contestualizzate. Inoltre, le fonti aggiuntive a cui si accede tramite RAG, a differenza dei dataset del foundation model originale, sono trasparenti e verificabili.
Architetture dei Modelli di Generative AI: Tecnologie che Abilitano la Creatività Artificiale
Dal 2013 abbiamo assistito allo sviluppo di modelli di AI veramente generativa, ovvero modelli di “deep learning” in grado di creare autonomamente contenuti su richiesta. Le principali architetture evolute durante questo periodo includono:
- Variational Autoencoders (VAE): rappresentano modelli che hanno consentito di effettuare scoperte rivoluzionarie nel riconoscimento delle immagini, nell’elaborazione del linguaggio naturale e nel rilevamento delle anomalie.
- Generative Adversarial Networks (GAN) & Diffusion Models: sono architetture che hanno migliorato l’accuratezza delle applicazioni precedenti e hanno reso possibile le prime applicazioni di AI per la generazione di immagini da foto reali.
- Transformers: rappresentano l’architettura dei modelli di deep learning alla base dei principali foundation model e delle soluzioni di AI generativa di oggi.
Variational Autoencoder
Un “autoencoder” è un modello di deep learning composto da due reti neurali connesse tra loro: una che codifica (o comprime) un’enorme quantità di dati, non strutturati e non etichettati, in parametri per il training e un’altra che decodifica tali parametri per ricostruire il contenuto. Tecnicamente, gli autoencoder sono in grado di generare nuovi contenuti, ma sono utilizzati prevalentemente per la codifica, l’archiviazione o il trasferimento dei dati e, infine, per la decodifica degli stessi e la generazione di contenuti di alta qualità.
Nel 2013 sono stati introdotti i “Variational Autoencoder” (VAE) che, oltre a codificare i dati come un autoencoder, sono in grado di decodificare i dati in diverse varianti di contenuto. Questa peculiarità ha permesso di addestrare i VAE a generare varianti per raggiungere un particolare obiettivo e, al contempo, consentire di ottenere nel tempo contenuti più accurati e ad alta fedeltà. Le prime applicazioni dei VAE includevano il rilevamento delle anomalie (per esempio, nella diagnostica per immagini) e la generazione del linguaggio naturale.
Generative Adversarial Network
Anche le “Generative Adversarial Network” (GAN), introdotte nel 2014, comprendono due reti neurali: una denominata Generatore, adibita a generare nuovi contenuti, e una Discriminatore, destinata a valutare l’accuratezza e la qualità dei dati generati. Questi algoritmi antagonisti inducono il modello a generare output di qualità sempre più elevata.
Solitamente le GAN vengono utilizzate per generare immagini e video, ma sono in grado di originare contenuti realistici e di alta qualità anche in altri domini. Si sono dimostrate particolarmente efficaci in determinate attività, come il trasferimento di stile (per esempio la modifica dello stile di un’immagine: da una foto a uno schizzo a matita) e l’aumento dei dati (creazione di nuovi dati per aumentare le dimensioni e la diversità di un data set di training).
Diffusion Model
Un “Diffusion Model”, anch’essi introdotti nel 2014, funziona in maniera differente. Questo modello, prima di realizzare il training, aggiunge rumore ai dati per renderli casuali e irriconoscibili, successivamente, addestra l’algoritmo a disperdere iterativamente il rumore per rivelare l’output desiderato.
I Diffusion Models richiedono più tempo per l’addestramento rispetto ai VAE o alle GAN, ma offrono un controllo dell’output più preciso; infatti, sono particolarmente sfruttati negli strumenti di generazione di immagini di alta qualità. DALL-E, lo strumento di generazione di immagini di Open AI, è guidato da un diffusion model.
Transformer
I “Transformer”, documentati per la prima volta in un articolo del 2017 pubblicato da Ashish Vaswani e altri, trasformano il paradigma encoder-decoder per realizzarne un’evoluzione, da un lato, del modo in cui i foundation model vengono addestrati e, dall’altro, nella qualità e nella gamma di contenuti che possono produrre. Questi modelli sono alla base dei principali strumenti di AI generativa, tra cui ChatGPT e GPT-4, Copilot, BERT, Bard e Midjourney.
Per determinare quali dati, all’interno di una sequenza, sono più importanti e su quali occorre concentrarsi, i transformer utilizzano un concetto chiamato “attention” in grado di:
- elaborare contemporaneamente intere sequenze di dati (ad es. frasi invece di parole singole);
- acquisire il contesto dei dati all’interno della sequenza;
- codificare i dati di training in incorporamenti (denominati anche iperparametri) che rappresentano i dati e il loro contesto.
Oltre a consentire un addestramento più rapido, i transformer sono performanti nel l’elaborazione del linguaggio naturale (“Natural Language Processing”, NLP) e nella sua comprensione (“Natural Language Understanding”, NLU) e sono in grado di generare sequenze di dati più lunghe (ad esempio, non solo risposte a domande, ma anche poesie, articoli o documenti) con maggiore precisione e qualità rispetto ad altri modelli di AI generativa. I modelli transformer possono essere addestrati o ottimizzati anche per l’uso di tools, ad esempio un’applicazione di fogli di calcolo, un programma di disegno, o per generare contenuti in un formato particolare.
Peculiarità della Generative AI
L’AI generativa può essere utilizzata per creare molti tipi di contenuti in domini diversi.
- Testo: I modelli generativi, soprattutto quelli basati sui trasformer, possono generare testi coerenti e contestualmente rilevanti, come delle istruzioni, della documentazione, una brochure, un’e-mail, dei testi per siti web, blog, articoli, delle relazioni, dei documenti e, persino, contenuti creativi. Possono eseguire compiti di scrittura ripetitivi o noiosi (per esempio, la stesura di riassunti di documenti o meta descrizioni di pagine web), consentendo agli editor di dedicarsi a lavori più creativi e di maggior valore.
- Immagini e video: La generazione di immagini, come DALL-E, Midjourney e Stable Diffusion, può realizzare immagini realistiche, oppure opere d’arte originali, ed eseguire il trasferimento di stili, la traduzione image-to-image e altre attività di modifica o miglioramento delle immagini. Gli strumenti GenAI video possono creare animazioni a partire da istruzioni di testo e possono applicare effetti speciali a video esistenti in maniera più rapida ed economica rispetto ai metodi tradizionali.
- Suono, parole e musica: I modelli generativi possono sintetizzare contenuti vocali e audio per farli sembrare reali alle chatbot e agli assistenti digitali a comando vocale, consentire la narrazione degli audiolibri e di altre applicazioni basate sull’audio. La stessa tecnologia può generare musica originale in grado di imitare la struttura e l’audio delle composizioni professionali.
- Codice software: La GenAI può generare codice di programmazione originale, effettuare il completamento automatico dei frammenti di codice, tradurre tra diversi linguaggi di programmazione e riassumere le funzionalità del codice. Consente di ottenere prototipi, eseguire rapidamente il debug delle applicazioni e realizzare sessioni di testing, offrendo al contempo un’interfaccia in linguaggio naturale.
- Design e arte: I modelli di AI generativa possono generare opere d’arte digitali e di design uniche o assistere nella progettazione grafica. Le applicazioni includono la generazione dinamica di ambienti, personaggi o avatar ed effetti speciali per realizzare simulazioni virtuali e videogiochi.
- Simulazioni e artefatti: I modelli di AI generativa possono essere addestrati per generare dati o strutture basate su dati reali o virtuali. Per esempio, l’AI generativa viene applicata nella scoperta di farmaci per generare strutture molecolari con le proprietà desiderate, contribuendo alla progettazione di nuovi composti farmaceutici.
Quali sono i Vantaggi?
Il principale beneficio, e forse quello più scontato, dell’AI generativa è la maggiore efficienza. La sua capacità di generare contenuti e risposte alle domande consente di accelerare o automatizzare le attività ad alta intensità di lavoro, ridurre i costi e guadagnare tempo da dedicare ad attività di maggior valore.
L’AI generativa offre ulteriori vantaggi in questi ambiti:
- Creatività migliorata: Gli strumenti di Gen AI possono ispirare la creatività attraverso il brainstorming automatizzato, perché gli consente di generare più versioni inedite dei contenuti. Queste varianti possono servire come punti di partenza o riferimenti per superare il blocco creativo di scrittori, artisti, designer e altri tipi di creatori.
- Processo decisionale migliorato (e più rapido): L’AI generativa è predominante nell’analisi di grandi insiemi di dati, nell’identificazione degli schemi e nell’estrazione di insight significativi, per poi generare ipotesi e suggerimenti basati su questi insight e supportare i dirigenti, gli analisti, i ricercatori e tutti gli altri professionisti, nel prendere decisioni più corrette e basate sui dati.
- Personalizzazione dinamica: L’AI generativa può analizzare le preferenze e la cronologia degli utenti per creare contenuti personalizzati in tempo reale, rendendo l’esperienza dell’utente più personalizzata e coinvolgente.
- Disponibilità continua: L’AI generativa funziona in maniera costante e fornisce una disponibilità continua per le attività come le chatbots utilizzate per erogare l’assistenza ai clienti e le risposte automatiche.
Casi d’uso
Di seguito sono riportati, solo a titolo esemplificativo, alcuni casi d’uso dell’AI nel settore business, per comprendere quali benefici possono portare nel breve periodo. In tal senso, man mano che le tecnologie si svilupperanno ulteriormente e le organizzazioni incorporeranno questi tools nei loro workflow, assisteremo alla scoperta di nuove e altrettante applicazioni.
- User experience (UX): Il settore marketing delle aziende può trarre grossi benefici, in termini di tempo e quantità di contenuti, utilizzando strumenti di AI per redigere i testi dei blog, delle pagine web, della documentazione, dell’e-mail e altro ancora. Inoltre, le soluzioni di AI generativa sono in grado di produrre testi e immagini fortemente personalizzate e in tempo reale, in base a quando, dove e a chi deve essere erogato l’annuncio. Inoltre, può alimentare le chatbots e gli agent virtuali per fornire risposte personalizzate e, persino, avviare attività per conto del cliente. Tutto ciò rappresenta un avanzamento significativo rispetto alla precedente generazione di modelli di AI conversazionali formati su dati limitati e sfruttati per attività molto specifiche.
- Sviluppo software e aggiornamento delle applicazioni: Gli strumenti per la generazione del codice basati sull’AI generativa sono in grado di automatizzare e accelerare il processo di scrittura di nuovo codice. Questa caratteristica può essere sfruttata anche per accelerare drasticamente l’aggiornamento delle applicazioni, perché consentirebbe di automatizzare gran parte della codifica ripetitiva necessaria per rinnovare le applicazioni legacy e distribuire in ambienti di cloud ibrido.
- Attività digitale: L’AI generativa è in grado di redigere o rivedere rapidamente contratti, fatture, bollette e altri documenti digitali, in modo tale che i dipendenti, che la utilizzano o la gestiscono, possano concentrarsi su attività di concetto.
- Scienza, ingegneria e ricerca: I modelli di AI possono aiutare i ricercatori e gli ingegneri a proporre nuove soluzioni per problemi complessi. Nel settore sanitario, ad esempio, i modelli generativi possono essere applicati per sintetizzare le nuove molecole o migliorare la lettura delle immagini degli esami.
Nel
prossimo articolo della serie, approfondiremo un aspetto cruciale della Generative AI: la sicurezza e la protezione. Esploreremo le sfide, i rischi e le migliori pratiche per implementare soluzioni di GenAI in modo sicuro e responsabile, analizzando i protocolli di sicurezza e le strategie di protezione necessarie per un utilizzo consapevole di questa potente tecnologia. Per approfondire queste tematiche è possibile scaricare gratuitamente il white paper completo “
Generative Artificial Intelligence: punti di forza, rischi e contromisure”.
Note bibliografiche
[5] Foundation model: Nell’ambito dell’Intelligenza Artificiale, il termine modello identifica un insieme strutturato di algoritmi e parametri che permettono di eseguire specifici compiti di apprendimento automatico. I modelli sono addestrati tramite l’analisi e l’elaborazione di dati, al fine di identificare e apprendere schemi o relazioni tra di essi. Un foundation model rappresenta un tipo specifico e avanzato di modello di Intelligenza Artificiale. Mentre i modelli generici sono progettati e addestrati per svolgere compiti specifici e ben definiti e possono essere addestrati su set di dati di dimensioni variabili, a seconda del compito che dovranno svolgere; i foundation models, invece, sono addestrati su enormi quantità di dati e con moltissimi parametri. Ciò permette loro di svolgere una varietà di compiti più ampia rispetto ai modelli tradizionali.