Tornar al principal

Com funciona realment ChatGPT?

ChatGPT és un chatbot basat en un gran model d'idioma (GPT-3.5 o GPT-4). Sota el capó, ChatGPT és una xarxa neuronal prèviament entrenada que s'ha entrenat amb una quantitat impressionant de dades de text disponibles públicament d'Internet.

Aquesta gran quantitat de dades permet al model aprendre patrons, gramàtica, context i fins i tot coneixements de sentit comú, la qual cosa li permet generar respostes significatives i coherents a les consultes dels usuaris. ChatGPT té la capacitat única de participar en converses interactives i dinàmiques amb els usuaris, cosa que el converteix en una eina prometedora per a una àmplia gamma d'aplicacions.

Què és un gran model lingüístic

Els grans models de llenguatge són algorismes d'IA que utilitzen tècniques d'aprenentatge profund conegudes com a processament del llenguatge natural per llegir, comprendre, generar i predir text.

Quan escriviu una indicació, el model no cerca la resposta a Internet, us dóna la resposta per la part superior del cap (encara que no té cap cap). Genera una resposta una paraula a la vegada, determinant cada paraula següent en funció de les probabilitats derivades de les dades de text en què s'ha entrenat i del text que ha generat fins ara.

11 mil milions de paràmetres: resposta a preguntes, aritmètica, comprensió del llenguatge

11 mil milions de paràmetres: resposta a preguntes, aritmètica, comprensió del llenguatge

Com és possible això? Bé, ChatGPT no necessita cercar informació a Internet, perquè ja ho sap tot (bé, gairebé). Tot el coneixement disponible a Internet s'incorpora a ChatGPT a través dels seus 175.000 milions de paràmetres.

62 mil milions de paràmetres: traducció, raonament de sentit comú, completació de codi

62 mil milions de paràmetres: traducció, raonament de sentit comú, completació de codi

A mesura que augmenta el nombre de paràmetres del model, apareixen noves habilitats en el model que no van ser dissenyades intencionadament per ningú.

540 mil milions de paràmetres: cadenes d'inferència lògica, reconeixement de patrons, comprensió lectora

540 mil milions de paràmetres: cadenes d'inferència lògica, reconeixement de patrons, comprensió lectora

Com es va entrenar ChatGPT

ChatGPT es va entrenar en centenars de milers de llibres, articles i diàlegs, inclosos:

  • WebText2 (una gran biblioteca de més de 45 terabytes de dades de text)
  • Cornell Movie Dialogs Corpus (un conjunt de dades que conté més de 200.000 converses entre 10.000 personatges de pel·lícules en guions de pel·lícules)
  • Ubuntu Dialogue Corpus (una col·lecció de 1.000.000 de diàlegs de diverses voltes entre usuaris d'Ubuntu i l'equip de suport de la comunitat)
  • milers de milions de línies de codi de GitHub

En primer lloc, es va permetre a GPT processar totes les dades a les quals tenia accés sense cap guia humana, cosa que li va permetre comprendre de manera independent les regulacions i les connexions que dicten l'àmbit del text (és a dir, el que s'anomena "aprenentatge no supervisat").

Aleshores, per afinar el model de llenguatge es va aplicar una tècnica anomenada aprenentatge per reforç amb feedback humà (RLHF):

  • Els entrenadors d'IA humana van dur a terme converses on jugaven ambdues parts: l'usuari i un assistent d'IA. Van tenir accés a suggeriments escrits en models per ajudar a redactar les respostes. El model es va entrenar mitjançant un ajustament supervisat per predir el següent missatge de l'assistent donat l'historial de diàlegs.
  • Per crear un model de recompensa per a l'aprenentatge de reforç, es van recollir dades de comparació. Els entrenadors d'IA van classificar diverses respostes de models per qualitat, tenint en compte coses com ara si la resposta tenia sentit i si era útil. Les respostes seleccionades es van convertir en un conjunt de dades de diàleg amb nous missatges escrits en model.
  • Es va crear un model de recompensa mitjançant una tècnica anomenada model de recompensa, on es va entrenar un model per predir la qualitat d'una resposta a partir de les dades de comparació recollides al pas anterior.

Al final, ChatGPT ha après a respondre en qualsevol situació donada, donar respostes precises i rellevants i evadir temes potencialment nocius.

Arquitectura del transformador

El procés d'entrenament de ChatGPT consisteix a predir la següent paraula d'una frase donades les paraules anteriors. Per aconseguir-ho, s'utilitza una arquitectura Transformer (per cert, T a ChatGPT significa Transformer), que està formada per capes de mecanismes d'autoatenció. L'autoatenció permet al model sospesar diferents paraules en una frase en funció de la seva importància i rellevància per predir la paraula següent amb precisió.

Les xarxes neuronals recurrents (RNN) més antigues llegeixen el text d'esquerra a dreta. Tot i que això funciona bé quan les paraules relacionades són adjacents, esdevé un repte quan es troben als extrems oposats d'una frase.

Per tant, quan un RNN treballava amb un text d'una pàgina, a la meitat del tercer paràgraf, ja "oblidaria" el que hi havia al principi.

En canvi, els transformadors són capaços de processar simultàniament cada paraula d'una frase i comparar cada paraula amb totes les altres. Això els permet centrar la seva "atenció" en les paraules més rellevants, independentment de la seva posició dins de la seqüència d'entrada.

Tokenització

És important tenir en compte que els transformadors no funcionen amb paraules individuals (no poden llegir com els humans). En canvi, el text d'entrada es divideix en tokens individuals, incloses paraules, signes de puntuació i fitxes especials. Els tokens a ChatGPT són fragments de text representats com a vectors (nombres amb direcció i posició).

La proximitat dels vectors testimonis a l'espai determina el seu nivell d'associació: com més a prop estan, més relacionats estan. A més, l'atenció es codifica com a vector, la qual cosa permet que les xarxes neuronals basades en transformadors retinguin informació crucial de les parts anteriors d'un paràgraf.

Quan un usuari interactua amb ChatGPT, el model rep l'historial de converses com a entrada, que inclou tant les indicacions de l'usuari com les respostes generades pel model. L'entrada es tokenitza i després s'alimenta a la xarxa neuronal. Cada testimoni s'associa amb una incrustació que representa el seu significat en el context de la conversa.

GPT-3 es va entrenar amb aproximadament 500.000 milions de tokens, cosa que permet als seus models de llenguatge assignar significats més fàcilment i predir un text de seguiment plausible mapejant-los a l'espai vectorial. Moltes paraules s'assignen a tokens individuals, encara que les paraules més llargues o complexes sovint es divideixen en múltiples tokens. De mitjana, les tokens tenen aproximadament quatre caràcters.

Durant l'etapa d'inferència, on el model genera respostes, s'utilitza un procés conegut com a autoregressió. Això vol dir que el model prediu una paraula alhora, alhora que condiciona l'historial de converses i les paraules generades prèviament. Per garantir que la resposta generada sigui coherent i rellevant, s'utilitzen tècniques com el mostreig de la part superior i l'escala de temperatura.

En resum, el paràmetre top-p ofereix al model un conjunt d'opcions (tokens) per triar, mentre que la temperatura determina la probabilitat d'escollir un determinat testimoni. Quan la temperatura s'estableix a 0, el model triarà només les fitxes més "populars" (les paraules que es troben més sovint juntes a les dades de text que es va entrenar ChatGPT):

Això no sempre és genial. Les temperatures més altes fan que els resultats siguin més diversos:

Més informació sobre els paràmetres de ChatGPT: