Torna alla pagina principale

Come funziona effettivamente ChatGPT?

ChatGPT è un chatbot basato su un modello linguistico di grandi dimensioni (GPT-3.5 o GPT-4). Sotto il cofano, ChatGPT è una rete neurale preaddestrata che è stata addestrata su una quantità impressionante di dati di testo disponibili pubblicamente da Internet.

Questa grande quantità di dati consente al modello di apprendere modelli, grammatica, contesto e persino alcune conoscenze di buon senso, consentendogli di generare risposte significative e coerenti alle domande degli utenti. ChatGPT ha la capacità unica di impegnarsi in conversazioni interattive e dinamiche con gli utenti, rendendolo uno strumento promettente per un'ampia gamma di applicazioni.

Che cos'è un modello linguistico di grandi dimensioni

I modelli linguistici di grandi dimensioni sono algoritmi di intelligenza artificiale che utilizzano tecniche di deep learning note come elaborazione del linguaggio naturale per leggere, comprendere, generare e prevedere il testo.

Quando digiti un prompt, il modello non cerca la risposta su Internet, ti dà la risposta a capofitto (anche se non ha una testa). Genera una risposta una parola alla volta, determinando ogni parola successiva in base alle probabilità derivate dai dati di testo su cui è stato addestrato e dal testo che ha generato finora.

11 miliardi di parametri: risposta alle domande, aritmetica, comprensione del linguaggio

11 miliardi di parametri: risposta alle domande, aritmetica, comprensione del linguaggio

Come è possibile? Bene, ChatGPT non ha bisogno di cercare informazioni su Internet, perché sa già tutto (beh, quasi). Tutta la conoscenza disponibile su Internet è incorporata in ChatGPT attraverso i suoi 175 miliardi di parametri.

62 miliardi di parametri: traduzione, ragionamento di senso comune, completamento di codici

62 miliardi di parametri: traduzione, ragionamento di senso comune, completamento di codici

Man mano che il numero dei parametri del modello aumenta, nel modello emergono nuove abilità che non sono state progettate intenzionalmente da nessuno.

540 miliardi di parametri: catene di inferenze logiche, riconoscimento di modelli, comprensione della lettura

540 miliardi di parametri: catene di inferenze logiche, riconoscimento di modelli, comprensione della lettura

Come è stato addestrato ChatGPT

ChatGPT è stato addestrato su centinaia di migliaia di libri, articoli, dialoghi, tra cui:

  • WebText2 (una vasta libreria di oltre 45 terabyte di dati di testo)
  • Cornell Movie Dialogs Corpus (un set di dati contenente oltre 200.000 conversazioni tra 10.000 personaggi di film nelle sceneggiature dei film)
  • Ubuntu Dialogue Corpus (una raccolta di 1.000.000 di dialoghi a più turni tra gli utenti di Ubuntu e il team di supporto della comunità)
  • miliardi di righe di codice da GitHub

In primo luogo, GPT è stato autorizzato a elaborare tutti i dati a cui aveva accesso senza alcuna guida umana, consentendogli di comprendere in modo indipendente le norme e le connessioni che dettano l’ambito del testo (è quello che viene chiamato “apprendimento non supervisionato”).

Quindi, per mettere a punto il modello linguistico, è stata applicata una tecnica chiamata apprendimento per rinforzo con feedback umano (RLHF):

  • I formatori di intelligenza artificiale umana hanno condotto conversazioni in cui hanno interpretato entrambe le parti: l'utente e un assistente AI. Avevano accesso a suggerimenti scritti su modello per aiutare a comporre le risposte. Il modello è stato addestrato utilizzando la messa a punto supervisionata per prevedere il messaggio successivo dell'assistente in base alla cronologia dei dialoghi.
  • Per creare un modello di ricompensa per l'apprendimento per rinforzo, sono stati raccolti dati comparativi. I formatori di intelligenza artificiale hanno classificato più risposte del modello in base alla qualità, considerando aspetti come se la risposta avesse senso e se fosse utile. Le risposte selezionate sono diventate un set di dati di dialogo con nuovi messaggi scritti su modello.
  • Un modello di ricompensa è stato creato utilizzando una tecnica chiamata modellazione della ricompensa, in cui un modello è stato addestrato per prevedere la qualità di una risposta sulla base dei dati di confronto raccolti nella fase precedente.

Alla fine, ChatGPT ha imparato come rispondere in ogni situazione, dare risposte precise e pertinenti ed eludere argomenti potenzialmente dannosi.

Architettura a transformer

Il processo di addestramento di ChatGPT prevede la previsione della parola successiva in una frase date le parole precedenti. Per raggiungere questo obiettivo, viene utilizzata un'architettura Transformer (a proposito, T in ChatGPT sta per Transformer), composta da strati di meccanismi di auto-attenzione. L'autoattenzione consente al modello di pesare diverse parole in una frase in base alla loro importanza e rilevanza per prevedere con precisione la parola successiva.

Le reti neurali ricorrenti (RNN) più vecchie leggono il testo da sinistra a destra. Sebbene funzioni bene quando le parole correlate sono adiacenti, diventa difficile quando si trovano alle estremità opposte di una frase.

Pertanto, quando una RNN lavorava con un testo di una pagina, entro la metà del terzo paragrafo, già “dimenticava” ciò che c’era all’inizio.

Al contrario, i trasformatori sono in grado di elaborare simultaneamente ogni parola in una frase e di confrontare ogni parola con tutte le altre. Ciò consente loro di focalizzare la propria "attenzione" sulle parole più rilevanti, indipendentemente dalla loro posizione all'interno della sequenza di input.

Tokenizzazione

È importante notare che i trasformatori non operano sulle singole parole (non possono leggere come gli esseri umani). Invece, il testo di input viene suddiviso in singoli token, incluse parole, segni di punteggiatura e token speciali. I token in ChatGPT sono blocchi di testo rappresentati come vettori (numeri con direzione e posizione).

La vicinanza dei vettori-token nello spazio determina il loro livello di associazione: più sono vicini, più sono correlati. Inoltre, l’attenzione è codificata come un vettore, consentendo alle reti neurali basate su trasformatori di trattenere informazioni cruciali dalle parti precedenti di un paragrafo.

Quando un utente interagisce con ChatGPT, il modello riceve la cronologia delle conversazioni come input, inclusi sia i prompt dell'utente che le risposte generate dal modello. L'input viene tokenizzato e quindi immesso nella rete neurale. Ad ogni token è associato un incorporamento che ne rappresenta il significato nel contesto della conversazione.

GPT-3 è stato addestrato su circa 500 miliardi di token, il che consente ai suoi modelli linguistici di assegnare più facilmente significato e prevedere testi successivi plausibili mappandoli nello spazio vettoriale. Molte parole vengono associate a singoli token, anche se parole più lunghe o complesse spesso si scompongono in più token. In media, i token sono lunghi circa quattro caratteri.

Durante la fase di inferenza, in cui il modello genera risposte, viene utilizzato un processo noto come autoregressione. Ciò significa che il modello prevede una parola alla volta, condizionando la cronologia della conversazione e le parole generate in precedenza. Per garantire che la risposta generata sia coerente e pertinente, vengono utilizzate tecniche come il campionamento top-p e il ridimensionamento della temperatura.

In breve, il parametro top-p fornisce al modello un pool di opzioni (token) tra cui scegliere, mentre la temperatura determina la probabilità di scegliere un determinato token. Quando la temperatura è impostata su 0, il modello selezionerà solo i token più "popolari" (parole che si trovano più spesso insieme nei dati di testo in cui ChatGPT è stato addestrato):

Non è sempre fantastico. Temperature più elevate rendono i risultati più diversificati:

Maggiori informazioni sui parametri ChatGPT: