GPT-2 in Bildern (Visualisierung von Transformer-Sprachmodellen)

openAI-GPT-2-3


Im Jahr 2019 haben wir den brillanten Einsatz von maschinellem Lernen erlebt. Das OpenAI GPT-2-Modell hat eine beeindruckende Fähigkeit bewiesen, kohärente und emotionale Texte zu schreiben, die unserem Verständnis der Möglichkeiten moderner Sprachmodelle überlegen sind. GPT-2 ist keine besonders neue Architektur - es erinnert sehr an den Transformer-Decoder (nur Decoder-Transformer). Der Unterschied zwischen GPT-2 besteht darin, dass es sich um ein wirklich großes Sprachmodell handelt, das auf Transformer basiert und auf einem beeindruckenden Datensatz trainiert. In diesem Artikel werden wir uns mit der Architektur des Modells befassen, mit der wir solche Ergebnisse erzielen können: Wir betrachten detailliert die Selbstaufmerksamkeitsschicht und die Verwendung des Dekodierungstransformators für Aufgaben, die über die Sprachmodellierung hinausgehen.


Inhalt


  • 1: GPT-2
    • BERT'
    • - : GPT-2
    • : GPT-2,
  • 2:
    • ( )
    • 1 – ,
    • 2 –
    • 3 –
    • GPT-2
    • !
  • 3:

1: GPT-2


?



Word2vec , – , , . – , .


Swiftkey-Tastatur


, GPT-2 , , , . GPT-2 40 (WebText), OpenAI . , , SwiftKey, 78 , GPT-2 500 , GPT-2 – 13 ( 6,5 ).


gpt2-größen


GPT-2 AllenAI GPT-2 Explorer. GPT-2 ( ), .



, – .. . – , - .


Transformator-Encoder-Decoder


, , , , ( AlphaStar).


gpt-2-transformator-xl-bert-3


? , GPT-2 :


gpt2-Größen-Hyperparameter-3


BERT'


:
, .

GPT-2 . BERT , , . . , GPT-2, , . , GPT-2 :


gpt-2-Ausgabe


: , , . . «» (auto-regression) RNN .


gpt-2-Autoregression-2


GPT-2 TransformerXL XLNet . BERT . . , BERT . XLNet , .



.



– :


Transformator-Encoder-Block-2


(, 512 ). , .



– , . :


Transformator-Decoder-Block-2


, [mask] , BERT', , , .


, , #4, , :


Transformator-Decoder-Block-Selbstaufmerksamkeit-2


, BERT, GPT-2. . :


Selbstaufmerksamkeit und maskierte Selbstaufmerksamkeit



, «Generating Wikipedia by Summarizing Long Sequences» , : . «-». 6 :


Transformator-Decoder-Intro


. , . , 4000 – 512 .


, , . « », / .


GPT-2 OpenAI .


- : GPT-2


, , . , , , , . (Budgie)

GPT-2 , .


gpt-2-schichten-2


GPT-2 1024 . .


GPT-2 – ( ) (), (.. ). , ( <|endoftext|>; <|s|>).


gpt2-simple-output-2


, . , (score) – , (50 GPT-2). – «the». - – , , , , – . . GPT-2 top-k, , , (, , top-k = 1).


:


gpt-2-simple-output-3


, . GPT-2 ( ). GPT-2 .




. . NLP-, , – , .


gpt2-Token-Einbettungen-wte-2


– , - . GPT-2. 768 /.


, <|s|> . , – , . , 1024 .


gpt2-Positionscodierung


. , GPT-2.


gpt2-Eingabe-Einbettung-Positionscodierung-3


#1.



, , . , . , , .


gpt2-Transformator-Blockvektoren-2



. , :


, , , .

, . , . , , :


  • ;
  • (« »);
  • .

: , , ( ). , , .


, «a robot» «it». , , , .


gpt2-Selbstaufmerksamkeit-Beispiel-2



. :


  • – , ( ). , ;
  • – . ;
  • – ; , , .

Selbstaufmerksamkeit-Beispielordner-3


. – , . . , – . , .


(: ).


Selbstaufmerksamkeit-Beispiel-Ordner-Scores-3


, .


gpt2-Wert-Vektor-Summe


, 50% «robot», 30% «a» 19% – «it». . .



( ), .


gpt2-output-projection-2


, . .


gpt2-output-score-2


(top_k = 1). , . , , ( ). – top_k 40: 40 .


gpt2-Ausgabe


, . , (1024 ) .


: GPT-2,


, , GPT-2. , , . , ( TransformerXL XLNet).


, :


  • «» «» ; GPT-2 (Byte Pair Encoding) . , .
  • GPT-2 / (inference/evaluation mode). . . (512), 1, .
  • / . .
  • , . Transformer , .
  • . «zoom in», :

hineinzoomen


2:


, «it»:


gpt2-Selbstaufmerksamkeit-1-2


, . , , . , , .


( )


, . , 4 .


:


  1. , ;
  2. ;
  3. .

Selbstaufmerksamkeitszusammenfassung


1 – ,


. . . ( «» ):


Selbstaufmerksamkeit-1


, WQ, WK, WV


2 –


, , №2: .


Selbstaufmerksamkeit-2


( ) ,


3 –


. , .


Selbstaufmerksamkeit-3-2


 


, – , .


, , . ( ).



, , , . №2. , . . , :


maskierte Selbstaufmerksamkeit-2


, (attention mask). , , («robot must obey orders»). 4 : ( , – ). .. , 4 , ( 4 ) .


Transformator-Decoder-Aufmerksamkeitsmasken-Datensatz


, . , , ( ), :


Abfragen-Schlüssel-Aufmerksamkeitsmaske


«» . , , – (-inf) (, -1 GPT-2):


Transformator-Aufmerksamkeitsmaske


, , , :


Transformator-Aufmerksamkeit-maskierte-Scores-Softmax


:


  • ( №1), («robot»), 100% .
  • ( №2), («robot must»), «must» 48% «robot» 52% «must».
  • ..

GPT-2


GPT-2.


:


, GPT-2 , . , , , .


( <|s|>).


gpt2-Selbstaufmerksamkeit-qkv-1-2


GPT-2 «a». :


gpt2-Selbstaufmerksamkeit-qkv-2-2


, «robot», , «a» – , :


gpt2-Selbstaufmerksamkeit-qkv-3-2


GPT-2: 1 – ,


, «it». , «it» + #9:


gpt2-Selbstaufmerksamkeit-1


( ), , .


gpt2-Selbstaufmerksamkeit-2


(bias vector),


, , «it».


gpt2-Selbstaufmerksamkeit-3


( ) ,


GPT-2: 1.5 – «»


, «» . . (Q), (K) (V). «» – . GPT-2 12 «» , :


gpt2-Selbstaufmerksamkeit-Split-Aufmerksamkeitsköpfe-1


, «» . «» , ( 12 «» ):


gpt2-Selbstaufmerksamkeit-Split-Aufmerksamkeitsköpfe-2


GPT-2: 2 –


( , «» ):


gpt2-Selbstaufmerksamkeitsbewertung


( «» #1 ):


gpt2-Selbstaufmerksamkeitsbewertung-2


GPT-2: 3 –


, , , «» #1:


gpt2-Selbstaufmerksamkeit-Multihead-Summe-1


GPT-2: 3.5 – «»


«» , , :


gpt2-Selbstaufmerksamkeit-Zusammenführungsköpfe-1


. .


GPT-2: 4 –


, , . , «» :


gpt2-Selbstaufmerksamkeit-Projekt-1


, , :


gpt2-Selbstaufmerksamkeit-Projekt-2


GPT-2: #1


– , , . . 4 ( GPT-2 768, 768*4 = 3072 ). ? ( 512 #1 – 2048). , , .


gpt2-mlp1


( )


GPT-2:


(768 GPT-2). .


gpt2-mlp-2


( )


!


, - . , . , , :


gpt2-transformator-blockgewichte-2


. , :


gpt2-weight-2


, :


gpt2-117-Parameter


- 124 117. , , (, ).


3:


, . , . .



. :


Nur Decoder-Transformator-Übersetzung



, . , ( , ) . :


Wikipedia-Zusammenfassung


.


Nur-Decoder-Zusammenfassung



Sample Efficient Text Summarization Using a Single Pre-Trained Transformer , . , , - .


GPT-2 .



. « » – (, « »).


, . , (), ( ). (, , ) «» – , .


Musik-Transformator-Performance-Codierung-3


– one-hot . midi . :


Musik-Repräsentations-Beispiel


one-hot :


Musik-Transformator-Eingang-Darstellung-2


:


Musik-Transformator-Selbstaufmerksamkeit-2


, . .



GPT-2 – . , , , , .




Autoren



All Articles