Siete assetati di ulteriori approfondimenti da parte di esperti?

Iscriviti alla nostra newsletter Tea O'Clock!

Abbonati

Da 0 a ChatGPT - Parte 1

Romain Warlop
Pubblicato su
3/7/2023
Partiamo dall'inizio: l'apprendimento automatico. Una delle sue branche principali consiste nel ricercare un modello che, a partire da informazioni in entrata, generi un contenuto in uscita: si parla quindi di apprendimento supervisionato. Si può ad esempio chiedere di etichettare un'immagine per sapere se contiene un cane o una macchina, chiedere di stimare il fatturato di un negozio sulla base di risultati precedenti, della dimensione del negozio, dell'evoluzione della concorrenza... Il principio è sempre lo stesso: per generare un'etichetta, si suppone che esista una relazione, per il momento sconosciuta, tra l'etichetta e le informazioni di ingresso. Questa relazione può essere definita da una funzione matematica di cui è necessario stimare il numero di parametri. Per fare ciò, ci si basa sui dati già etichettati in nostro possesso e si cerca la relazione matematica che permetta di rivedere questi dati nella maniera più precisa possibile. Ogni tipo di problema (immagine, testo, raccomandazione di prodotto, modellazione di marketing, ...) ha una propria modalità di funzionamento, ma ci concentriamo sui problemi legati al testo. In questa serie di 4 articoli, illustriamo ogni fase dell'evoluzione degli algoritmi di apprendimento automatico che sono stati sviluppati da ChatGPT.

1 - Dare un senso matematico a una parola grazie all'incorporamento

Nei casi d'uso "classici", si tratta di informazioni dettagliate in entrata (un numero di affari, una dimensione del negozio, un numero di dipendenti, un importo speso). I dati possono essere ordinati (4 è più grande di 2) e posizionati su un livello (4 è 2 volte più grande di 2). Per le parole, il discorso è più complesso. Il termine "chien" non è più grande del termine "chat" e "chien" non vale 2 volte "chat". Questi termini sono semplicemente dei simboli arbitrari. Inoltre, per poter generare un'etichetta, tutte le relazioni matematiche devono permettere di confrontare le informazioni tra loro per poi definire le nozioni di prossimità.

Prima soluzione: trasformazione in vettore binario. Supponiamo che ci siano 100 parole nella lingua francese. Si attribuisce un valore arbitrario a ogni parola, per esempio "chien" è la parola 27. Inoltre, ogni motto è rappresentato da un vettore (una tabella di una sola riga) che non contiene altro che 0, se non nel caso in cui corrisponda al chiffre. Nel nostro caso, il motto chien ha un 1 in 27a posizione e 0 in tutte le altre. Si chiama questa rappresentazione un token.

Il risultato ottenuto può essere manipolato da un modello matematico. In realtà, questa definizione fornisce pochissime informazioni al modello, poiché tutte le parole sono esattamente alla stessa distanza tra loro. "Chien" è tanto diverso da "chat" quanto da "voiture".

Nel mondo della ricerca si sono verificate diverse evoluzioni, ma la più performante è quella dell'embedding. Il metodo consiste nel ricercare un vettore, di dimensioni più piccole rispetto all'insieme del vocabolario (nel nostro caso 100), che rappresenti correttamente la distanza che separa le parole tra loro. Per apprendere questo vettore, si cerca una relazione matematica tra i tokens précédents e un'etichetta. Nel 2013, alcuni ricercatori di Google ([1]) hanno sviluppato un algoritmo che cerca questa relazione prendendo un brano di frase al quale viene ritirato un termine al volo. Il termine (son token) prelevato è l'informazione di ingresso del modello e le etichette sono i token rimanenti. In effetti, la scelta di due parole che precedono e seguono un'altra può essere un'operazione molto complessa, ma per il momento si cerca soprattutto una buona modalità di rappresentazione di una parola.

Il modello funziona in due parti: una parte che genera un vettore di piccole dimensioni a partire dal token d'ingresso, e una parte che fornisce una probabilità che il vettore rappresenti ogni token del dizionario.

Per visualizzare i risultati, si può applicare l'algoritmo nella dimensione 2 (vedi figura seguente), anche se in pratica è preferibile lavorare in una dimensione molto più elevata (intorno a 500) per migliorare la qualità della rappresentazione. Poiché le dimensioni non hanno un vero e proprio senso umano, il lavoro dell'algoritmo consiste nel confrontare le parole utilizzate in contesti simili.

Le parole che rappresentano i paesi sono lontane da quelle degli altri e dalle capitali che sono lontane tra loro. Si nota anche una certa coerenza geografica tra le parole.

La modalità di calcolo degli embeddings si è notevolmente evoluta, ma l'idea rimane la stessa: i token devono essere trasformati in vettori più piccoli e sottoposti a una procedura precisa di apprendimento automatico.

2 - Generare il testo

La generazione di testi ha conosciuto un significativo progresso con l'arrivo delle reti di neuroni ricorrenti (RNN, Recurrent Neural Network). Si tratta di un gioco al quale avrete sicuramente già partecipato: una persona sceglie una frase, poi il suo interlocutore la ripete aggiungendo una seconda frase, e il giocatore successivo ripete queste due parole prima di aggiungerne una terza, e così via fino al termine della frase. L'idée des RNN est similaire avec la modification suivante: au lieu d'entendre la phrase complète avant de jouer, chaque joueur n'entend que son résumé donné par la personne précédente. A partire da questo, aggiunge una frase, crea un nuovo riassunto e lo trasmette al compagno.

Ciascuna domanda passa attraverso una sezione di calcolo per essere trasformata in embedding, per poi essere completata in una seconda sezione con il riassunto del giocatore precedente. Il compito della supervisione è quello di generare correttamente il prossimo movimento.

Questi metodi hanno permesso di migliorare lo stato dell'arte, ma non sono in grado di fornire un sunto sufficientemente preciso per una lunga storia. Sono state apportate diverse modifiche, in particolare l'arrivo delle LSTM ([2] Long Short Term Memory), che (come indica il loro nome) hanno come scopo quello di avere una memoria a lungo termine... Ma sempre non troppo lunga per lavorare su documenti interi.

‍Àretenir: in una RNN, un riassunto viene messo a giorno, momento dopo momento. Il riassunto permette di generare il prossimo messaggio.

[1] Rappresentazioni distribuite di parole e frasi e loro composizionalità; [2] LSTM può risolvere problemi difficili con tempi di ritardo lunghi

A presto per la seconda parte di questo articolo!

Tutti gli articoli

Articoli correlati

L'internalizzazione delle soluzioni di misurazione e l'ottimizzazione dell'efficacia del marketing: 5 fattori chiave per il successo - Parte 5

6 minuti
Arnaud Genitore

L'internalizzazione delle soluzioni di misurazione e ottimizzazione dell'efficacia del marketing: un'opportunità per raggiungere la quintessenza operativa?

10 minuti
Arnaud Genitore

Da 0 a ChatGPT - Parte 2

6 minuti
Romain Warlop

Volete saperne di più? Iscrivetevi alla nostra newsletter mensile.

Scoprite tutte le ultime notizie, articoli, repliche di webinar e cinquantacinque eventi nella nostra newsletter mensile, Tea O'Clock.

Nome*
Cognome*
Azienda*
Lingua preferita*
Email*
 Grazie!

La tua richiesta di abbonamento è stata presa in considerazione con successo.
Oops! Qualcosa è andato storto durante l'invio del modulo.