Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'intelligenza artificiale generativa è un tipo di intelligenza artificiale che può creare contenuti originali, ad esempio linguaggio naturale, immagini, audio e codice. L'output dipende dagli input forniti. Gli utenti interagiscono comunemente con l'intelligenza artificiale generativa tramite applicazioni chat che usano il linguaggio naturale come input. ChatGPT, sviluppato da OpenAI, è un esempio popolare. Le applicazioni di intelligenza artificiale generative che usano il linguaggio naturale come input sono basate su modelli di linguaggio di grandi dimensioni (LLM) per eseguire l'elaborazione del linguaggio naturale (NLP).
Funzionamento dell'intelligenza artificiale generativa
Tutta l'intelligenza artificiale generativa è basata su modelli. Questi modelli vengono sottoposti a training con grandi set di dati sotto forma di contenuto, ad esempio linguaggio naturale, immagini, audio e codice. I modelli di intelligenza artificiale generativi usano i modelli identificati nei dati di training per produrre contenuti nuovi e statisticamente simili.
Il modello di intelligenza artificiale usa l'input per compilare un output. Il modello analizza prima l'input in un modulo che può comprendere. Il modello utilizza quindi tali dati per identificare schemi di corrispondenza dal suo training, che combina per produrre l'output finale. I modelli di intelligenza artificiale generativi sono progettati per produrre contenuto univoco, quindi non generano lo stesso output per gli input identici.
Le applicazioni di intelligenza artificiale generativa che supportano il linguaggio naturale come input o output utilizzano gli LLM a tale scopo. LLM esegue NLP, che classifica il testo di input e ne determina il sentiment. Il modello di intelligenza artificiale generativa utilizza l'analisi della classificazione e del sentiment per identificare i modelli e creare l'output. Se l'output è di testo, l'LLM lo genera da solo. Se l'output è audio o immagini, i modelli aggiuntivi forniscono i dati e i modelli per la generazione di output in tale formato.
Usi comuni dell'intelligenza artificiale generativa
Le applicazioni di intelligenza artificiale generative supportano diversi casi d'uso e output, descritti nelle sezioni seguenti.
Generazione del linguaggio naturale
Alcune applicazioni di intelligenza artificiale generative possono produrre output in linguaggio naturale, ad esempio:
- Riepiloghi con parole professionali per un profilo LinkedIn
- Descrizioni dettagliate di articoli in una vetrina online
- Idee per i pasti sani
Ad esempio, dato l'input dell'utente Fornisci tre idee per una colazione sana, inclusi i peperoni, un'applicazione di intelligenza artificiale generativa potrebbe produrre l'output seguente:
OK, ecco tre colazione sane che includono peperoni:
Uova strapazzate con peperoni: Tagliare a dadini alcuni peperoni e saltarli in una padella fino a quando non sono leggermente ammorbiditi. Poi, aggiungere delle uova sbattute e mescolare tutto insieme. Servire con toast di grano intero per una colazione nutriente.
Toast con Peperoni e Avocado: Tosta una fetta di pane di grano intero e aggiungi sopra peperoni a fette, avocado schiacciato e una spolverata di sale e pepe. Questo è un ottimo modo per ottenere alcuni grassi sani dall'avocado insieme alla vitamina C dai peperoni.
Burrito per colazione con peperoni: Saltare in padella alcuni peperoni a dadini, cipolle e uova strapazzate insieme in una padella. Poi, mettere la miscela su una tortilla di grano intero e aggiungere qualche salsa o salsa piccante. Rotolarlo e godere di una colazione soddisfacente e nutriente.
Generazione di immagini
Alcune applicazioni di intelligenza artificiale generative producono output di immagini da input in linguaggio naturale. A seconda dell'applicazione e dei relativi modelli, gli utenti potrebbero essere in grado di specificare:
- Le persone o le cose da visualizzare nell'immagine
- Stile artistico in cui creare l'immagine
- Riferimenti per la generazione di immagini simili
La generazione di immagini può creare avatar virtuali per account online, logo di progettazione per un'azienda o fornire ispirazione artistica per i creatori. Ad esempio, un utente potrebbe immettere la richiesta, Creare un'immagine di un elefante che mangia un hamburger. Un'applicazione di intelligenza artificiale generativa potrebbe produrre l'output seguente:
Generazione audio
Alcune applicazioni di intelligenza artificiale generative producono output audio da input in linguaggio naturale. A seconda dell'applicazione e dei relativi modelli, gli utenti potrebbero essere in grado di:
- Sintetizzare voci audio naturali dal testo di input
- Creare musica in uno stile specifico o con determinati strumenti
- Modificare i file audio di input in base ai criteri impostati nel linguaggio naturale
La generazione di audio può fornire risposte vocali da assistenti vocali digitali, aggiungere strumenti di supporto ai brani per la produzione musicale o riprodurre la voce originale di un utente dalle registrazioni di riferimento.
Generazione di codice
Alcune applicazioni di intelligenza artificiale generative producono codice da input in linguaggio naturale. A seconda dell'applicazione e dei relativi modelli, gli utenti potrebbero essere in grado di generare codice che:
- È nella lingua di loro scelta
- Accetta una struttura di input e output specifica
- Usa tecnologie specifiche in base alla documentazione di riferimento
La generazione di codice può fornire implementazioni rapide di operazioni comuni, ad esempio ordinare o filtrare i dati, velocizzare la traduzione del codice da un linguaggio a un altro o rispondere a domande su una tecnologia basata sulla documentazione di riferimento specificata. Ad esempio, dato l'input "Show me how to code a game of tic-tac-toe with C#", un'applicazione di intelligenza artificiale generativa potrebbe produrre l'output seguente:
Ecco un semplice esempio di come è possibile codificare un gioco di tic-tac-toe in C#:
using System;
namespace TicTacToe
{
class Program
{
static char[] board = { '1', '2', '3', '4', '5', '6', '7', '8', '9' };
static int player = 1; // Player 1 will start
static int choice; // The number the player chooses
static int flag = 0; // Set the flag value to 0
// Check if the position is already marked or not
private static int CheckPosition(char mark)
{
for (int i = 0; i < 9; i++)
{
if (board[i] == mark)
{
return 1;
}
}
return 0;
}
// The rest of the generated code has been omitted for brevity
// ...
}
}
Questo codice crea un semplice gioco tic-tac-toe basato su console in C#. Usa un array unidimensionale per rappresentare il tabellone e controlla la presenza di una vittoria o di un pareggio dopo ogni mossa.
Come funzionano i llms
Quando si esegue il training di un LLM, il testo di training viene prima suddiviso in token . Ogni token identifica un valore di testo univoco. Un token può essere una parola distinta, una parola parziale o una combinazione di parole e punteggiatura. A ogni token viene assegnato un ID, che consente di rappresentare il testo come sequenza di ID token.
Dopo che il testo è stato suddiviso in token, un vettore contestuale, noto come embedding, viene assegnato a ogni token. Questi vettori di incorporamento sono dati numerici multivalore in cui ogni elemento del vettore di un token rappresenta un attributo semantico del token. Gli elementi del vettore di un token vengono determinati in base alla modalità di utilizzo comune dei token insieme o in contesti simili.
L'obiettivo è prevedere il token successivo nella sequenza in base ai token precedenti. Il modello assegna un peso a ogni token nella sequenza esistente, che rappresenta la relativa influenza relativa sul token successivo. Il modello usa quindi i pesi e gli incorporamenti dei token precedenti per calcolare e stimare il valore del vettore successivo. Il modello seleziona quindi il token più probabile per continuare la sequenza in base al vettore stimato.
Questo processo continua in modo iterativo per ogni token nella sequenza, con la sequenza di output usata in modo regreditivo come input per l'iterazione successiva. L'output viene compilato un token alla volta. Questa strategia è analoga al funzionamento del completamento automatico, in cui i suggerimenti sono basati su ciò che è stato digitato finora e aggiornato con ogni nuovo input.
Durante il training, il modello conosce la sequenza di token completa, ma ignora tutti i token dopo che quello attualmente considerato. Il modello confronta il valore del vettore stimato con il valore effettivo e calcola la perdita. Il training regola quindi in modo incrementale i pesi per ridurre la perdita e migliorare il modello.