GPT-2 em imagens (visualização dos modelos de linguagem Transformer)

openAI-GPT-2-3


Em 2019, testemunhamos o brilhante uso do aprendizado de máquina. O modelo OpenAI GPT-2 demonstrou uma capacidade impressionante de escrever textos coerentes e emocionais superiores à nossa compreensão do que os modelos de linguagem modernos podem gerar. O GPT-2 não é uma arquitetura particularmente nova - lembra muito o Transformer-Decoder (Transformer somente decodificador). A diferença entre o GPT-2 é que ele é um modelo de linguagem verdadeiramente enorme, baseado no Transformer, treinado em um conjunto de dados impressionante. Neste artigo, examinaremos a arquitetura do modelo que nos permite obter tais resultados: examinaremos detalhadamente a camada de atenção e o uso do Transformer decodificador para tarefas que vão além da modelagem de linguagem.


Conteúdo


  • 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 ).


tamanhos gpt2


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



, – .. . – , - .


transformador-codificador-decodificador


, , , , ( AlphaStar).


gpt-2-transformador-xl-bert-3


? , GPT-2 :


gpt2-size-hyperparameters-3


BERT'


:
, .

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


gpt-2-output


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


gpt-2-autoregressão-2


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



.



– :


transformador-codificador-bloco-2


(, 512 ). , .



– , . :


transformador-decodificador-bloco-2


, [mask] , BERT', , , .


, , #4, , :


transformador-decodificador-bloco-auto-atenção-2


, BERT, GPT-2. . :


auto-atenção-e-mascarada-auto-atenção



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


transformador-decodificador-introdução


. , . , 4000 – 512 .


, , . « », / .


GPT-2 OpenAI .


- : GPT-2


, , . , , , , . (Budgie)

GPT-2 , .


gpt-2-camadas-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-saída-simples-3


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




. . NLP-, , – , .


gpt2-token-embeddings-wte-2


– , - . GPT-2. 768 /.


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


gpt2-codificação posicional


. , GPT-2.


gpt2-entrada-incorporação-codificação-posicional-3


#1.



, , . , . , , .


gpt2-transformer-block-vectors-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-auto-atenção-projeto-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-transformador-bloco-pesos-2


. , :


gpt2-pesos-2


, :


gpt2-117-parameters


- 124 117. , , (, ).


3:


, . , . .



. :


decodificador-apenas-transformador-tradução



, . , ( , ) . :


Resumo da Wikipédia


.


Resumo do Descodificador



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


GPT-2 .



. « » – (, « »).


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


música-transformador-desempenho-codificação-3


– one-hot . midi . :


exemplo de representação musical


one-hot :


música-transformador-entrada-representação-2


:


música-transformador-auto-atenção-2


, . .



GPT-2 – . , , , , .




Autores



All Articles