taló L'ascens de la PNL amb models de transformadors | Una anàlisi exhaustiva de T5, BERT i GPT - Unite.AI
Connecteu-vos amb nosaltres

Intel·ligència Artificial

Ascens de la PNL amb models de transformadors | Una anàlisi exhaustiva de T5, BERT i GPT

mm

publicat

 on

Guia sobre PNL

El processament del llenguatge natural (NLP) ha experimentat alguns dels avenços més impactants dels darrers anys, principalment a causa de l'arquitectura del transformador. Aquests avenços no només han millorat les capacitats de les màquines per entendre i generar llenguatge humà, sinó que també han redefinit el panorama de nombroses aplicacions, des dels motors de cerca fins a la IA conversacional.

Per apreciar plenament la importància dels transformadors, primer hem de mirar enrere els predecessors i els blocs de construcció que van establir les bases d'aquesta arquitectura revolucionària.

Les primeres tècniques de PNL: els fonaments abans dels transformadors

Incrustacions de paraules: de One-Hot a Word2Vec

En els enfocaments tradicionals de PNL, la representació de les paraules era sovint literal i mancava de qualsevol forma de comprensió semàntica o sintàctica. La codificació en calent és un bon exemple d'aquesta limitació.

La codificació en calent és un procés pel qual les variables categòriques es converteixen en una representació vectorial binària on només un bit és "calent" (establert a 1) mentre que tots els altres són "freds" (establert a 0). En el context de la PNL, cada paraula d'un vocabulari està representada per vectors one-hot on cada vector és la mida del vocabulari, i cada paraula està representada per un vector amb tots els 0 i un 1 a l'índex corresponent a aquesta paraula en la llista de vocabulari.

Exemple de codificació One-Hot

Suposem que tenim un vocabulari petit amb només cinc paraules: [“rei”, “reina”, “home”, “dona”, “nen”]. Els vectors de codificació one-hot per a cada paraula serien així:

  • "rei" -> [1, 0, 0, 0, 0]
  • "reina" -> [0, 1, 0, 0, 0]
  • "home" -> [0, 0, 1, 0, 0]
  • "dona" -> [0, 0, 0, 1, 0]
  • "fill" -> [0, 0, 0, 0, 1]

Representació matemàtica

Si denotem com la mida del nostre vocabulari i com la representació vectorial única de la i-èsima paraula del vocabulari, la representació matemàtica de seria:

on la posició i és 1 i totes les altres posicions són 0.

El principal inconvenient de la codificació one-hot és que tracta cada paraula com una entitat aïllada, sense relació amb altres paraules. Dóna lloc a vectors escassos i d'alta dimensió que no capturen cap informació semàntica o sintàctica sobre les paraules.

La introducció de les incrustacions de paraules, sobretot Word2Vec, va ser un moment clau en la PNL. Desenvolupat per un equip de Google dirigit per Tomas Mikolov el 2013, Word2Vec representava paraules en un espai vectorial dens, capturant relacions de paraules sintàctiques i semàntiques basades en el seu context dins de grans corpus de text.

A diferència de la codificació one-hot, Word2Vec produeix vectors densos, normalment amb centenars de dimensions. Les paraules que apareixen en contextos similars, com ara "rei" i "reina", tindran representacions vectorials més properes les unes a les altres a l'espai vectorial.

Per il·lustració, suposem que hem entrenat un model Word2Vec i ara representem paraules en un hipotètic espai tridimensional. Les incrustacions (que solen ser més que 3D, però aquí reduïdes per simplicitat) podrien semblar a això:

  • "rei" -> [0.2, 0.1, 0.9]
  • "reina" -> [0.21, 0.13, 0.85]
  • "home" -> [0.4, 0.3, 0.2]
  • “dona” -> [0.41, 0.33, 0.27]
  • "nen" -> [0.5, 0.5, 0.1]

Tot i que aquests números són ficticis, il·lustren com paraules semblants tenen vectors similars.

Representació matemàtica

Si representem la incrustació de Word2Vec d'una paraula com , i el nostre espai d'inserció té dimensions, doncs es pot representar com:

Relacions semàntiques

Word2Vec pot fins i tot capturar relacions complexes, com ara analogies. Per exemple, la famosa relació capturada per les incrustacions de Word2Vec és:

vector(“rei”) – vector(“home”) + vector(“dona”)≈vector(“reina”)

Això és possible perquè Word2Vec ajusta els vectors de paraules durant l'entrenament perquè les paraules que comparteixen contextos comuns al corpus es col·loquin molt a prop a l'espai vectorial.

Word2Vec utilitza dues arquitectures principals per produir una representació distribuïda de paraules: Continuous Bag-of-Words (CBOW) i Skip-Gram. CBOW prediu una paraula objectiu a partir de les paraules de context que l'envolten, mentre que Skip-Gram fa el contrari, predint paraules de context a partir d'una paraula objectiu. Això va permetre a les màquines començar a entendre l'ús i el significat de les paraules d'una manera més matisada.

Modelització de seqüències: RNN i LSTM

A mesura que el camp avançava, l'enfocament es va desplaçar cap a la comprensió de seqüències de text, que era crucial per a tasques com la traducció automàtica, el resum de text i l'anàlisi de sentiments. Les xarxes neuronals recurrents (RNN) es van convertir en la pedra angular d'aquestes aplicacions a causa de la seva capacitat de manejar dades seqüencials mantenint una forma de memòria.

Tanmateix, els RNN no estaven exempts de limitacions. Van lluitar amb dependències a llarg termini a causa del problema del gradient desapareixent, on la informació es perd en seqüències llargues, cosa que dificultava aprendre correlacions entre esdeveniments llunyans.

Xarxes de memòria a curt termini (LSTM), introduïdes per Sepp Hochreiter i Jürgen Schmidhuber el 1997, va abordar aquest problema amb una arquitectura més sofisticada. Els LSTM tenen portes que controlen el flux d'informació: la porta d'entrada, la porta d'oblit i la porta de sortida. Aquestes portes determinen quina informació s'emmagatzema, actualitza o descarta, permetent a la xarxa preservar les dependències a llarg termini i millorar significativament el rendiment d'una àmplia gamma de tasques de PNL.

L'arquitectura del transformador

El paisatge de la PNL va experimentar una transformació dramàtica amb la introducció del model de transformador al document històric "L'atenció és tot el que necessiteu" de Vaswani et al. el 2017. L'arquitectura del transformador parteix del processament seqüencial de RNN i LSTM i, en canvi, utilitza un mecanisme anomenat "autoatenció" per sospesar la influència de diferents parts de les dades d'entrada.

La idea bàsica del transformador és que pot processar totes les dades d'entrada alhora, en lloc de de manera seqüencial. Això permet una paral·lelització molt més gran i, com a resultat, augments significatius de la velocitat d'entrenament. El mecanisme d'autoatenció permet al model centrar-se en diferents parts del text mentre el processa, la qual cosa és crucial per entendre el context i les relacions entre les paraules, independentment de la seva posició en el text.

Codificador i descodificador en transformadors:

En el model original del transformador, tal com es descriu al document "L'atenció és tot el que necessiteu” de Vaswani et al., l'arquitectura es divideix en dues parts principals: el codificador i el descodificador. Ambdues parts estan compostes per capes que tenen la mateixa estructura general però tenen finalitats diferents.

Codificador:

  • Paper: La funció del codificador és processar les dades d'entrada i crear una representació que capti les relacions entre els elements (com les paraules d'una frase). Aquesta part del transformador no genera cap contingut nou; simplement transforma l'entrada en un estat que el descodificador pot utilitzar.
  • Funcionalitat: Cada capa de codificador té mecanismes d'autoatenció i xarxes neuronals de feed-forward. El mecanisme d'autoatenció permet que cada posició del codificador atengui totes les posicions de la capa anterior del codificador; així, pot aprendre el context al voltant de cada paraula.
  • Incrustacions contextuals: La sortida del codificador és una sèrie de vectors que representen la seqüència d'entrada en un espai d'alta dimensió. Aquests vectors sovint es coneixen com a incrustacions contextuals perquè codifiquen no només les paraules individuals, sinó també el seu context dins de la frase.

Decodificador:

  • Paper: La funció del descodificador és generar dades de sortida seqüencialment, una part a la vegada, en funció de l'entrada que rep del codificador i del que ha generat fins ara. Està dissenyat per a tasques com la generació de text, on l'ordre de generació és crucial.
  • Funcionalitat: Les capes del descodificador també contenen mecanismes d'autoatenció, però estan emmascarats per evitar que les posicions atenguin posicions posteriors. Això assegura que la predicció per a una posició concreta només pot dependre de les sortides conegudes a les posicions anteriors. A més, les capes del descodificador inclouen un segon mecanisme d'atenció que atén la sortida del codificador, integrant el context de l'entrada al procés de generació.
  • Capacitats de generació seqüencial: Això fa referència a la capacitat del descodificador de generar una seqüència un element a la vegada, basant-se en el que ja ha produït. Per exemple, quan es genera text, el descodificador prediu la paraula següent en funció del context proporcionat pel codificador i de la seqüència de paraules que ja ha generat.

Cadascuna d'aquestes subcapes dins del codificador i el descodificador és crucial per a la capacitat del model de gestionar tasques complexes de PNL. El mecanisme d'atenció multicapçal, en particular, permet al model centrar-se selectivament en diferents parts de la seqüència, proporcionant una comprensió rica del context.

Models populars que utilitzen transformadors

Després de l'èxit inicial del model de transformador, es va produir una explosió de nous models construïts sobre la seva arquitectura, cadascun amb les seves pròpies innovacions i optimitzacions per a diferents tasques:

BERT (Representacions de codificadors bidireccionals de transformadors): Presentat per Google el 2018, BERT va revolucionar la manera com s'integra la informació contextual a les representacions del llenguatge. Mitjançant la formació prèvia en un gran corpus de text amb un model de llenguatge emmascarat i predicció de la següent frase, BERT captura contextos bidireccionals rics i ha aconseguit resultats d'última generació en una àmplia gamma de tasques de PNL.

BERT

BERT

T5 (Transformador de transferència de text a text): Presentat per Google el 2020, T5 reformula totes les tasques de PNL com un problema de text a text, utilitzant un format basat en text unificat. Aquest enfocament simplifica el procés d'aplicació del model a una varietat de tasques, com ara la traducció, el resum i la resposta a preguntes.

t5 Arquitectura

T5 Arquitectura

GPT (Transformador generatiu pre-entrenat): Desenvolupat per OpenAI, la línia de models GPT va començar amb GPT-1 i va arribar a GPT-4 el 2023. Aquests models s'entrenen prèviament mitjançant aprenentatge no supervisat en grans quantitats de dades de text i s'ajusten per a diverses tasques. La seva capacitat per generar textos coherents i rellevants per al context els ha fet molt influents en aplicacions d'IA tant acadèmiques com comercials.

GPT

Arquitectura GPT

Aquí teniu una comparació més detallada dels models T5, BERT i GPT en diferents dimensions:

1. Tokenització i vocabulari

  • BERT: Utilitza la tokenització de WordPiece amb una mida de vocabulari d'uns 30,000 fitxes.
  • GPT: Utilitza la codificació de parells de bytes (BPE) amb una mida de vocabulari gran (per exemple, GPT-3 té una mida de vocabulari de 175,000).
  • T5: Utilitza la tokenització SentencePiece que tracta el text com a cru i no requereix paraules pre-segmentades.

2. Objectius previs a la formació

  • BERT: Modelatge de llenguatge emmascarat (MLM) i predicció de la següent frase (NSP).
  • GPT: Modelatge de llenguatge causal (CLM), on cada testimoni prediu el següent testimoni de la seqüència.
  • T5: Utilitza un objectiu d'eliminació de sorolls on se substitueixen trams aleatoris de text per un senyal de sentinella i el model aprèn a reconstruir el text original.

3. Representació d'entrada

  • BERT: Les incrustacions de testimoni, de segment i de posició es combinen per representar l'entrada.
  • GPT: Les incrustacions de testimoni i posicions es combinen (no hi ha incrustacions de segments, ja que no està dissenyada per a tasques de parelles de frases).
  • T5: Només les incrustacions de testimonis amb codificacions de posició relativa afegides durant les operacions d'atenció.

4. Mecanisme d'atenció

  • BERT: Utilitza codificacions de posició absolutes i permet que cada testimoni atengui tots els fitxes a l'esquerra i a la dreta (atenció bidireccional).
  • GPT: també utilitza codificacions posicionals absolutes, però restringeix l'atenció només als testimonis anteriors (atenció unidireccional).
  • T5: implementa una variant del transformador que utilitza biaixos de posició relativa en lloc d'incrustacions posicionals.

5. Model d'Arquitectura

  • BERT: Arquitectura només de codificador amb múltiples capes de blocs transformadors.
  • GPT: Arquitectura només de descodificador, també amb múltiples capes però dissenyada per a tasques generatives.
  • T5: Arquitectura codificador-descodificador, on tant el codificador com el descodificador es componen de capes de transformador.

6. Enfocament d'ajustament

  • BERT: Adapta els estats ocults finals del model pre-entrenat per a tasques posteriors amb capes de sortida addicionals segons sigui necessari.
  • GPT: afegeix una capa lineal a la part superior del transformador i afina la tasca aigües avall utilitzant el mateix objectiu de modelització del llenguatge causal.
  • T5: converteix totes les tasques en un format de text a text, on el model s'ajusta per generar la seqüència de destinació a partir de la seqüència d'entrada.

7. Dades de formació i escala

  • BERT: Format a BooksCorpus i Viquipèdia en anglès.
  • GPT: GPT-2 i GPT-3 s'han entrenat en diversos conjunts de dades extrets d'Internet, amb GPT-3 en un corpus encara més gran anomenat Common Crawl.
  • T5: Entrenat en el "Colossal Clean Crawled Corpus", que és una versió gran i neta del Common Crawl.

8. Maneig del context i la bidireccionalitat

  • BERT: Dissenyat per entendre el context en ambdues direccions simultàniament.
  • GPT: Entrenat per comprendre el context en una direcció cap endavant (d'esquerra a dreta).
  • T5: Pot modelar el context bidireccional en el codificador i unidireccional en el descodificador, adequat per a tasques de seqüència a seqüència.

9. Adaptabilitat a Tasques Downstream

  • BERT: requereix capes de capçalera específiques per a la tasca i un ajustament per a cada tasca posterior.
  • GPT: És de naturalesa generativa i es pot demanar que realitzi tasques amb canvis mínims a la seva estructura.
  • T5: Tracta cada tasca com un problema de "text a text", la qual cosa la fa inherentment flexible i adaptable a noves tasques.

10. Interpretabilitat i explicabilitat

  • BERT: La naturalesa bidireccional proporciona incrustacions contextuals riques, però pot ser més difícil d'interpretar.
  • GPT: El context unidireccional pot ser més senzill de seguir, però no té la profunditat del context bidireccional.
  • T5: El marc codificador-descodificador proporciona una clara separació dels passos de processament, però pot ser complex d'analitzar a causa de la seva naturalesa generativa.

L'impacte dels transformadors en la PNL

Els transformadors han revolucionat el camp de la PNL permetent que els models processin seqüències de dades en paral·lel, fet que va augmentar dràsticament la velocitat i l'eficiència de l'entrenament de grans xarxes neuronals. Van introduir el mecanisme d'autoatenció, que permetia als models ponderar la importància de cada part de les dades d'entrada, independentment de la distància dins de la seqüència. Això va comportar millores sense precedents en una àmplia gamma de tasques de PNL, que inclouen, entre d'altres, la traducció, la resposta a preguntes i el resum de textos.

La investigació segueix impulsant els límits del que poden aconseguir els models basats en transformadors. GPT-4 i els seus contemporanis no només són més grans en escala, sinó també més eficients i capaços gràcies als avenços en l'arquitectura i els mètodes d'entrenament. Tècniques com l'aprenentatge de pocs cops, on els models realitzen tasques amb exemples mínims, i els mètodes per a un aprenentatge de transferència més eficaç estan a l'avantguarda de la investigació actual.

Els models de llenguatge com els basats en transformadors aprenen de dades que poden contenir biaixos. Els investigadors i els professionals estan treballant activament per identificar, comprendre i mitigar aquests biaixos. Les tècniques van des de conjunts de dades d'entrenament seleccionats fins a ajustos posteriors a la formació orientats a l'equitat i la neutralitat.

He passat els últims cinc anys submergint-me en el fascinant món de l'aprenentatge automàtic i l'aprenentatge profund. La meva passió i experiència m'han portat a contribuir a més de 50 projectes diversos d'enginyeria de programari, amb un enfocament particular en IA/ML. La meva curiositat contínua també m'ha atret cap al processament del llenguatge natural, un camp que tinc ganes d'explorar més.