๊ฐ์
BERT(Bidirectional Encoder Representations from Transformers)๋ Google AI๊ฐ 2018๋ 10์์ ๋ฐํํ ์์ฐ์ด ์ฒ๋ฆฌ๋ฅผ ์ํ ์ธ์ด ํํ ๋ชจ๋ธ์ด๋ค1. ํธ๋์คํฌ๋จธ(Transformer)์ ์ธ์ฝ๋ ๋ถ๋ถ๋ง์ ์ฌ์ฉํ๋ฉฐ, ์๋ฐฉํฅ(bidirectional) ๋ฌธ๋งฅ์ ๋ชจ๋ ๊ณ ๋ คํ์ฌ ํ ์คํธ๋ฅผ ์ดํดํ๋ ๊ฒ์ด ํต์ฌ ํน์ง์ด๋ค.
BERT๋ ๋๊ท๋ชจ ํ ์คํธ ๋ฐ์ดํฐ๋ก ์ฌ์ ํ์ต(pre-training)์ ์ํํ ํ, ํ๋์ ์ถ๊ฐ ์ถ๋ ฅ ๋ ์ด์ด๋ง์ผ๋ก ๋ค์ํ ์์ฐ์ด ์ฒ๋ฆฌ ๊ณผ์ ์ ํ์ธํ๋(fine-tuning)ํ ์ ์๋๋ก ์ค๊ณ๋์๋ค. ๋ฐํ ๋น์ 11๊ฐ์ NLP ๊ณผ์ ์์ ์ต๊ณ ์ฑ๋ฅ(state-of-the-art)์ ๋ฌ์ฑํ๋ฉฐ ํฐ ์ํฅ์ ๋ฏธ์ณค๋ค.
์ํคํ ์ฒ
๋ชจ๋ธ ๊ตฌ์กฐ
BERT๋ ํธ๋์คํฌ๋จธ์ ์ธ์ฝ๋(encoder-only) ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ๋ค. ์ด๊ธฐ์๋ ๋ ๊ฐ์ง ํฌ๊ธฐ์ ๋ชจ๋ธ์ด ๊ณต๊ฐ๋์๋ค:
- BERT-BASE: 12๊ฐ ๋ ์ด์ด, 768 hidden units, 12 attention heads, ์ฝ 1์ต 1์ฒ๋ง ๊ฐ ํ๋ผ๋ฏธํฐ
- BERT-LARGE: 24๊ฐ ๋ ์ด์ด, 1024 hidden units, 16 attention heads, ์ฝ 3์ต 4์ฒ๋ง ๊ฐ ํ๋ผ๋ฏธํฐ
ํ ํฌ๋์ด์
BERT๋ WordPiece ํ ํฌ๋์ด์ ๋ฅผ ์ฌ์ฉํ๋ฉฐ, 30,000๊ฐ์ ํ ํฐ ์ดํ๋ฅผ ๊ฐ์ง๋ค. ํน์ ํ ํฐ์ผ๋ก [CLS]
(๋ฌธ์ฅ ์์), [SEP]
(๋ฌธ์ฅ ๊ตฌ๋ถ), [MASK]
(๋ง์คํน๋ ํ ํฐ)๋ฅผ ์ฌ์ฉํ๋ค.
์ฌ์ ํ์ต ๋ฐฉ์
BERT์ ํ์ ์ ๋ ๊ฐ์ง ๋น์ง๋ ํ์ต ๊ณผ์ ๋ฅผ ํตํ ์ฌ์ ํ์ต ๋ฐฉ์์ ์๋ค:
1. Masked Language Modeling (MLM)
- ์ ๋ ฅ ํ ํฐ์ 15%๋ฅผ ๋ฌด์์๋ก ์ ํํ์ฌ ์์ธกํ๋๋ก ํ์ต
- ์ ํ๋ ํ ํฐ ์ค:
- 80%๋
[MASK]
ํ ํฐ์ผ๋ก ๊ต์ฒด - 10%๋ ๋ฌด์์ ๋จ์ด๋ก ๊ต์ฒด
- 10%๋ ๊ทธ๋๋ก ์ ์ง
- 80%๋
- ์ด๋ฅผ ํตํด ์๋ฐฉํฅ ๋ฌธ๋งฅ์ ๋ชจ๋ ํ์ฉํ์ฌ ๋จ์ด๋ฅผ ์์ธกํ๋ ๋ฅ๋ ฅ ํ์ต
2. Next Sentence Prediction (NSP)
- ๋ ๋ฌธ์ฅ์ด ์ฐ์์ ์ผ๋ก ๋ํ๋๋์ง ์์ธกํ๋ ์ด์ง ๋ถ๋ฅ ๊ณผ์
- 50%๋ ์ค์ ์ฐ์๋ ๋ฌธ์ฅ, 50%๋ ๋ฌด์์๋ก ์ ํ๋ ๋ฌธ์ฅ ์
- ๋ฌธ์ฅ ๊ฐ ๊ด๊ณ๋ฅผ ์ดํดํ๋ ๋ฅ๋ ฅ ํ์ต
ํ์ต ๋ฐ์ดํฐ
BERT๋ ๋ค์ ๋ฐ์ดํฐ๋ก ํ์ต๋์๋ค:
- BookCorpus: ์ฝ 8์ต ๋จ์ด
- ์์ด Wikipedia: ์ฝ 25์ต ๋จ์ด
BERT-BASE ๋ชจ๋ธ์ 16๊ฐ์ TPU ์นฉ์ผ๋ก ์ฝ 4์ผ๊ฐ ํ์ต๋์์ผ๋ฉฐ, ํ์ต ๋น์ฉ์ ์ฝ $500๋ก ์ถ์ ๋๋ค.
์ฑ๋ฅ
BERT๋ ๋ฐํ ๋น์ ์ฌ๋ฌ NLP ๋ฒค์น๋งํฌ์์ ํ๊ธฐ์ ์ธ ์ฑ๋ฅ ํฅ์์ ๋ณด์๋ค:
- GLUE: 80.5% (7.7%p ํฅ์)
- MultiNLI: 86.7% ์ ํ๋
- SQuAD: ์ง์์๋ต ๊ณผ์ ์์ ํฐ ์ฑ๋ฅ ๊ฐ์
2020๋ ๊ธฐ์ค์ผ๋ก BERT๋ NLP ์คํ์ ๊ธฐ๋ณธ ๋ฒ ์ด์ค๋ผ์ธ์ผ๋ก ์๋ฆฌ์ก์์ผ๋ฉฐ, ๋ชจ๋ธ์ ํด์ ๊ฐ๋ฅ์ฑ์ ์ฐ๊ตฌํ๋ โBERTologyโ๋ผ๋ ์ฐ๊ตฌ ๋ถ์ผ๊น์ง ์๊ฒจ๋ฌ๋ค.
์ฃผ์ ๋ณํ ๋ชจ๋ธ
BERT์ ์ฑ๊ณต ์ดํ ๋ค์ํ ๋ณํ ๋ชจ๋ธ๋ค์ด ๊ฐ๋ฐ๋์๋ค:
- RoBERTa: ํ์ต ๋ฐฉ์ ๊ฐ์ (NSP ์ ๊ฑฐ, ๋ ํฐ ๋ฐฐ์น, ๋ ๋ง์ ๋ฐ์ดํฐ)
- DistilBERT: ์ง์ ์ฆ๋ฅ(knowledge distillation)๋ฅผ ํตํด ํฌ๊ธฐ์ ์๋ ๊ฐ์
- ALBERT: ๋ ์ด์ด ๊ฐ ํ๋ผ๋ฏธํฐ ๊ณต์ ๋ก ๋ชจ๋ธ ํฌ๊ธฐ ๊ฐ์
- ELECTRA: ์์ฑ์ ์ ๋ ํ์ต(GAN) ๋ฐฉ์ ์ ์ฉ
ํ๊ตญ์ด BERT ๋ชจ๋ธ
KoBERT
SKT AI(๊ตฌ SKT Brain)๊ฐ ๊ฐ๋ฐํ ํ๊ตญ์ด ํนํ BERT ๋ชจ๋ธ์ด๋ค. ๊ตฌ๊ธ์ ๋ค๊ตญ์ด BERT๊ฐ ํ๊ตญ์ด์์ ๋ณด์ด๋ ์ฑ๋ฅ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด ๊ฐ๋ฐ๋์๋ค.
์ฃผ์ ํน์ง:
- ํ์ต ๋ฐ์ดํฐ: ํ๊ตญ์ด Wikipedia (์ฝ 500๋ง ๋ฌธ์ฅ, 5,400๋ง ๋จ์ด)
- ์ํคํ ์ฒ: 12 ๋ ์ด์ด, 768 units, 512 max sequence length, 12 attention heads
- ์ดํ ํฌ๊ธฐ: 8,002 ํ ํฐ (๋ค๊ตญ์ด BERT๋ณด๋ค ์์)
- ํ๋ผ๋ฏธํฐ: ์ฝ 9,200๋ง ๊ฐ (๋ค๊ตญ์ด BERT๋ 1์ต 1์ฒ๋ง ๊ฐ)
- ํ ํฌ๋์ด์ : SentencePiece (ํ๊ตญ์ด ์ํค ๋ฐ์ดํฐ๋ก ํ์ต)
- ํ์ต ํ๊ฒฝ: 32๊ฐ V100 GPU, Horovod ์ฌ์ฉ
์ฑ๋ฅ:
- ๋ค์ด๋ฒ ๊ฐ์ฑ ๋ถ์ ๋ฐ์ดํฐ์ ์์ 90.1% ์ ํ๋ (๋ค๊ตญ์ด BERT 87.5%)
์ง์ ํ๋ ์์ํฌ:
- PyTorch, ONNX, MXNet-Gluon
KR-BERT
์์ธ๋ํ๊ต ์์ฐ์ด์ฒ๋ฆฌ ์ฐ๊ตฌ์ค์์ ๊ฐ๋ฐํ ์๊ท๋ชจ ํ๊ตญ์ด ํนํ ๋ชจ๋ธ์ด๋ค2.
์ฃผ์ ํน์ง:
- ๋ค๊ตญ์ด BERT๋ณด๋ค ์ฝ 1/10 ํฌ๊ธฐ์ ์์ ์ฝํผ์ค๋ก ํ์ต
- ํ๊ตญ์ด๋ ํํ๋ก ์ ์ผ๋ก ํ๋ถํ๋ฉด์ ๋น๋ผํด ๋ฌธ์ ์ฒด๊ณ๋ฅผ ์ฌ์ฉํ๋ ์ ์์ ์ธ์ด
- ์ฌ๋ฌ ํ ํฌ๋์ด์ ์คํ (์์ ๋จ์, ์์ ๋จ์ ๋ฑ)
- โBidirectionalWordPiece Tokenizerโ ์ ์
์ฑ๊ณผ:
- ์์ ๋ฐ์ดํฐ์ ์ผ๋ก๋ ๊ธฐ์กด ์ฌ์ ํ์ต ๋ชจ๋ธ๊ณผ ๋๋ฑํ๊ฑฐ๋ ๋ ๋์ ์ฑ๋ฅ ๋ฌ์ฑ
- ์ธ์ด๋ณ ํน์ฑ์ ๋ฐ์ํ ์๊ท๋ชจ ํนํ ๋ชจ๋ธ์ ํจ๊ณผ์ฑ ์ ์ฆ
๊ธฐํ ํ๊ตญ์ด BERT ๋ชจ๋ธ
- KcBERT: ์ด์ค๋ฒ์ด ๊ฐ๋ฐํ ๋ชจ๋ธ๋ก, ์จ๋ผ์ธ ๋ด์ค ๋๊ธ ๋ฐ์ดํฐ(2019-2020, ์ฝ 1์ต 1์ฒ๋ง ๋ฌธ์ฅ)๋ก ํ์ตํ์ฌ ๊ตฌ์ด์ฒด, ์ ์กฐ์ด, ๋นํ์ค ํํ์ ์ ์ฒ๋ฆฌ
- KoreALBERT: ALBERT ๊ตฌ์กฐ๋ฅผ ํ๊ตญ์ด์ ์ ์ฉํ ๊ฒฝ๋ํ ๋ชจ๋ธ
- KLUE: ํ๊ตญ์ด ์์ฐ์ด ์ดํด ๋ฒค์น๋งํฌ ํ๋ก์ ํธ์ ์ผํ์ผ๋ก ๊ณต๊ฐ๋ KLUE-BERT์ KLUE-RoBERTa ๋ชจ๋ธ
์ํฅ๊ณผ ์์
BERT๋ ์์ฐ์ด ์ฒ๋ฆฌ ๋ถ์ผ์ ๋ค์๊ณผ ๊ฐ์ ์ํฅ์ ๋ฏธ์ณค๋ค:
- ์ ์ด ํ์ต(Transfer Learning) ๋์คํ: ์ฌ์ ํ์ต ํ ํ์ธํ๋ํ๋ ๋ฐฉ์์ด NLP์ ํ์ค์ด ๋จ
- ์๋ฐฉํฅ ๋ฌธ๋งฅ ํ์ฉ: ์ด์ ๋ชจ๋ธ๋ค(GPT ๋ฑ)์ด ๋จ๋ฐฉํฅ์ด์๋ ๊ฒ๊ณผ ๋ฌ๋ฆฌ ์๋ฐฉํฅ ๋ฌธ๋งฅ ํ์ฉ
- ๊ฐ๋ ์ ๋จ์์ฑ: ๋ณต์กํ ๊ณผ์ ๋ณ ๊ตฌ์กฐ ์์ด๋ ๋์ ์ฑ๋ฅ ๋ฌ์ฑ
- ์ฐ๊ตฌ ์ํ๊ณ ํ์ฑ: ์๋ง์ BERT ๋ณํ ๋ชจ๋ธ๊ณผ BERTology ์ฐ๊ตฌ ๋ถ์ผ ์์ฑ
์ฐธ๊ณ ์๋ฃ
- BERT ๋ ผ๋ฌธ (arXiv)
- BERT ๋ ผ๋ฌธ (ACL Anthology)
- Google Research BERT GitHub
- Hugging Face BERT ๋ฌธ์
- KoBERT GitHub
- KR-BERT GitHub
Footnotes
-
Devlin, J., Chang, M. W., Lee, K., & Toutanova, K. (2018). โBERT: Pre-training of Deep Bidirectional Transformers for Language Understandingโ. arXiv:1810.04805 โฉ
-
Lee, S., Jang, H., Baik, Y., Park, S., & Shin, H. (2020). โKR-BERT: A Small-Scale Korean-Specific Language Modelโ. arXiv:2008.03979 โฉ