Vés al contingut

XLNet

De la Viquipèdia, l'enciclopèdia lliure
XLNet

Tipusarticle científic Modifica el valor a Wikidata
Versió inicial
19 juny 2019 Modifica el valor a Wikidata
Gènere
LlicènciaApache-2.0
Disponible en
Equip
Creador/sGoogle AI

XLNet era un transformador autoregressiu dissenyat com una millora respecte a BERT, amb 340 milions de paràmetres i entrenat amb 33.000 milions de paraules. Es va publicar el 19 de juny de 2019, sota la llicència Apache 2.0.[1] Va aconseguir resultats d'avantguarda en una varietat de tasques de processament del llenguatge natural, incloent-hi la modelització del llenguatge, la resposta a preguntes i la inferència del llenguatge natural.[2]

Arquitectura

[modifica]

La idea principal de XLNet és modelar el llenguatge autoregressivament com els models GPT, però permetent totes les permutacions possibles d'una frase.[3] Concretament, considereu la frase següent:

El meu gos és bufó.

En el modelatge estàndard del llenguatge autoregressiu, el model tindria la tasca de predir la probabilitat de cada paraula, condicionada a les paraules anteriors com a context:

Factoritzem la probabilitat conjunta d'una seqüència de paraules utilitzant la regla de la cadena:

Per exemple, l'oració "El meu gos és bufó" es factoritza com:

Esquemàticament, ho podem escriure com

Tanmateix, per a XLNet, el model ha de predir les paraules en un ordre generat aleatòriament. Suposem que hem mostrejat un ordre 3241 generat aleatòriament, aleshores, esquemàticament, el model ha de realitzar la següent tasca de predicció:

En considerar totes les permutacions, XLNet és capaç de capturar dependències a llarg termini i modelar millor el context bidireccional de les paraules.

Autoatenció en dos corrents

[modifica]

Per implementar el modelatge del llenguatge de permutació, XLNet utilitza un mecanisme d'autoatenció de dos fluxos. Els dos fluxos són:

  • Flux de contingut: aquest flux codifica el contingut de cada paraula, com en l'autoatenció estàndard emmascarada causalment.
  • Flux de consultes: aquest flux codifica el contingut de cada paraula en el context del que s'ha explicat anteriorment. Amb més detall, és un mecanisme d'atenció creuada emmascarada, on les consultes provenen del flux de consultes i els parells clau-valor provenen del flux de contingut.

El flux de contingut utilitza la màscara causal

permutat per una matriu de permutació aleatòria a

.

El flux de consultes utilitza la màscara d'atenció creuada , on la diagonal es resta específicament per evitar que el model "faci trampa" mirant el flux de contingut per saber què és el token emmascarat actual.

Igual que l'emmascarament causal per als models GPT, aquesta arquitectura emmascarada de dos fluxos permet que el model s'entreni en tots els tokens en una sola passada directa.

Formació

[modifica]

Es van llançar dos models:[4][5]

  • XLNet-Large, encapsulat: 110M paràmetres, 24 capes, 1024 ocults, 16 capçals
  • XLNet-Base, encapsulat: 340M paràmetres, 12 capes, 768 ocults, 12 capçals.

Es va entrenar en un conjunt de dades que ascendia a 32.890 milions de tokens després de la tokenització amb SentencePiece. El conjunt de dades estava compost per BooksCorpus, la Viquipèdia en anglès, Giga5, ClueWeb 2012-B i Common Crawl.

Es va entrenar en 512 xips TPU v3 durant 5,5 dies. Al final de l'entrenament, encara no ajustava prou bé les dades, cosa que significa que podria haver aconseguit una pèrdua més baixa amb més entrenament. Va fer 0,5 milions de passos amb un optimitzador Adam, una disminució de la taxa d'aprenentatge lineal i una mida de lot de 8192.

Referències

[modifica]
  1. «xlnet» (en anglès). GitHub. [Consulta: 2 gener 2024].
  2. «XLNet» (en anglès). [Consulta: 2 agost 2025].
  3. «Pretrained models — transformers 2.0.0 documentation» (en anglès). huggingface.co. [Consulta: 5 agost 2024].
  4. «xlnet». GitHub. [Consulta: 2 gener 2024].
  5. «Pretrained models — transformers 2.0.0 documentation» (en anglès). huggingface.co. [Consulta: 5 agost 2024].