Cos'è l'IA generativa?

Copia URL

L'IA generativa è un tipo di tecnologia di intelligenza artificiale che si basa su modelli di deep learning per creare nuovi contenuti. 

Le applicazioni di IA generativa possono produrre testi, immagini, codice e molto altro. Ciò avviene durante l'inferenza IA, la fase operativa dell'IA in cui il modello è in grado di applicare alle situazioni concrete ciò che ha appreso dall'addestramento. I principali scenari di utilizzo dell'IA generativa sono chatbot, creazione ed editing di immagini, assistenza alla stesura di codice software e ricerca scientifica.

L'importanza dell'inferenza IA

L'IA generativa viene utilizzata in contesti professionali sia per visualizzare rapidamente progetti creativi sia per svolgere in maniera efficiente attività altrimenti dispendiose in termini di tempo. In ambiti come la ricerca medica e la progettazione dei prodotti, l'IA generativa può aiutare i professionisti a svolgere il proprio lavoro in modo più efficiente e rapido. Ciononostante, l'IA generativa introduce anche nuovi rischi che gli utenti dovrebbero comprendere e cercare di mitigare.

Scopri le soluzioni Red Hat AI

Se hai avuto modo di utilizzare ChatGPT o vedere un'immagine creata da Midjourney partendo da una descrizione da te fornita, hai appurato che l'IA generativa è in grado di produrre risultati sorprendenti. Ma come funziona?

Dietro alle app di AI che utilizzi, i modelli di deep learning ricreano gli schemi che hanno imparato grazie all'addestramento su grandi volumi di dati. E poi lavorano entro parametri definiti dall'uomo per generare un nuovo contenuto in base a quanto appreso.

I modelli di deep learning non archiviano una copia dei loro dati per l'addestramento, ma ne codificano una versione con punti dati simili ma più vicini tra loro. In un secondo momento questa rappresentazione viene decodificata per creare dati nuovi e originali con caratteristiche analoghe. 

Per sviluppare un'app di IA generativa occorre un modello e delle soluzioni di messa a punto, come il fine tuning con supervisione umana o un livello di dati specifici per lo scenario di utilizzo.

La maggior parte delle app di IA generativa attualmente in circolazione risponde ai prompt dell'utente. È sufficiente descrivere in linguaggio naturale ciò che si desidera e l'app è in grado di crearlo.

Scopri cosa può fare l’IA per la tua azienda

Risorse da Red Hat

I passi avanti dell'intelligenza artificiale generativa nella stesura di testi e nella creazione di immagini hanno attirato l'interessi di molti. Di seguito alcuni esempi dei primi scenari di utilizzo per questa tecnologia in continua evoluzione.

Scrittura di testi. Prima ancora del successo clamoroso di ChatGPT, i sistemi di IA generativa ottenevano già ottimi risultati nell'emulazione della scrittura umana. Gli strumenti di traduzione del linguaggio sono stati tra i primi scenari di utilizzo. Le applicazioni di IA generativa attuali sono in grado di rispondere alle richieste di creazione di contenuti praticamente su qualsiasi argomento. Possono anche adeguare il tipo di scrittura in base alla lunghezza e allo stile richiesti.

Creazione di immagini. Gli strumenti per la creazione di immagini con IA generativa sono in grado di sintetizzare immagini di alta qualità e soddisfare pressoché qualunque prompt di stile o soggetto. Alcuni strumenti, come Generative Fill di Adobe Photoshop, consentono di aggiungere nuovi elementi a un'immagine esistente.

Creazione di musica e parlato. Utilizzando un testo scritto e un campione vocale, gli strumenti vocali basati sull'IA sono in grado di elaborare un parlato o un cantato che imitano il suono delle voci umane. Altri strumenti sono capaci di comporre musica artificiale a partire da prompt degli utenti e campioni.

Creazione di video. Nuovi servizi stanno sperimentando diverse tecniche per arrivare a utilizzare l'IA generativa per la creazione di animazioni. Ad esempio, alcuni riescono ad applicare l'audio a un'immagine fissa e a dare l'impressione che un viso parli.

Creazione e completamento del codice. Alcuni strumenti di IA generativa sono in grado di creare stringhe di codice a partire da una richiesta scritta degli sviluppatori di software.

Data augmentation. L'IA generativa è in grado di creare grandi quantità di dati artificiali per tutti quei contesti in cui l'utilizzo di dati reali è impossibile o non è la scelta ideale. Ad esempio, i dati creati artificialmente sono utili per chi vuole addestrare un modello a comprendere i dati sanitari ma non vuole includere informazioni personali che possano ricondurre ai singoli pazienti. Questi dati si possono utilizzare anche per ampliare set di dati troppo esigui o incompleti quando si desiderano svolgere attività di addestramento o test.

Agentic AI. L'Agentic AI e l'IA generativa funzionano in modo collaborativo. I sistemi di Agentic AI possono utilizzare l'IA gen per conversare con un utente, creare contenuti in modo indipendente nell'ambito di un obiettivo più ampio o comunicare con strumenti esterni. In altre parole, l'IA gen è una parte fondamentale del processo "cognitivo" dell'Agentic AI.

Scopri gli scenari di utilizzo dell'IA generativa

Il deep learning, ovvero la tecnologia alla base dell'IA generativa, è una tecnica di machine learning per l'analisi e l'interpretazione di grandi volumi di dati. Noto anche come apprendimento neurale profondo o reti neurali profonde, è un processo che insegna ai computer a imparare tramite l'osservazione, simulando le modalità di acquisizione delle conoscenze tipiche degli esseri umani. Il deep learning è un concetto chiave quando si parla di utilizzare i computer per comprendere il linguaggio umano, la cosiddetta elaborazione del linguaggio naturale (NLP).

Può essere utile immaginare il deep learning come un diagramma di flusso con un livello iniziale in cui vengono inseriti dati e uno finale che fornisce risultati. Tra questi due troviamo "livelli nascosti" che elaborano informazioni a diversi livelli, modificando e adeguando il loro comportamento man mano che ricevono nuovi dati. I modelli di deep learning possono avere centinaia di livelli nascosti, ognuno dei quali svolge il proprio ruolo nell'analizzare relazioni e schemi all'interno del set di dati. 

A partire dal livello di inserimento iniziale, composto da più nodi, i dati vengono introdotti nel modello e categorizzati di conseguenza prima di passare al livello successivo. Il percorso seguito dai dati attraverso ogni livello dipende da calcoli stabiliti per ciascun nodo. Infine, i dati passano da un livello all'altro acquisendo osservazioni lungo il percorso, che porteranno in definitiva al risultato, o all'analisi finale, dei dati.

Una tecnologia che ha accelerato il progresso del deep learning è l'unità di elaborazione grafica (GPU). Le GPU sono nate per accelerare il rendering della grafica nei videogiochi e poi, data la loro efficienza nell'eseguire calcoli in parallelo, si sono dimostrate particolarmente adatte anche ai carichi di lavoro di deep learning.

Il progresso delle applicazioni di IA generativa è strettamente collegato alle dimensioni e alla velocità dei modelli di deep learning.

Una rete neurale è una tecnologia per l'elaborazione delle informazioni che emula il funzionamento dei sistemi neurali biologici, come il cervello umano. È in questo modo che l'AI riesce a creare le connessioni tra set di informazioni apparentemente non correlati. Quindi il concetto di rete neurale è strettamente collegato a quello di deep learning.

Ma in che modo un modello di deep learning utilizza una rete neurale per connettere i punti dati? Partiamo dal funzionamento del cervello umano. Il cervello umano contiene molti neuroni interconnessi, che fungono da messaggeri durante l'elaborazione dei dati in ingresso. Tali neuroni utilizzano impulsi elettrici e segnali chimici per comunicare tra loro e trasmettere le informazioni alle diverse aree del cervello. 

Una rete neurale artificiale (ANN) funziona in maniera analoga, ma è formata da neuroni artificiali costituiti da moduli software chiamati nodi. I nodi utilizzano calcoli matematici (al posto dei segnali chimici cerebrali) per comunicare e trasmettere le informazioni. Questa rete neurale simulata elabora i dati raggruppando punti dati e facendo previsioni.

Le diverse tecniche di reti neurali sono adatte a diversi tipi di dati. Una rete neurale ricorrente (RNN) è un modello che utilizza dati sequenziali, come l'apprendimento delle parole in sequenza per elaborare il linguaggio.

Un'evoluzione delle RNN sono i trasformatori: una particolare tipologia di rete neurale in grado di elaborare il linguaggio più rapidamente. I trasformatori imparano le relazioni tra le parole di una frase, il che li rende più efficienti rispetto alle RNN che acquisiscono ciascuna parola in sequenza.

Un modello linguistico di grandi dimensioni (LLM) è un modello di deep learning addestrato applicando i trasformatori a un set enorme di dati generalizzati. Gli LLM sono alla base di molti dei chatbot e strumenti di testo basati sull'IA più conosciuti.

Un'altra tecnica di deep learning è il modello di diffusione, che si è dimostrato particolarmente indicato per la creazione di immagini. I modelli di diffusione apprendono il processo di conversione di un'immagine naturale in rumore visivo. Gli strumenti per la generazione di immagini invertono poi il processo partendo dal solo rumore e raffinandolo fino a ottenere un'immagine realistica.

I modelli di deep learning si possono anche definire in base ai parametri. Ad esempio, un semplice modello di previsione del credito addestrato su 10 dati in ingresso provenienti da un modulo di richiesta di prestito ha 10 parametri. Un LLM orbita invece nell'ordine dei miliardi di parametri. Il Generative Pre-trained Transformer 4 (GPT-4) di OpenAI, uno dei modelli fondativi di ChatGPT, conta 1 bilione di parametri.

Un modello fondativo è un modello di deep learning addestrato su enormi volumi di dati generici. Una volta completato l'addestramento, è possibile poi perfezionare il modello per scenari di utilizzo specifici. Come denota il nome, si tratta di modelli che possono fare da base per moltissime applicazioni.

Al giorno d'oggi creare un modello fondativo è un progetto laborioso. Innanzitutto, il processo richiede enormi quantità di dati per l'addestramento, raccolti in genere su Internet, librerie di volumi digitali, database di articoli accademici, raccolte di immagini stock e altri set di dati. Successivamente, per addestrare un modello su tali quantità di dati occorre un'infrastruttura immensa, tanto che può essere necessario creare o affittare in leasing un cloud di GPU. La creazione dei più grandi modelli fondativi al mondo è arrivata a costare centinaia di milioni di dollari.

Considerando il costo e gli sforzi necessari per l'addestramento dei modelli fondativi da zero, è pratica comune tra le aziende acquistare modelli addestrati da terze parti e occuparsi poi della personalizzazione. Le tecniche per la personalizzazione dei modelli fondativi sono diverse: fine tuning, fine tuning dei prompt e aggiunta di dati specifici per il cliente o per il dominio. Per esempio, i modelli fondativi del portfolio Granite di IBM sono addestrati su dati curati e garantiscono la trasparenza sui dati utilizzati per l'addestramento.

Il fine tuning è il processo di addestramento di un modello preaddestrato con un insieme di dati molto personalizzato, in modo che possa eseguire in modo efficace attività specifiche. Questi dati di addestramento aggiuntivi modificano i parametri del modello e ne creano una nuova versione che sostituisce quella originale.

In genere il fine tuning richiede un numero di dati e di ore di lavoro nettamente inferiore rispetto all'addestramento iniziale. Tuttavia, il processo tradizionale di fine tuning necessita comunque di un'elaborazione intensiva. 

Il fine tuning efficiente dei parametri (PEFT) consiste in un insieme di tecniche grazie alle quali è possibile ottimizzare solo una parte dei parametri di un LLM e quindi risparmiare risorse. In sostanza, il PEFT è un'evoluzione del fine tuning tradizionale.

LoRA (Low-Rank Adaptation) e QLoRA (Quantized Low-Rank Adaptation) sono due tecniche PEFT di addestramento dei modelli di IA. Sia LoRA che QLoRA sono tecniche per l'ottimizzazione efficiente degli LLM, ma si differenziano fra loro per il modo in cui operano sui modelli e utilizzano lo storage per raggiungere tale risultato.

LoRA e QLoRA a confronto

 

La retrieval-augmented generation (RAG) è una tecnica che consente di ottenere risposte più accurate dalle applicazioni di IA generativa collegando un LLM a risorse esterne aggiuntive.

L'implementazione di un'architettura RAG all'interno di un sistema di question answering (come un chatbot) basato su modelli LLM consente di stabilire un filo diretto tra l'LLM e le basi di conoscenza aggiuntive selezionate. Ciò consente all'LLM di fare riferimenti incrociati e aggiungere informazioni supplementari a quelle di cui già dispone, per fornire un output più affidabile e accurato all'utente che ha posto la domanda.

Scopri di più sulla RAG

Man mano che i modelli di IA generativa diventano più sofisticati, aumentano anche le loro dimensioni. Alcuni LLM possono contenere centinaia di miliardi di parametri. I parametri determinano il modo in cui un LLM comprende il linguaggio: più parametri ha un modello e più complesse sono le attività che può eseguire con maggiore precisione. Tuttavia, più parametri richiedono più potenza di elaborazione. 

Invece di aggiungere più GPU (che può essere costoso), puoi utilizzare tecniche come vLLM e llm-d per rendere più efficiente l'elaborazione sull'hardware esistente.

  • vLLM è un server di inferenza che accelera l'output delle applicazioni di IA gen sfruttando al meglio la memoria GPU.
  • llm-d è un framework Kubernetes native e open source che accelera l'inferenza distribuita in modo scalabile. Entrambi sono progettati per risolvere la sfida di fornire modelli di IA generativa di grandi dimensioni, concentrandosi sull'ottimizzazione delle prestazioni. 

I progressi significativi fatti dall'intelligenza artificiale generativa in pochissimo tempo hanno attirato un notevole interesse, sia tra i suoi sostenitori che tra i suoi detrattori. I vantaggi e i rischi legati a questa tecnologia non sono ancora del tutto noti. Di seguito alcune delle preoccupazioni principali circa l'IA generativa.

Favorire i malintenzionati. Uno dei rischi che vengono subito in mente è l'utilizzo da parte degli hacker di strumenti di IA generativa per obiettivi fraudolenti, come campagne di disinformazione sui social media o la creazione di deepfake non consensuali di persone reali.

Avvalorare pregiudizi sociali dannosi. Si è visto che gli strumenti di IA generativa ripropongono i pregiudizi presenti nei dati per l'addestramento, compresi stereotipi e linguaggio che incita all'odio.

Fornire informazioni scorrette. Gli strumenti di IA generativa possono generare informazioni o immagini inventate o scorrette, definite anche "allucinazioni". Alcuni errori sono innocui, come una risposta poco coerente a una domanda via chat, o l'immagine di una mano con sei dita. Ma si sono verificati anche episodi più gravi, tra cui un chatbot che offriva consigli dannosi a persone affette da disturbi alimentari.

Rischi di sicurezza e legali. I sistemi di IA generativa pongono rischi anche per la sicurezza, come il fatto che gli utenti possano inserire informazioni sensibili in app che non sono progettate per garantire la sicurezza. Inoltre, i risultati dell'IA generativa potrebbero creare problemi legali se il sistema dovesse riprodurre contenuti soggetti a copyright o appropriarsi della voce o dell'identità di persone reali senza il loro consenso. L'utilizzo di alcuni strumenti di IA generativa potrebbe essere soggetto a restrizioni.

Output inspiegabili. A volte, un modello di IA è troppo complesso per essere compreso o interpretato da un essere umano: in questo caso si parla di modello black-box. I modelli black-box possono avere conseguenze dannose se utilizzati per prendere decisioni importanti, specialmente in settori ad alto rischio come quello sanitario, dei trasporti, della sicurezza, militare, legale, aerospaziale, della giustizia penale o finanziario. Per contribuire a risolvere questo problema, è possibile applicare tecniche di IA spiegabile (XAI) durante tutto il ciclo di vita del machine learning, al fine di rendere i risultati più trasparenti e comprensibili per gli esseri umani.

Scopri di più sull'IA spiegabile

Red Hat AI è una piattaforma di prodotti e servizi che facilitano ogni fase del percorso con l'IA, che tu sia alle fasi iniziali o già in ottica di scalabilità. Inoltre, è in grado di sostenere le iniziative di IA generativa e predittiva negli scenari di utilizzo esclusivi della tua azienda.

Con Red Hat AI, hai accesso a Red Hat® AI Inference Server, così potrai ottimizzare l'inferenza dei modelli nel cloud ibrido per deployment più rapidi ed economici. Basato su vLLM, il server di inferenza massimizza l'utilizzo della GPU e accelera i tempi di risposta.

Scopri di più su Red Hat AI Inference Server

Red Hat AI Inference Server include il repository Red Hat AI, una raccolta di modelli di terze parti convalidati e ottimizzati che garantisce la flessibilità dei modelli e promuove la coerenza tra i team. Con l'accesso al repository dei modelli di terze parti, le aziende possono accelerare i tempi di rilascio e ridurre gli ostacoli finanziari al successo dell'IA.

Scopri di più sui modelli convalidati da Red Hat AI

Il blog ufficiale di Red Hat

Leggi gli articoli del blog di Red Hat per scoprire novità e consigli utili sulle nostre tecnologie, e avere aggiornamenti sul nostro ecosistema di clienti, partner e community.

L'adattabilità enterprise: predisporsi all'IA per essere pronti a un'innovazione radicale

Questo ebook, redatto da Michael Ferris, COO e CSO di Red Hat, illustra il ritmo del cambiamento e dell'innovazione tecnologica radicale con l'IA che i leader IT devono affrontare nella realtà odierna.

Continua a leggere

Cos'è llm-d?

llm-d è un framework open source nativo di Kubernetes che accelera l'inferenza LLM distribuita in modo scalabile.

SLM e LLM a confronto: cosa sono i modelli linguistici di piccole dimensioni?

Un modello linguistico di piccole dimensioni (SLM) è una versione ridotta di un modello linguistico di grandi dimensioni (LLM) che dispone di conoscenze più specializzate, è più veloce da personalizzare e più efficiente da eseguire.

Cos'è l'agentic AI?

L'Agentic AI è un software progettato per interagire con dati e strumenti in modo tale da richiedere il minimo intervento da parte dell'utente.

AI/ML: risorse consigliate

Articoli correlati