Siete assetati di ulteriori approfondimenti da parte di esperti?

Iscriviti alla nostra newsletter Tea O'Clock!

Abbonati

Da 0 a ChatGPT - Parte 4

Romain Warlop
Pubblicato su
31/7/2023
In questa serie di 4 articoli, illustriamo le fasi principali dell'evoluzione degli algoritmi di apprendimento automatico che sono stati sviluppati da ChatGPT.

Scoprite la prima parte di questa serie di articoli qui e la seconda parte qui.

Settima tappa : GPT-2 (2019)

Per GPT-2 ([7]), non vi è alcuna rivoluzione algoritmica. L'obiettivo dei ricercatori di openAI è quello di produrre un algoritmo che sia efficace in diversi compiti, senza essere stato esplicitamente ingaggiato per ognuno di essi. Il loro approccio si basa su due piani: i dati e i token.

I dati. Fino ad ora abbiamo parlato molto di idee matematiche per migliorare i modelli, ma non dei dati su cui questi modelli sono stati inseriti. Per il gpt-2, gli autori si sono impegnati a creare il più grande set di dati di ingresso possibile. Esistono basi di dati come Common Crawl che "strisciano" un po' ovunque su Internet. Il problema è che i contenuti di Internet sono per la maggior parte di pessima qualità e inintelligibili. Non è quindi possibile inserire un algoritmo pertinente e verificare un set di dati di questa portata richiederebbe un tempo enorme. La soluzione: fare appello a una comunità gratuita. Gli autori hanno considerato prezioso il link postato sul social network Reddit e che ha ricevuto almeno 3 karma (equivalenti a un "mi piace"). Sono stati così recuperati 45 milioni di link, che, dopo alcuni interventi di pulizia dei dati, si sono tradotti in 8 milioni di documenti.

Token. Nous avons jusqu’ici assez peu abordé les tokens, sauf pour en donner une définition simplifiée, où un mot équivaudrait à un symbole et donc à un token . En réalité, la tokenisation a plusieurs facettes. Elle peut se faire au niveau du mot (word-based tokenization) ou au niveau du caractère (character-based tokenization). L’inconvénient de la tokenisation au niveau du caractère est que chaque token n’ayant pas de sens propre et les séquences étant extrêmement longues, il est  difficile de générer un texte cohérent. La tokenisation au niveau du mot présente elle aussi des inconvénients : l’ampleur du vocabulaire implique que beaucoup de mots soient très rarement représentés. Il est donc difficile d’obtenir un algorithme plus général. Pour pallier à celà, les auteurs ont travaillé sur une alternative à un niveau intermédiaire, entre le mot et le caractère, appelé “subword tokenization”. Leur technique se base sur le “byte pair encoding”. L’idée est que les mots fréquents ont leurs propres tokens alors que les mots rares sont découpés en plusieurs tokens. Un caractère spécial,mettons </f>, est ajouté après chaque mot réel pour en marquer la fin. Ce “</f>” permettra notamment de distinguer le token “eur</f>” qui peut arriver dans le mot “tracteur” et le mot “euro” ; “eur” devra être complété par un autre token pour fermer le mot “euro”, alors que “tract”+”eur</f>” sera suivi d’un espace. À titre d’exemple, “anticonstitutionnellement” devient “anticonstitutionnellement</f>” puis est (potentiellement) transformé en 3 tokens : “anti”, “constitution”, “nellement</f>”.

Aggiungete a questo algoritmo alcune lievi modifiche, alcuni milioni di euro, senza dover rinunciare a 1,5 milioni di parametri, e otterrete GPT-2, un algoritmo unico, altrettanto performante su compiti diversi rispetto agli algoritmi specificamente introdotti.

Ultima parte: GPT-3 (2020)

Con GPT-3 ([8]), OpenAI continua la sua ricerca per creare un algoritmo di linguaggio generale in grado di eseguire compiti precisi con il minor numero di istruzioni possibile. Per questo motivo, gli autori continuano a parlare di "apprendimento in contesto", ossia della capacità di un modello di linguaggio di rispondere correttamente a un esercizio con un minimo di contesto e senza l'ausilio di istruzioni specifiche del suo algoritmo. Gli autori distinguono 3 casi per testare il modello:

  1. pochi scatti: si danno queiques exemples en entrée du modèle, celui-ci doit poursuivre correctement tout seul
  2. one-shot: si dà un solo esempio, e si deve procedere in modo corretto
  3. zero-shot: non si danno esempi e il modello deve sempre rispondere in modo corretto

Questi casi, chiamati anche "addestramento contestuale", si distinguono dal fine tuning, in cui si fornisce al modello un set di dati e si verifica il suo apprendimento prima di testarlo. In questo caso, gli esempi sono semplicemente dati (come un inizio di frase) ma non cambiano i parametri del modello.


Per quanto riguarda il modello stesso, non c'è stato alcun cambiamento sostanziale rispetto a gpt-2. La vera differenza? Un numero maggiore di parametri (175 milioni contro 1,5 milioni per il GPT-2) e un numero maggiore di testi in entrata. Gli autori hanno inoltre testato diverse variabili con più o meno parametri per misurare l'impatto sulle prestazioni del modello.

Nuova parte: GPT-3.5, InstructGPT, chatGPT, GPT-4, ...

A partire da qui, la comunicazione di openAI relativa agli algoritmi dell'interfaccia diventa più fluida. Si tratta di varianti di miglioramenti di GPT-3 senza che si sappia esattamente quali siano le modifiche apportate. È evidente che il formato e il volume dei dati in entrata, il numero di parametri del modello e le tecniche di inserimento dei modelli sono stati gli assi principali di miglioramento per openAI. Mentre instructGPT è una versione più strutturata basata su una suite di istruzioni ordinate, GPT-4 è oggi la versione più avanzata di openAI, in grado di generare lunghe conversazioni informali e di trattare sia testi che immagini.

Esiste una differenza notevole tra le versioni chatGPT / instructGPT e le versioni precedenti, come GPT-3: l'apprendimento del modello. Storicamente, i modelli sono stati introdotti per scrivere la frase successiva e quindi "semplicemente" per completare i documenti, ma non per rispondere alle domande. Se ponete una domanda al GPT-2, rischiate di rispondere con un'altra domanda simile... Ma è comunque molto interessante. Si può pensare di formulare la domanda sotto forma di risposta iniziale; ad esempio, al posto di "Vuoi scrivere una poesia?", scrivi "Ecco una poesia che apprezzo molto" e chiedi il completamento. Questo metodo è più efficace, ma è ancora poco pratico. Per passare da un algoritmo di completamento del testo a un algoritmo di domanda/risposta, sono state aggiunte 3 fasi nell'apprendimento del modello. :

  1. Supervised Fine Tuning (SFT): a partire da un piccolo insieme di documenti di grande qualità (potenzialmente creati da esseri umani) sotto forma di domanda - risposta, si può arrivare a regolare finemente l'apprendimento del modello.
  2. Modello di ricompensa: a partire dal modello SFT, si chiede all'algoritmo di generare più risposte alla stessa domanda. Gli esseri umani ordinano quindi le risposte dalla migliore alla meno buona. Queste etichette vengono utilizzate per indurre il modello a indicare la nota del testo che ha generato.
  3. Apprendimento per rinforzo: si tratta di un modello che consente di rilevare la qualità di una risposta per regolare le risposte dell'algoritmo al fine di generare la più pertinente.

È questo modello finale che viene poi messo in produzione a destinazione del grande pubblico, e che è in grado di rispondere alle domande sul lato umoristico di un'immagine come nell'esempio che segue.

Conclusione :

La ricerca sull'apprendimento automatico per quanto riguarda il trattamento dei dati testuali è uno degli assi di ricerca più lavorati nel mondo della ricerca. Nel corso degli ultimi 15 anni, sono state proposte numerose varianti di algoritmi per migliorare lo stato dell'arte. Attualmente, la ricerca è orientata principalmente verso l'aumento della lunghezza degli algoritmi, avvalendosi di tecniche di modellizzazione che consentono di comprendere meglio il linguaggio. L'incredibile performance degli strumenti messi a disposizione del grande pubblico tende a dare ragione a questa direzione, molto costosa in termini di apprendistato (diversi milioni di dollari o addirittura una decina di milioni di dollari) e quindi riservata a GAFAM e associati. A quando la prossima innovazione algoritmica, e quali nuovi tappi permetterà di superare?

[7] I modelli linguistici sono apprendenti multitask non supervisionati; [8] I modelli linguistici sono apprendenti a pochi colpi; [9] Relazione tecnica GPT-4

Questa è l'ultima parte della serie di quattro articoli di Romain Warlop.

Tutti gli articoli

Articoli correlati

Da 0 a ChatGPT - Parte 3

6 minuti
Romain Warlop

Da 0 a ChatGPT - Parte 2

6 minuti
Romain Warlop

Da 0 a ChatGPT - Parte 1

8 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.