GPT e la Nuova Generazione di Modelli AI: differenze tra le versioni

Da Wiki AI.
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 2: Riga 2:
Il '''30 Novembre 2022''' l'azienda statunitense [[OpenAI]] ha rilasciato [[ChatGPT]], il suo chatbot e assistente virtuale. Questo rilascio ha segnato un vero momento di svolta nel campo dell'Intelligenza Artificiale: per la prima volta tutti gli utenti dotati di una connessione internet e di un computer o una smartphone hanno potuto interagire con un sistema di Intelligenza Artificiale ''general-purpose'', cioè slegato da compiti specifici, ma che dà l'impressione di conoscere gran parte dello scibile umano, di ragionare, e di poter aiutare l'utente a risolvere compiti complessi.
Il '''30 Novembre 2022''' l'azienda statunitense [[OpenAI]] ha rilasciato [[ChatGPT]], il suo chatbot e assistente virtuale. Questo rilascio ha segnato un vero momento di svolta nel campo dell'Intelligenza Artificiale: per la prima volta tutti gli utenti dotati di una connessione internet e di un computer o una smartphone hanno potuto interagire con un sistema di Intelligenza Artificiale ''general-purpose'', cioè slegato da compiti specifici, ma che dà l'impressione di conoscere gran parte dello scibile umano, di ragionare, e di poter aiutare l'utente a risolvere compiti complessi.


[[ChatGPT]] è <u>un'interfaccia grafica testuale</u>, ovvero un'applicazione web based, che permette di interagire in maniera intuitiva ed efficiente con il [[Modello linguistico di grandi dimensioni]] sviluppato da OpenAI, chiamato [[GPT-3]] e acronimo per ''Generative Pre-Trained Transformer:'' modello che poi, nei mesi e negli anni a venire, è costantemente aggiornato e migliorato.
[[ChatGPT]] è <u>un'interfaccia grafica testuale</u>, ovvero un'applicazione web based, che permette di interagire in maniera intuitiva ed efficiente con il [[Modello linguistico di grandi dimensioni]] sviluppato da OpenAI, chiamato [[GPT-3]] e acronimo per ''Generative Pre-Trained Transformer:'' modello che poi, nei mesi e negli anni a venire, è costantemente aggiornato e migliorato [1][2][3][4].


Le caratteristiche principali che hanno decretato il successo planetario di questa applicazione, e il successivo boom di una nuova ''wave'' dell'intelligenza artificiale, sono:
Le caratteristiche principali che hanno decretato il successo planetario di questa applicazione, e il successivo boom di una nuova ''wave'' dell'intelligenza artificiale, sono:
Riga 13: Riga 13:
Nei prossimi capitoli scopriremo come si è arrivati e quali sono le scoperte più importanti che hanno portato a un tale livello di sofisticazione. Ci concentreremo sui modelli di linguaggio, in quanto le architetture su cui sono basati sono state il vero passo in avanti nell'intelligenza artificiale moderna, e anche i seguenti progressi nel campo, per esempio, della generazione delle immagini, includono spesso le scoperte nate nel campo del linguaggio.
Nei prossimi capitoli scopriremo come si è arrivati e quali sono le scoperte più importanti che hanno portato a un tale livello di sofisticazione. Ci concentreremo sui modelli di linguaggio, in quanto le architetture su cui sono basati sono state il vero passo in avanti nell'intelligenza artificiale moderna, e anche i seguenti progressi nel campo, per esempio, della generazione delle immagini, includono spesso le scoperte nate nel campo del linguaggio.


== GPT: ''down the rabbit hole'' ==
== Il Modello di Linguaggio GPT, ''down the rabbit hole'' ==
 
=== Un modello generativo e autoregressivo ===
Utilizzando un'approccio ''top-down'', partendo da cosa succede nel momento in cui si scrive un ''[[Prompting|prompt]]'' nell'interfaccia di GPT, ad'esempio la semplice domanda:
Utilizzando un'approccio ''top-down'', partendo da cosa succede nel momento in cui si scrive un ''[[Prompting|prompt]]'' nell'interfaccia di GPT, ad'esempio la semplice domanda:
  Qual'è la capitale della Francia?
  Qual'è la capitale della Francia?
La conversazione è visibile sul [https://chatgpt.com/share/905f4d1a-6553-4da6-8b07-17fd5abc9325 link a ChatGpt]. Il programma risponde correttamente con:
La conversazione è visibile sul [https://chatgpt.com/share/905f4d1a-6553-4da6-8b07-17fd5abc9325 link a ChatGpt]. Il programma risponde correttamente con:
  La capitale della Francia è Parigi.
  La capitale della Francia è Parigi.
GPT è un modello è detto ''generativo'', in cui le parole, chiamate più precisamente '''token''', vengono generate '''una di seguito all'altra:''' per generare la parola successiva, GPT utilizza tutte le parole precedenti, '''concatenando''' la domanda e le parole generate fino a quel momento. Prima di interrompersi alla fine frase, il modello viene chiamato 7 volte come mostrato nei seguenti time-step:
GPT è un modello è detto ''generativo'', in cui le parole, chiamate più precisamente '''token''', vengono generate '''una di seguito all'altra:''' per capire quale token emettere, GPT tiene in considerazione tutte le parole precedenti, '''concatenando''' la domanda e le parole generate fino a quel momento. Questa concatenazione di input dell'utente e output del modello dà al modello l'aggettivo '''autoregressivo'''.
 
Prima di interrompersi, alla fine della frase, il modello viene eseguito volte come mostrato nei seguenti time-step:
  '''(1) Input:''' Qual'è la capitale della Francia? '''Output:''' La
  '''(1) Input:''' Qual'è la capitale della Francia? '''Output:''' La
  '''(2) Input:''' Qual'è la capitale della Francia? La '''Output:''' capitale
  '''(2) Input:''' Qual'è la capitale della Francia? La '''Output:''' capitale
Riga 26: Riga 30:
  '''(6) Input:''' Qual'è la capitale della Francia? La capitale della Francia è '''Output:''' Parigi
  '''(6) Input:''' Qual'è la capitale della Francia? La capitale della Francia è '''Output:''' Parigi
  '''(7) Input:''' Qual'è la capitale della Francia? La capitale della Francia è Parigi '''Output:''' .
  '''(7) Input:''' Qual'è la capitale della Francia? La capitale della Francia è Parigi '''Output:''' .
La '''sequenza di token''' che, a ogni step di esecuzione, viene presentata come input del modello, è chiamata '''[[contesto]];''' l''''output''' del modello a ogni time-step viene invece chiamato [[inferenza]].
La '''sequenza di token''' che, a ogni step di esecuzione, viene presentata come input del modello, è chiamata '''[[contesto]];''' l''''output''' del modello a ogni time-step viene invece chiamato [[inferenza|'''inferenza''']].
 
Possiamo a questo punto comprendere che l'interfaccia di ChatGPT non è altro che un "tramite" che manda ai server di OpenAI le sequenze concatenate della conversazione avvenuta fino a un determinato punto, per generare il token successivo, e così via, fino alla fine della generazione della frase o del paragrafo corrente.
 
=== Il funzionamento probabilistico del modello ===
Quali GPT genera il token successivo più '''probabile''' data la sequenza ordinata di token presenti nel suo contesto. I token, ognuno corrispondente a una parole, sono circa 50.000 per il '''vocabolario''' di GPT-3.
 
L'obiettivo del modello è calcolare la probabilità condizionale di un token successivo dato il contesto precedente.
 
Questa probabilità è denotata come P(xt​∣x1​,x2​,…,xt−1​), dove xt​ è il token che stiamo cercando di predire, e x1​,x2​,…,xt−1​ sono i token precedenti nel contesto. Formalmente, il processo può essere descritto come segue:
 
# '''Probabilità condizionale''': Per ogni posizione t, il modello stima la probabilità condizionale del prossimo token xt​ dato tutti i token precedenti: P(xt​∣x1​,x2​,…,xt−1​)
# '''Token più probabile''': Una volta calcolata la distribuzione di probabilità per tutti i possibili token del vocabolario, il token generato è quello con la probabilità massima: xt​=argx∈Vmax​P(x∣x1​,x2​,…,xt−1​) Dove V rappresenta l'intero vocabolario. Questa formula indica che viene scelto il token xt​ che massimizza la probabilità condizionale tra tutti i token possibili.
# '''Processo iterativo''': Il processo viene ripetuto in maniera autoregressiva, ovvero il token generato xt​ viene aggiunto al contesto per predire il token successivo xt+1​, e così via fino al completamento della sequenza o fino a un segnale di stop, come un token di fine sequenza.
 
In sintesi, GPT utilizza una funzione di probabilità che assegna una distribuzione di probabilità su tutto il vocabolario, e genera il token successivo scegliendo quello con la massima probabilità condizionale rispetto ai token precedenti.
 
 
== Bibliografia ==
[1] [https://www.semanticscholar.org/paper/Improving-Language-Understanding-by-Generative-Radford-Narasimhan/cd18800a0fe0b668a1cc19f2ec95b5003d0a5035 Improving Language Understanding by Generative Pre-Training]. - Il paper di GPT-1 (2018)
[2] [https://www.semanticscholar.org/paper/Language-Models-are-Unsupervised-Multitask-Learners-Radford-Wu/9405cc0d6169988371b2755e573cc28650d14dfe Language Models are Unsupervised Multitask Learners] - Il paper di GPT-2 (2019)
 
[3] [https://www.semanticscholar.org/paper/Language-Models-are-Few-Shot-Learners-Brown-Mann/90abbc2cf38462b954ae1b772fac9532e2ccd8b0 Language Models are Few-Shot Learners] - Il paper di GPT-3 (2020)
 
[4] [https://www.semanticscholar.org/paper/GPT-4-Technical-Report-Achiam-Adler/163b4d6a79a5b19af88b8585456363340d9efd04 GPT-4 Technical Report] - il paper di GPT-4 (2023)


[[Categoria:Corso di Intelligenza Artificiale Moderna]]
{{DEFAULTSORT:001 - Introduzione_all'Intelligenza_Artificiale_Moderna}}
{{DEFAULTSORT:001 - Introduzione_all'Intelligenza_Artificiale_Moderna}}

Versione delle 10:38, 5 set 2024

GPT e la nuova generazione dell'Intelligenza Artificiale

Il 30 Novembre 2022 l'azienda statunitense OpenAI ha rilasciato ChatGPT, il suo chatbot e assistente virtuale. Questo rilascio ha segnato un vero momento di svolta nel campo dell'Intelligenza Artificiale: per la prima volta tutti gli utenti dotati di una connessione internet e di un computer o una smartphone hanno potuto interagire con un sistema di Intelligenza Artificiale general-purpose, cioè slegato da compiti specifici, ma che dà l'impressione di conoscere gran parte dello scibile umano, di ragionare, e di poter aiutare l'utente a risolvere compiti complessi.

ChatGPT è un'interfaccia grafica testuale, ovvero un'applicazione web based, che permette di interagire in maniera intuitiva ed efficiente con il Modello linguistico di grandi dimensioni sviluppato da OpenAI, chiamato GPT-3 e acronimo per Generative Pre-Trained Transformer: modello che poi, nei mesi e negli anni a venire, è costantemente aggiornato e migliorato [1][2][3][4].

Le caratteristiche principali che hanno decretato il successo planetario di questa applicazione, e il successivo boom di una nuova wave dell'intelligenza artificiale, sono:

  • l'interazione con il modello (chiamata prompting, in quanto si "esorta" il modello a generare una risposta), avviene col linguaggio naturale e non attraverso formule specifiche, come succede per esempio nei classici chatbot aziendali o su Whatsapp. L'interazione pare ammettere anche la presenza errori di ortografia e l'utilizzo di un linguaggio non preciso nel prompting
  • il testo generato dal modello è ricco di sfumature linguistiche, ben formattato, e sorprendentemente ricco di informazioni: risponde correttamente a molti quesiti e pare contenere gran parte dello scibile umano
  • l modello dà l'impressione di comprendere e di sapere scrivere in molti linguaggi: è un modello multilingue
  • durante l'interazione, il modello si rivela molto educato, dando l'impressione di essere un vero assistente umano
  • l'applicazione si ricorda e ha memoria delle interazioni passate, non rispondendo solo a domande puntuali ma dando all'utente la possibilità di instaurare una reale conversazione

Nei prossimi capitoli scopriremo come si è arrivati e quali sono le scoperte più importanti che hanno portato a un tale livello di sofisticazione. Ci concentreremo sui modelli di linguaggio, in quanto le architetture su cui sono basati sono state il vero passo in avanti nell'intelligenza artificiale moderna, e anche i seguenti progressi nel campo, per esempio, della generazione delle immagini, includono spesso le scoperte nate nel campo del linguaggio.

Il Modello di Linguaggio GPT, down the rabbit hole

Un modello generativo e autoregressivo

Utilizzando un'approccio top-down, partendo da cosa succede nel momento in cui si scrive un prompt nell'interfaccia di GPT, ad'esempio la semplice domanda:

Qual'è la capitale della Francia?

La conversazione è visibile sul link a ChatGpt. Il programma risponde correttamente con:

La capitale della Francia è Parigi.

GPT è un modello è detto generativo, in cui le parole, chiamate più precisamente token, vengono generate una di seguito all'altra: per capire quale token emettere, GPT tiene in considerazione tutte le parole precedenti, concatenando la domanda e le parole generate fino a quel momento. Questa concatenazione di input dell'utente e output del modello dà al modello l'aggettivo autoregressivo.

Prima di interrompersi, alla fine della frase, il modello viene eseguito volte come mostrato nei seguenti time-step:

(1) Input: Qual'è la capitale della Francia? Output: La
(2) Input: Qual'è la capitale della Francia? La Output: capitale
(3) Input: Qual'è la capitale della Francia? La capitale Output: della
(4) Input: Qual'è la capitale della Francia? La capitale della Output: Francia
(5) Input: Qual'è la capitale della Francia? La capitale della Francia Output: è
(6) Input: Qual'è la capitale della Francia? La capitale della Francia è Output: Parigi
(7) Input: Qual'è la capitale della Francia? La capitale della Francia è Parigi Output: .

La sequenza di token che, a ogni step di esecuzione, viene presentata come input del modello, è chiamata contesto; l'output del modello a ogni time-step viene invece chiamato inferenza.

Possiamo a questo punto comprendere che l'interfaccia di ChatGPT non è altro che un "tramite" che manda ai server di OpenAI le sequenze concatenate della conversazione avvenuta fino a un determinato punto, per generare il token successivo, e così via, fino alla fine della generazione della frase o del paragrafo corrente.

Il funzionamento probabilistico del modello

Quali GPT genera il token successivo più probabile data la sequenza ordinata di token presenti nel suo contesto. I token, ognuno corrispondente a una parole, sono circa 50.000 per il vocabolario di GPT-3.

L'obiettivo del modello è calcolare la probabilità condizionale di un token successivo dato il contesto precedente.

Questa probabilità è denotata come P(xt​∣x1​,x2​,…,xt−1​), dove xt​ è il token che stiamo cercando di predire, e x1​,x2​,…,xt−1​ sono i token precedenti nel contesto. Formalmente, il processo può essere descritto come segue:

  1. Probabilità condizionale: Per ogni posizione t, il modello stima la probabilità condizionale del prossimo token xt​ dato tutti i token precedenti: P(xt​∣x1​,x2​,…,xt−1​)
  2. Token più probabile: Una volta calcolata la distribuzione di probabilità per tutti i possibili token del vocabolario, il token generato è quello con la probabilità massima: xt​=argx∈Vmax​P(x∣x1​,x2​,…,xt−1​) Dove V rappresenta l'intero vocabolario. Questa formula indica che viene scelto il token xt​ che massimizza la probabilità condizionale tra tutti i token possibili.
  3. Processo iterativo: Il processo viene ripetuto in maniera autoregressiva, ovvero il token generato xt​ viene aggiunto al contesto per predire il token successivo xt+1​, e così via fino al completamento della sequenza o fino a un segnale di stop, come un token di fine sequenza.

In sintesi, GPT utilizza una funzione di probabilità che assegna una distribuzione di probabilità su tutto il vocabolario, e genera il token successivo scegliendo quello con la massima probabilità condizionale rispetto ai token precedenti.


Bibliografia

[1] Improving Language Understanding by Generative Pre-Training. - Il paper di GPT-1 (2018) [2] Language Models are Unsupervised Multitask Learners - Il paper di GPT-2 (2019)

[3] Language Models are Few-Shot Learners - Il paper di GPT-3 (2020)

[4] GPT-4 Technical Report - il paper di GPT-4 (2023)