KoGPT2 (ํ๊ตญ์ด GPT-2) Ver 2.0
GPT-2๋ ์ฃผ์ด์ง ํ
์คํธ์ ๋ค์ ๋จ์ด๋ฅผ ์ ์์ธกํ ์ ์๋๋ก ํ์ต๋ ์ธ์ด๋ชจ๋ธ์ด๋ฉฐ ๋ฌธ์ฅ ์์ฑ์ ์ต์ ํ ๋์ด ์์ต๋๋ค. KoGPT2
๋ ๋ถ์กฑํ ํ๊ตญ์ด ์ฑ๋ฅ์ ๊ทน๋ณตํ๊ธฐ ์ํด 40GB ์ด์์ ํ
์คํธ๋ก ํ์ต๋ ํ๊ตญ์ด ๋์ฝ๋(decoder
) ์ธ์ด๋ชจ๋ธ์
๋๋ค.
Tokenizer
tokenizers
ํจํค์ง์ Character BPE tokenizer
๋ก ํ์ต๋์์ต๋๋ค.
์ฌ์ ํฌ๊ธฐ๋ 51,200 ์ด๋ฉฐ ๋ํ์ ์์ฃผ ์ฐ์ด๋ ์๋์ ๊ฐ์ ์ด๋ชจํฐ์ฝ, ์ด๋ชจ์ง ๋ฑ์ ์ถ๊ฐํ์ฌ ํด๋น ํ ํฐ์ ์ธ์ ๋ฅ๋ ฅ์ ์ฌ๋ ธ์ต๋๋ค.
๐, ๐, ๐, ๐ , ๐คฃ, .. ,
:-)
,:)
,-)
,(-:
...
๋ํ <unused0>
~ <unused99>
๋ฑ์ ๋ฏธ์ฌ์ฉ ํ ํฐ์ ์ ์ํด ํ์ํ ํ
์คํฌ์ ๋ฐ๋ผ ์์ ๋กญ๊ฒ ์ ์ํด ์ฌ์ฉํ ์ ์๊ฒ ํ์ต๋๋ค.
> from transformers import PreTrainedTokenizerFast
> tokenizer = PreTrainedTokenizerFast.from_pretrained("skt/kogpt2-base-v2",
bos_token='</s>', eos_token='</s>', unk_token='<unk>',
pad_token='<pad>', mask_token='<mask>')
> tokenizer.tokenize("์๋
ํ์ธ์. ํ๊ตญ์ด GPT-2 ์
๋๋ค.๐ค:)l^o")
['โ์๋
', 'ํ', '์ธ', '์.', 'โํ๊ตญ์ด', 'โG', 'P', 'T', '-2', 'โ์
', '๋๋ค.', '๐ค', ':)', 'l^o']
Model
Model | # of params | Type | # of layers | # of heads | ffn_dim | hidden_dims |
---|---|---|---|---|---|---|
kogpt2-base-v2 |
125M | Decoder | 12 | 12 | 3072 | 768 |
> import torch
> from transformers import GPT2LMHeadModel
> model = GPT2LMHeadModel.from_pretrained('skt/kogpt2-base-v2')
> text = '๊ทผ์ก์ด ์ปค์ง๊ธฐ ์ํด์๋'
> input_ids = tokenizer.encode(text, return_tensors='pt')
> gen_ids = model.generate(input_ids,
max_length=128,
repetition_penalty=2.0,
pad_token_id=tokenizer.pad_token_id,
eos_token_id=tokenizer.eos_token_id,
bos_token_id=tokenizer.bos_token_id,
use_cache=True)
> generated = tokenizer.decode(gen_ids[0])
> print(generated)
๊ทผ์ก์ด ์ปค์ง๊ธฐ ์ํด์๋ ๋ฌด์๋ณด๋ค ๊ท์น์ ์ธ ์ํ์ต๊ด์ด ์ค์ํ๋ค.
ํนํ, ์์นจ์์ฌ๋ ๋จ๋ฐฑ์ง๊ณผ ๋นํ๋ฏผ์ด ํ๋ถํ ๊ณผ์ผ๊ณผ ์ฑ์๋ฅผ ๋ง์ด ์ญ์ทจํ๋ ๊ฒ์ด ์ข๋ค.
๋ํ ํ๋ฃจ 30๋ถ ์ด์ ์ถฉ๋ถํ ์๋ฉด์ ์ทจํ๋ ๊ฒ๋ ๋์์ด ๋๋ค.
์์นจ ์์ฌ๋ฅผ ๊ฑฐ๋ฅด์ง ์๊ณ ๊ท์น์ ์ผ๋ก ์ด๋์ ํ๋ฉด ํ์ก์ํ์ ๋์์ ์ค ๋ฟ๋ง ์๋๋ผ ์ ์ง๋์ฌ๋ฅผ ์ด์งํด ์ฒด๋ด ๋
ธํ๋ฌผ์ ๋ฐฐ์ถํ๊ณ ํ์์ ๋ฎ์ถฐ์ค๋ค.
์ด๋์ ํ๋ฃจ์ 10๋ถ ์ ๋๋ง ํ๋ ๊ฒ ์ข์ผ๋ฉฐ ์ด๋ ํ์๋ ๋ฐ๋์ ์คํธ๋ ์นญ์ ํตํด ๊ทผ์ก๋์ ๋๋ฆฌ๊ณ ์ ์ฐ์ฑ์ ๋์ฌ์ผ ํ๋ค.
์ด๋ ํ ๋ฐ๋ก ์ ์๋ฆฌ์ ๋๋ ๊ฒ์ ํผํด์ผ ํ๋ฉฐ ํนํ ์์นจ์ ์ผ์ด๋๋ฉด ๋ชธ์ด ํผ๊ณคํด์ง๊ธฐ ๋๋ฌธ์ ๋ฌด๋ฆฌํ๊ฒ ์์ง์ด๋ฉด ์คํ๋ ค ์ญํจ๊ณผ๊ฐ ๋ ์๋ ์๋ค...
Performances
Classification or Regression
NSMC(acc) | KorSTS(spearman) | |
---|---|---|
KoGPT2 2.0 | 89.1 | 77.8 |
Data
ํ๊ตญ์ด ์ํค ๋ฐฑ๊ณผ ์ด์ธ, ๋ด์ค, ๋ชจ๋์ ๋ง๋ญ์น v1.0, ์ฒญ์๋ ๊ตญ๋ฏผ์ฒญ์ ๋ฑ์ ๋ค์ํ ๋ฐ์ดํฐ๊ฐ ๋ชจ๋ธ ํ์ต์ ์ฌ์ฉ๋์์ต๋๋ค.
Demo
User Contributed Examples
Related press releases
- SKT, ๊ธ ์ฐ๋ AI 'KoGPT2' ์ ๋ฒ์ ๊ฐ๋ฐโฆ๋ฌธ์ฅโ๋ฌธ๋จ์์ฑ์ผ๋ก ์ฑ๋ฅ ํฅ์
- [AI ๋ชจ๋ธ ํํ๊ธฐ] #7 ํ๊ธ ๋ฒ์ ์ GPT-2, KoGPT2
Contacts
KoGPT2
๊ด๋ จ ์ด์๋ ์ด๊ณณ์ ์ฌ๋ ค์ฃผ์ธ์.
License
KoGPT2
๋ CC-BY-NC-SA 4.0 ๋ผ์ด์ ์ค ํ์ ๊ณต๊ฐ๋์ด ์์ต๋๋ค. ๋ชจ๋ธ ๋ฐ ์ฝ๋๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ๋ผ์ด์ ์ค ๋ด์ฉ์ ์ค์ํด์ฃผ์ธ์. ๋ผ์ด์ ์ค ์ ๋ฌธ์ LICENSE ํ์ผ์์ ํ์ธํ์ค ์ ์์ต๋๋ค.