GenAI, hype e potenziale
Dal lancio sul mercato, GPT-3 ha raggiunto i 100 milioni di visitatori nell’arco di 3 mesi. Nello stesso periodo stati rilasciati GPT-4, Llama, BARD e una serie di altri tool di AI generativa. Da gennaio ad agosto si sono moltiplicati i servizi basati sull’AI generativa che si basano su questi large language models (LLM) per fornire un supporto specifico, mentre moltissimi content creators – me inclusa – utilizzano sistemi di generazione immagini AI-driven per i contenuti multimediali. E la domanda che tutti si pongono è: come posso saltare sul treno?
Quando si parla di AI generativa, stiamo parlando di un’ampia famiglia di algoritmi di deep learning che hanno imparato da tantissimi dati a generare qualcosa. Partiamo quindi prima di tutto dalla tecnologia che sta dietro all’AI generativa, cercando di fare un’introduzione chiara ma non semplicistica. (*Rumore di altissime aspettative che verranno tradite*).
Behind the curtains: la tecnologia
Due delle tecnologie più largamente utilizzate per l’AI generativa sono i transformers e le reti avversarie. Sebbene il loro sviluppo parta da due obiettivi diversi – la traduzione da una lingua all’altra per i GPT e la generazione di immagini per le GAN, ad oggi entrambe le famiglie di algoritmi sono utilizzate per la generazione di diverse strutture dato. Ad esempio, la generazione di immagini, che con DALL-E si basa su un transformer mentre per Midjourney si basa su una rete avversaria.
Generative Pre-trained Transformers – GPT
Avete presente la tastiera del telefono, che vi suggerisce che parola usare a seconda delle parole precedenti? Ecco, quello che c’è dietro non è un transformer ma è un algoritmo ricorsivo, un modello di deep learning che ha una memoria breve e suggerisce parole probabili a partire dalle ultime parole che ha visto. Questi sistemi sono efficaci per brevi frasi, ma dopo un po’ dimenticano il contesto e perdono di senso. Come Abe Simpson.
Come fare a evitare il problema Abe Simpson? Servirebbe un modello che non predica in base all’ordine delle ultime parole, ma sia in grado di guardare contemporaneamente tutto il testo per capire il senso e rispondere di conseguenza.
Nel 2017, è stato pubblicato il paper Attention is all you need, in cui si introduce il concetto di attenzione. Detta in modo brutto, l’attenzione è la capacità del modello di cogliere il contesto dell’intera frase e non dipendere solo dalle ultime N parole inserite. Insomma, quello che potrebbe risolvere il problema di Abe: i transformers sono in grado di guardare un’intera frase, capire in che modo le parole sono collegate, e rispondere in modo coerente.
La struttura del transformer si basa su due blocchi, chiamati encoder e decoder. Queste strutture sono costruite con strati di neuroni specializzati e vengono utilizzate da diversi algoritmi, si contano applicazioni nell’AI generativa come nell’anomaly detection.
Disclaimer: se siete data scientist i ML engineer e soffrite di cuore debole, saltate le prossime righe. Le semplificazioni stanno per farsi brutali.
L’encoder del transformer è un blocco che riceve in input tutte le parole della frase senza che sia specificato l’ordine. A partire dalla frase, genera una rappresentazione sintetica di quella frase, che poi viene fornita al decoder. Il decoder dal canto suo riceve la rappresentazione della frase iniziale, ricorda tutte le parole che ha già generato e che arricchiscono il contesto, e sceglie una dopo l’altra tutte le parole che sembrano avere più senso per rispondere, tradurre, o completare la frase.
I generative pre-trained transformers possono essere costruiti e allenati per diversi obiettivi, i più noti sono i Large Language Models (LLM) come Llama, PaLM o GPT-3, e i Large Multimodal Models (LMM), come BARD, GPT-4 o Gemini.
Esistono anche GPT per la generazione di video, e altri per la generazione di immagini, come DALL-E.
Generative Adversarial Networks (GAN)
C’è poi una famiglia di algoritmi che utilizza una strategia diversa, a partire da due algoritmi – ad esempio reti convoluzionali specializzate nella generazione di immagini e nel riconoscimento, oppure reti ricorsive per la generazione di testo. Per i GPT siamo partiti dall’esempio di generazione testuale, le le GAN invece partiremo dall’esempio di generazione di immagini.
Le reti generative avversarie si chiamano così per il modo con cui vengono allenate: le due reti sono infatti allenate una alla volta, con due obiettivi divergenti. La prima rete deve riuscire a generare nuove immagini irriconoscibili dalle immagini reali. La seconda rete deve invece riconoscere le immagini reali da quelle generate dall’AI.
Le reti vengono allenate una alla volta in round ripetuti, in modo che la rete del riconoscimento (discriminator) diventi sempre più brava ad etichettare le immagini false, e la rete della generazione (generator) diventi sempre più brava ad eludere il controllo. Sembra la trama di un film di fantascienza.
Ma su cosa si allena una GAN? Da tonnellate di immagini, che però sono fornite al solo discriminatore! Il generatore infatti parte sempre da rumore casuale per la generazione di immagini, e man mano si specializza nel riuscire a rappresentare le immagini che il discriminatore vede come reali.
Le GAN possono partire da rumore casuale o da input più definiti, ad esempio è possibile utilizzare le reti avversarie per modificare un’immagine già esistente – ad esempio colorandole o generando immagini da un testo. Midjourney ad esempio si basa su una conditional GAN.
Sebbene le GAN siano state studiate inizialmente per la generazione di immagini, è possibile usare le reti avversarie per qualsiasi tipo di dato incluso il testo.
Il fine tuning
Quando si parla di AI generativa, spesso si sente la parola fine-tuning. Cosa significa?
Questi modelli sono tutti basati sul deep learning, quindi sono reti neurali con layers specializzati sui dati usati nel training. Se la rete è stata allenata su milioni di documenti o di immagini, questa diventerà brava a generare testi o immagini che vanno bene per moltissimi task e settori differenti – tutti quelli in cui è importante generare un’immagine o un testo.
Però, per alcuni processi o obiettivi non basta una cosa qualsiasi, come saper rispondere con una grammatica corretta o generare un’immagine qualunque. E’ necessario istruire la rete con dati più specifici e allineati agli obiettivi del processo, in modo che impari a rispondere in modo preciso a domande specifiche di quel processo. Questo secondo step di training è appunto in fine tuning. Le reti possono quindi essere utilizzate così come sono, out-of-the-box, oppure affinate ulteriormente per diventare specializzate in un settore o un task di supporto.
Il generative design
Generative design, ovvero come creare nuovi materiali e componenti from scratch. il generative design esiste dal 2002, 15 anni prima che l’AI generativa fosse studiata. Inizialmente si basava sugli algoritmi genetici e sull’ottimizzazione topologica, nulla di estremamente complesso. Con l’AI si aprono nuovi campi di applicazione e potenzialità, grazie alla capacità degli algoritmi data driven di esplorare aspetti che normalmente non vengono considerati, molto più velocemente. Che sia la generazione di nuovi materiali o la creazione di nuovi componenti, il generative design rende possibile sfruttare i sistemi di AI generativa per esplorare soluzioni diverse, con una velocità molto più alta e un range di soluzioni ampliato. Gli algoritmi dietro il generative design sono algoritmi generativi come quelli che abbiamo esplorato in precedenza, o altri in grado di ottenere una rappresentazione di un nuovo sistema o componente.
GenAI e industria: let’s get inspired
Leggendo il paragrafo precedente, sarà sicuramente venuto in mente a tutti almeno uno use case specifico. Proviamo quindi a descrivere una serie di potenziali applicazioni dell’AI generativa.
- Esplorazione di nuove molecole per il farma o l’alimentare: utilizzando sistemi di generative design è possibile creare nuovi materiali o elementi in grado di rispondere a determinate caratteristiche.
- Creazione di componenti ottimizzati: sempre grazie al generative design accoppiato alla stampa 3D è possibile minimizzare l’utilizzo di materie prime e il consumo energetico, o ottimizzare le performance del componente.
- Supporto al team di manutenzione: immaginatevi un chat bot allenato sulle vostre procedure manutentive, che sappia fornire al manutentore supporto operativo rispetto a quale ricambio usare o quale azione prendere in carico. Affinando un algoritmo di GenAI sui vostri database questo diventa possibile – a patto che voi abbiate tutte le info utili!
- Onboarding facilitato: i sistemi di AI generativa possono essere affinati per fornire tutte le informazioni di base per i nuovi componenti dei team, in modo che abbiano un assistente virtuale a disposizione per qualsiasi domanda o dubbio. Questi sistemi possono essere utilizzati anche per facilitare la formazione di base.
- Supporto alla gestione di processo: con sistemi di AI generativa supportati da un layer capace di tradurre i dati in insight come Wolfram plugins è possibile interpretare i dati di un processo, un fenomeno o magari l’output di un modello di manutenzione predittiva o controllo performance per generare report in modo semi-automatico.
- Assistente per la ISO50001 o per altre certificazioni: in base alla norma e ai dati raccolti (ad esempio i dati energetici) , è possibile sviluppare un assistente in grado di dare supporto pratico nella redazione delle procedure o nel primo livello di analisi.
Queste sono una piccola parte delle cose che si possono immaginare istruendo l’AI generativa sui dati industriali. Qualche altra idea?