![openAI-GPT-2-3](https://habrastorage.org/webt/1k/58/ea/1k58ea5w9egy2dc5z3jtsiip3sc.png)
2019 рдореЗрдВ, рд╣рдордиреЗ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдХреЗ рд╢рд╛рдирджрд╛рд░ рдЙрдкрдпреЛрдЧ рдХреЛ рджреЗрдЦрд╛ред OpenAI GPT-2 рдореЙрдбрд▓ рдиреЗ рд╕реБрд╕рдВрдЧрдд рдФрд░ рднрд╛рд╡рдирд╛рддреНрдордХ рдЧреНрд░рдВрдереЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреА рдПрдХ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдХреНрд╖рдорддрд╛ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдЖрдзреБрдирд┐рдХ рднрд╛рд╖рд╛ рдХреЗ рдореЙрдбрд▓ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдорд╛рд░реА рд╕рдордЭ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред GPT-2 рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдирдпрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдирд╣реАрдВ рд╣реИ - рдпрд╣ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░-рдбрд┐рдХреЛрдбрд░ (рдбрд┐рдХреЛрдбрд░-рдУрдирд▓реА рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░) рдХреА рдмрд╣реБрдд рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реИред GPT-2 рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рднрд╛рд╖рд╛ рдореЙрдбрд▓ рд╣реИ, рдЬреЛ рдПрдХ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдбреЗрдЯрд╛ рд╕реЗрдЯ рдкрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЙрд╕ рдореЙрдбрд▓ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ рдЬреЛ рд╣рдореЗрдВ рдРрд╕реЗ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ: рд╣рдо рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЖрддреНрдо-рдзреНрдпрд╛рди рдХреА рдкрд░рдд рдФрд░ рдбрд┐рдХреЛрдбрд┐рдВрдЧ рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВрдЧреЗ рдЬреЛ рднрд╛рд╖рд╛ рдореЙрдбрд▓рд┐рдВрдЧ рд╕реЗ рдкрд░реЗ рд╣реИрдВред
рд╕рд╛рдордЧреНрд░реА
1: GPT-2
?
Word2vec , тАУ , , . тАУ , .
![SwiftKey-рдХреБрдВрдЬреАрдкрдЯрд▓](https://habrastorage.org/webt/98/yv/br/98yvbr3q4hpjs8hfsg1rajz3n9m.png)
, GPT-2 , , , . GPT-2 40 (WebText), OpenAI . , , SwiftKey, 78 , GPT-2 500 , GPT-2 тАУ 13 ( 6,5 ).
![gpt2-рдЖрдХрд╛рд░](https://habrastorage.org/webt/md/qg/ve/mdqgveo0tsyxqapfzqpomuu5nzo.png)
GPT-2 AllenAI GPT-2 Explorer. GPT-2 ( ), .
, тАУ .. . тАУ , - .
![рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░-рдПрдирдХреЛрдбрд░-рд╡рд┐рдХреЛрдбрдХ](https://habrastorage.org/webt/sv/tx/hm/svtxhmcbpksa7rjn0wb0o2jj_wc.png)
, , , , ( AlphaStar).
![GPT-2-рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░-XL-рдмрд░реНрдЯ -3](https://habrastorage.org/webt/j4/sb/4r/j4sb4rysituzcqsafgktspu0pa8.png)
? , GPT-2 :
![gpt2-рдЖрдХрд╛рд░-hyperparameters -3](https://habrastorage.org/webt/gg/og/nr/ggognri38aojdzkkzazvnetxfvy.png)
BERT'
:
, .
GPT-2 . BERT , , . . , GPT-2, , . , GPT-2 :
![GPT-2-рдЙрддреНрдкрд╛рджрди](https://habrastorage.org/webt/so/pv/tj/sopvtjhr-crr3rgtf_zaoqomgck.gif)
: , , . . ┬л┬╗ (auto-regression) RNN .
![GPT-2-autoregression -2](https://habrastorage.org/webt/un/7x/ir/un7xirwndekafrdeixsce0ocmmm.gif)
GPT-2 TransformerXL XLNet . BERT . . , BERT . XLNet , .
.
тАУ :
![рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░-рдПрдирдХреЛрдбрд░ рдмреНрд▓реЙрдХ -2](https://habrastorage.org/webt/f_/ym/xb/f_ymxbcpvszucrhogiurzwqypzk.png)
(, 512 ). , .
тАУ , . :
![рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░-рдбрд┐рдХреЛрдбрд░ рдмреНрд▓реЙрдХ -2](https://habrastorage.org/webt/gh/so/u6/ghsou6icfirnjbj1abkj7ouqohg.png)
, [mask] , BERT', , , .
, , #4, , :
![рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░-рд╡рд┐рдХреЛрдбрдХ-рдмреНрд▓реЙрдХ-рдЖрддреНрдо рдзреНрдпрд╛рди -2](https://habrastorage.org/webt/ta/9r/td/ta9rtdiimdxkwmwpmdxy2ig-0h8.png)
, BERT, GPT-2. . :
![рдЖрддреНрдо рдзреНрдпрд╛рди рдФрд░ рдирдХрд╛рдмрдкреЛрд╢-рдЖрддреНрдо рдзреНрдпрд╛рди](https://habrastorage.org/webt/43/cq/pd/43cqpdiypmyuccr1gznrhr4tioo.png)
, ┬лGenerating Wikipedia by Summarizing Long Sequences┬╗ , : . ┬л-┬╗. 6 :
![рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░-рд╡рд┐рдХреЛрдбрдХ-рдкрд░рд┐рдЪрдп](https://habrastorage.org/webt/rd/l7/k-/rdl7k--_z3kg4ajejaycksxqpt0.png)
. , . , 4000 тАУ 512 .
, , . ┬л ┬╗, / .
GPT-2 OpenAI .
- : GPT-2
, , . , , , , . (Budgie)
GPT-2 , .
![gpt-2-рдкрд░рддреЛрдВ -2](https://habrastorage.org/webt/he/ig/hj/heighjb23joyolbax5b7__fvj6a.png)
GPT-2 1024 . .
GPT-2 тАУ ( ) (), (.. ). , ( <|endoftext|>; <|s|>).
![gpt2-рд╕рд░рд▓-рдЙрддреНрдкрд╛рджрди-2](https://habrastorage.org/webt/ho/yz/o0/hoyzo0yvmbi3gf-1awm__udx0fi.gif)
, . , (score) тАУ , (50 GPT-2). тАУ ┬лthe┬╗. - тАУ , , , , тАУ . . GPT-2 top-k, , , (, , top-k = 1).
:
![GPT-2-рд╕рд░рд▓-рдЖрдЙрдЯрдкреБрдЯ -3](https://habrastorage.org/webt/hg/2x/ps/hg2xpsd1kuverowaqcd4z_w--ki.gif)
, . GPT-2 ( ). GPT-2 .
. . NLP-, , тАУ , .
![gpt2-рдЯреЛрдХрди-embeddings-рдбрдмреНрд▓реНрдпреВрдЯреАрдИ -2](https://habrastorage.org/webt/qo/ml/jl/qomljlikh-rqxyud6otmaxrtyum.png)
тАУ , - . GPT-2. 768 /.
, <|s|> . , тАУ , . , 1024 .
![gpt2-рд╕реНрдерд┐рддреАрдп рдПрдиреНрдХреЛрдбрд┐рдВрдЧ](https://habrastorage.org/webt/zp/mu/cg/zpmucgftth4mabqo60oolwdohey.png)
. , GPT-2.
![gpt2-рдЗрдирдкреБрдЯ-рдПрдореНрдмреЗрдбрд┐рдВрдЧ-рд╕реНрдерд┐рддреАрдп рдПрдиреНрдХреЛрдбрд┐рдВрдЧ -3](https://habrastorage.org/webt/me/r8/bx/mer8bx3ofjqcpydqnfsvo1fk4ok.png)
#1.
, , . , . , , .
![gpt2-рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░-рдмреНрд▓реЙрдХ-рд╡реИрдХреНрдЯрд░ -2](https://habrastorage.org/webt/ij/9e/3a/ij9e3alc1pc5ihgpd8njpbh2-vy.png)
. , :
, , , .
, . , . , , :
: , , ( ). , , .
, ┬лa robot┬╗ ┬лit┬╗. , , , .
![gpt2-рдЖрддреНрдо рдзреНрдпрд╛рди рдЙрджрд╛рд╣рд░рдг -2](https://habrastorage.org/webt/yx/vw/ou/yxvwoujcadhlalw2xgq3dnoezjq.png)
. :
- тАУ , ( ). , ;
- тАУ . ;
- тАУ ; , , .
![рдЖрддреНрдо рдзреНрдпрд╛рди рдЙрджрд╛рд╣рд░рдг-рдлрд╝реЛрд▓реНрдбрд░ -3](https://habrastorage.org/webt/ds/30/gu/ds30gubjhv2r7ubicxiq-idgdlg.png)
. тАУ , . . , тАУ . , .
(: ).
![self-attention-example-folders-scores-3](https://habrastorage.org/webt/br/mp/xd/brmpxdc2ngiqgrkmrgn1wb5aud4.png)
, .
![gpt2-value-vector-sum](https://habrastorage.org/webt/xv/7n/ez/xv7nezgfhygrknpndfsptjwucpe.png)
, 50% ┬лrobot┬╗, 30% ┬лa┬╗ 19% тАУ ┬лit┬╗. . .
( ), .
![gpt2-output-projection-2](https://habrastorage.org/webt/vz/tt/mf/vzttmfwinmu2z7v3m0hkxijm5o8.png)
, . .
![gpt2-output-scores-2](https://habrastorage.org/webt/fg/ib/yq/fgibyqwocamlo1cax73ck1qxrwg.png)
(top_k = 1). , . , , ( ). тАУ top_k 40: 40 .
![gpt2-output](https://habrastorage.org/webt/ji/zl/mk/jizlmk0ywrvlljh6ynxq_eqacjs.png)
, . , (1024 ) .
: GPT-2,
, , GPT-2. , , . , ( TransformerXL XLNet).
, :
- ┬л┬╗ ┬л┬╗ ; GPT-2 (Byte Pair Encoding) . , .
- GPT-2 / (inference/evaluation mode). . . (512), 1, .
- / . .
- , . Transformer , .
- . ┬лzoom in┬╗, :
![zoom-in](https://habrastorage.org/webt/q_/kq/35/q_kq35nsjwiycnwcafi8ctxl_tm.png)
2:
, ┬лit┬╗:
![gpt2-self-attention-1-2](https://habrastorage.org/webt/ss/7h/dk/ss7hdk8hwx43lbghil2t3os95bm.png)
, . , , . , , .
( )
, . , 4 .
:
- , ;
- ;
- .
![self-attention-summary](https://habrastorage.org/webt/ab/l8/ax/abl8ax5sj4nuqdq8jihtayycpvc.png)
1 тАУ ,
. . . ( ┬л┬╗ ):
![self-attention-1](https://habrastorage.org/webt/qc/7c/0l/qc7c0ll_eqaebzsk5jqluip1j7k.png)
, WQ, WK, WV
2 тАУ
, , тДЦ2: .
![self-attention-2](https://habrastorage.org/webt/47/tl/vm/47tlvmotgdunt0od7rzfptulwxi.png)
( ) ,
3 тАУ
. , .
![self-attention-3-2](https://habrastorage.org/webt/nz/aa/sl/nzaaslrrr6etmrs-qlkhlb9o6oc.png)
, тАУ , .
, , . ( ).
, , , . тДЦ2. , . . , :
![masked-self-attention-2](https://habrastorage.org/webt/di/h6/vx/dih6vxt0pa-5ipj_qtruxbmbcae.png)
, (attention mask). , , (┬лrobot must obey orders┬╗). 4 : ( , тАУ ). .. , 4 , ( 4 ) .
![transformer-decoder-attention-mask-dataset](https://habrastorage.org/webt/ot/_d/k9/ot_dk95ismt5lcax-xeomlzxigu.png)
, . , , ( ), :
![queries-keys-attention-mask](https://habrastorage.org/webt/2_/kz/ws/2_kzws5vewj2dvdy-rtcgwjxdd8.png)
┬л┬╗ . , , тАУ (-inf) (, -1 GPT-2):
![transformer-attention-mask](https://habrastorage.org/webt/86/aw/oh/86awoh2nlrcsdh3_hveet0rh3vw.png)
, , , :
![transformer-attention-masked-scores-softmax](https://habrastorage.org/webt/cr/-o/ku/cr-okuz6tuuuaeht--j8mjblnqo.png)
:
- ( тДЦ1), (┬лrobot┬╗), 100% .
- ( тДЦ2), (┬лrobot must┬╗), ┬лmust┬╗ 48% ┬лrobot┬╗ 52% ┬лmust┬╗.
- ..
GPT-2
GPT-2.
:
, GPT-2 , . , , , .
( <|s|>).
![gpt2-self-attention-qkv-1-2](https://habrastorage.org/webt/oc/r2/ps/ocr2ps037_1vvr2uajz1idbe76g.png)
GPT-2 ┬лa┬╗. :
![gpt2-self-attention-qkv-2-2](https://habrastorage.org/webt/0e/wf/vx/0ewfvx7snx6azpvwietxqfd9zzg.png)
, ┬лrobot┬╗, , ┬лa┬╗ тАУ , :
![gpt2-self-attention-qkv-3-2](https://habrastorage.org/webt/re/qe/ff/reqeffjn9neoql-qqpiqp8hwmjq.png)
GPT-2: 1 тАУ ,
, ┬лit┬╗. , ┬лit┬╗ + #9:
![gpt2-self-attention-1](https://habrastorage.org/webt/k1/ol/ee/k1oleegivyrvsvcx-glsjjxdt14.png)
( ), , .
![gpt2-self-attention-2](https://habrastorage.org/webt/ws/nc/1k/wsnc1kowztsdydbbgkevy7ycene.png)
(bias vector),
, , ┬лit┬╗.
![gpt2-self-attention-3](https://habrastorage.org/webt/od/oc/ag/odocagmiv-m420l-3wy8sdila4w.png)
( ) ,
GPT-2: 1.5 тАУ ┬л┬╗
, ┬л┬╗ . . (Q), (K) (V). ┬л┬╗ тАУ . GPT-2 12 ┬л┬╗ , :
![gpt2-self-attention-split-attention-heads-1](https://habrastorage.org/webt/zt/qf/wr/ztqfwr4l3kaoq243xhlleg4ro2i.png)
, ┬л┬╗ . ┬л┬╗ , ( 12 ┬л┬╗ ):
![gpt2-self-attention-split-attention-heads-2](https://habrastorage.org/webt/lu/8a/5c/lu8a5cqdztpnonylf6jfxpopngg.png)
GPT-2: 2 тАУ
( , ┬л┬╗ ):
![gpt2-self-attention-scoring](https://habrastorage.org/webt/ab/0b/nm/ab0bnmrgkb-3knzrtitk2e64opi.png)
( ┬л┬╗ #1 ):
![gpt2-self-attention-scoring-2](https://habrastorage.org/webt/zc/ll/nt/zcllnthmdvddhniljejpbgke8is.png)
GPT-2: 3 тАУ
, , , ┬л┬╗ #1:
![gpt2-self-attention-multihead-sum-1](https://habrastorage.org/webt/dv/rf/-i/dvrf-ik3yxkidhzgihbuuqv4sww.png)
GPT-2: 3.5 тАУ ┬л┬╗
┬л┬╗ , , :
![gpt2-self-attention-merge-heads-1](https://habrastorage.org/webt/p9/jg/bg/p9jgbgr9-c8lzl-zjnqfdortvxe.png)
. .
GPT-2: 4 тАУ
, , . , ┬л┬╗ :
![gpt2-self-attention-project-1](https://habrastorage.org/webt/mc/mz/qq/mcmzqqb80hq14cyooubulhh3hhu.png)
, , :
![gpt2-self-attention-project-2](https://habrastorage.org/webt/af/tl/0o/aftl0oqxhho-m6uph1uqer2a4_c.png)
GPT-2: #1
тАУ , , . . 4 ( GPT-2 768, 768*4 = 3072 ). ? ( 512 #1 тАУ 2048). , , .
![gpt2-mlp1](https://habrastorage.org/webt/gu/4d/ci/gu4dciafj9oa7wcbnt1pwtpfcu8.gif)
( )
GPT-2:
(768 GPT-2). .
![gpt2-mlp-2](https://habrastorage.org/webt/x-/eh/kj/x-ehkj3y5dyunh4nf3v7aykhp70.gif)
( )
!
, - . , . , , :
![gpt2-transformer-block-weights-2](https://habrastorage.org/webt/yz/n7/20/yzn720lcfsuwwky-r3kanjys3w0.png)
. , :
![gpt2-weights-2](https://habrastorage.org/webt/xl/22/mc/xl22mctq_nzefihu84kxryqj5be.png)
, :
![gpt2-117-рдкреИрд░рд╛рдореАрдЯрд░](https://habrastorage.org/webt/vk/it/nh/vkitnhrnvo0djn0gn1_e0fpzhp0.png)
- 124 117. , , (, ).
3:
, . , . .
. :
![рд╡рд┐рдХреЛрдбрдХ-рдХреЗрд╡рд▓-рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░-рдЕрдиреБрд╡рд╛рдж](https://habrastorage.org/webt/ni/vt/bw/nivtbwcuuxla5cx5p2srhoohfgm.png)
, . , ( , ) . :
![рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛-рд╕рдВрдХреНрд╖рд┐рдкреНрддреАрдХрд░рдг](https://habrastorage.org/webt/gd/3u/h5/gd3uh5vlhfzoarket8i2eeudj_4.png)
.
![рд╡рд┐рдХреЛрдбрдХ-рдХреЗрд╡рд▓-рд╕рдВрдХреНрд╖рд┐рдкреНрддреАрдХрд░рдг](https://habrastorage.org/webt/f2/-z/8v/f2-z8vum88usd2nyshvwwpesjq8.png)
Sample Efficient Text Summarization Using a Single Pre-Trained Transformer , . , , - .
GPT-2 .
. ┬л ┬╗ тАУ (, ┬л ┬╗).
, . , (), ( ). (, , ) ┬л┬╗ тАУ , .
![рд╕рдВрдЧреАрдд-рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ рдкреНрд░рджрд░реНрд╢рди рдПрдиреНрдХреЛрдбрд┐рдВрдЧ -3](https://habrastorage.org/webt/en/x-/g2/enx-g2e1om4ctwjcuvnsspcjzcm.png)
тАУ one-hot . midi . :
![рд╕рдВрдЧреАрдд-рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡-рдЙрджрд╛рд╣рд░рдг](https://habrastorage.org/webt/q2/0s/vv/q20svvnlw_1ji4s_fjejnlnrckc.png)
one-hot :
![рд╕рдВрдЧреАрдд-рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ рдЗрдирдкреБрдЯ-рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ -2](https://habrastorage.org/webt/gh/av/o5/ghavo5srziiagcrg-zqzg0vbnjg.png)
:
![рд╕рдВрдЧреАрдд-рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░-рдЖрддреНрдо рдзреНрдпрд╛рди -2](https://habrastorage.org/webt/gg/up/ou/ggupou0idkyeu2oc-dtgvxayxsa.png)
, . .
GPT-2 тАУ . , , , , .
- GPT-2 OpenAI
- рд╣рдЧрд┐рдВрдЧ рдлреЗрд╕ рд╕реЗ pytorch-transformers2 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рджреЗрдЦреЗрдВ , рдЬреЛ GPT-2 рдХреЗ рдЕрд▓рд╛рд╡рд╛ BERT, рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░-рдПрдХреНрд╕реНрдЯреНрд░рд╛ рд▓рд╛рд░реНрдЬ, XLNet рдФрд░ рдЕрдиреНрдп рдПрдбрд╡рд╛рдВрд╕реНрдб рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░ рдореЙрдбрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред
рд▓реЗрдЦрдХ