GPT-2 en images (visualisation des modĂšles de langage Transformer)

openAI-GPT-2-3


En 2019, nous avons assisté à l'utilisation brillante du machine learning. Le modÚle OpenAI GPT-2 a démontré une capacité impressionnante à écrire des textes cohérents et émotionnels supérieurs à notre compréhension de ce que les modÚles de langage modernes peuvent générer. Le GPT-2 n'est pas une architecture particuliÚrement nouvelle - il fait trÚs penser au Transformer-Decoder (Transformer uniquement avec décodeur). La différence entre GPT-2 est qu'il s'agit d'un modÚle de langage vraiment énorme basé sur Transformer, formé sur un ensemble de données impressionnant. Dans cet article, nous nous pencherons sur l'architecture du modÚle, ce qui nous permet d'obtenir de tels résultats: nous considérons en détail la couche d'auto-attention et l'utilisation du Transformateur de décodage pour des tùches qui vont au-delà de la modélisation du langage.


Contenu


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

1: GPT-2


?



Word2vec , – , , . – , .


swiftkey-keyboard


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


gpt2-tailles


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



, – .. . – , - .


transformateur-encodeur-décodeur


, , , , ( AlphaStar).


gpt-2-transformer-xl-bert-3


? , GPT-2 :


gpt2-tailles-hyperparamĂštres-3


BERT'


:
, .

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


sortie gpt-2


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


gpt-2-autorégression-2


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



.



– :


transformateur-encodeur-bloc-2


(, 512 ). , .



– , . :


transformateur-décodeur-bloc-2


, [mask] , BERT', , , .


, , #4, , :


transformateur-décodeur-bloc-auto-attention-2


, BERT, GPT-2. . :


attention de soi et attention de soi masquée



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


transformateur-décodeur-intro


. , . , 4000 – 512 .


, , . « », / .


GPT-2 OpenAI .


- : GPT-2


, , . , , , , . (Budgie)

GPT-2 , .


gpt-2-couches-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-embeddings-wte-2


– , - . GPT-2. 768 /.


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


gpt2-positional-encoding


. , GPT-2.


gpt2-input-embedding-positional-encoding-3


#1.



, , . , . , , .


gpt2-transformateur-bloc-vecteurs-2



. , :


, , , .

, . , . , , :


  • ;
  • (« »);
  • .

: , , ( ). , , .


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


gpt2-self-attention-example-2



. :


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

self-attention-example-folders-3


. – , . . , – . , .


(: ).


self-attention-example-folders-scores-3


, .


gpt2-value-vector-sum


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



( ), .


gpt2-output-projection-2


, . .


gpt2-output-scores-2


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


gpt2-output


, . , (1024 ) .


: GPT-2,


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


, :


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

zoom-in


2:


, «it»:


gpt2-self-attention-1-2


, . , , . , , .


( )


, . , 4 .


:


  1. , ;
  2. ;
  3. .

self-attention-summary


1 – ,


. . . ( «» ):


self-attention-1


, WQ, WK, WV


2 –


, , №2: .


self-attention-2


( ) ,


3 –


. , .


self-attention-3-2


 


, – , .


, , . ( ).



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


masked-self-attention-2


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


transformer-decoder-attention-mask-dataset


, . , , ( ), :


queries-keys-attention-mask


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


transformer-attention-mask


, , , :


transformer-attention-masked-scores-softmax


:


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

GPT-2


GPT-2.


:


, GPT-2 , . , , , .


( <|s|>).


gpt2-self-attention-qkv-1-2


GPT-2 «a». :


gpt2-self-attention-qkv-2-2


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


gpt2-self-attention-qkv-3-2


GPT-2: 1 – ,


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


gpt2-self-attention-1


( ), , .


gpt2-self-attention-2


(bias vector),


, , «it».


gpt2-self-attention-3


( ) ,


GPT-2: 1.5 – «»


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


gpt2-self-attention-split-attention-heads-1


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


gpt2-self-attention-split-attention-heads-2


GPT-2: 2 –


( , «» ):


gpt2-self-attention-scoring


( «» #1 ):


gpt2-self-attention-scoring-2


GPT-2: 3 –


, , , «» #1:


gpt2-self-attention-multihead-sum-1


GPT-2: 3.5 – «»


«» , , :


gpt2-self-attention-merge-heads-1


. .


GPT-2: 4 –


, , . , «» :


gpt2-self-attention-project-1


, , :


gpt2-self-attention-project-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-transformateur-bloc-poids-2


. , :


gpt2-poids-2


, :


ParamĂštres gpt2-117


- 124 117. , , (, ).


3:


, . , . .



. :


décodeur-uniquement-transformateur-traduction



, . , ( , ) . :


wikipedia-résumé


.


résumé par décodeur uniquement



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


GPT-2 .



. « » – (, « »).


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


musique-transformateur-performance-encodage-3


– one-hot . midi . :


exemple de représentation musicale


one-hot :


musique-transformateur-entrée-représentation-2


:


musique-transformateur-auto-attention-2


, . .



GPT-2 – . , , , , .



  • GPT-2 OpenAI
  • Voir la bibliothĂšque pytorch-transformers2 de Hugging Face , qui, en plus de GPT-2, implĂ©mente BERT, Transformer-XL, XLNet et d'autres modĂšles avancĂ©s de Transformer.

Auteurs



All Articles