LLM๊ด๋ จ ์คํฐ๋๋ฅผ ํ๊ณ ์๋๋ฐ, BERT ๋ชจ๋ธ์ ๋ฐํ์ฌ ๊ณต๋ถ๋ฅผ ํด์ผํ ํ์ด๋ฐ์ด์ฌ์, ํ๋๊น์ ๋ด์ฉ๋ ์ ๋ฆฌํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ BERT Model์ ๋ฐํ์ฌ ์ดํด๋ฅผ ํ๋ ค๋ฉด Transformer๋ผ๋ ๋ชจ๋ธ์ ๋ฐํ์ฌ ์ด๋์ ๋ ์ดํด๊ฐ ํ์ํฉ๋๋ค.
์๋ ์ฐธ๊ณ ๊ธ ๋จ๊ธธํ ๋ ํ๋ฒ ๋ณด๊ณ ์ด ๊ธ์ ์ฝ์ด์ฃผ์ธ์!!
What is BERT?
BERT(Bidirectional Encoder Representations from Transformers)๋ 2018๋ ์ ๊ตฌ๊ธ์ด ๊ณต๊ฐํ ์ฌ์ ํ๋ จ๋ ๋ชจ๋ธ์ ๋๋ค.
๊ตฌ๊ธ์์ 2018๋ ์ ๋ฐํํ BERT ๋ชจ๋ธ์ Transformer ์ํคํ ์ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ, ๋ฌธ์ฅ์ ์ ํ ๋ฌธ๋งฅ์ ๋ชจ๋ ๊ณ ๋ คํ๋ ์๋ฐฉํฅ ํ์ต ๋ฐฉ์์ ๋์ ํ์ฌ ๋ค์ํ NLP ์์ ์์ ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๊ณ ์์ต๋๋ค.
ํ๋ฒ ์ ์๋ฅผ ํ๋ฒ ๋ณด๋ฉด
- Bidirectional(์๋ฐฉํฅ): ๋ฌธ์ฅ์ ์ดํดํ ๋ ์๋ค ๋ฌธ๋งฅ์ ๋ชจ๋ ๊ณ ๋ คํ๋ ๋ฐฉ์์ผ๋ก, ๋จ์ด์ ์๋ฏธ๋ฅผ ๋์ฑ ์ ํํ๊ฒ ํ์ ํ ์ ์์ต๋๋ค.
- Encoder Representations: Transformer์ ์ธ์ฝ๋ ๋ถ๋ถ์ ์ฌ์ฉํ์ฌ ์ ๋ ฅ๋ ๋ฌธ์ฅ์ ๋ฒกํฐ ํํ์ผ๋ก ๋ณํํฉ๋๋ค.
- Transformers: Attention ๋ฉ์ปค๋์ฆ์ ํ์ฉํ ๋ฅ๋ฌ๋ ๋ชจ๋ธ๋ก, ๋ณ๋ ฌ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ์ฌ ํ์ต ํจ์จ์ด ๋์ต๋๋ค.
BERT๋ ์ํคํผ๋์(25์ต ๋จ์ด), BooksCorpus(8์ต ๋จ์ด)๋ก ์ด๋ธ์ด ์๋ ํ ์คํธ ๋ฐ์ดํฐ๋ก Pre-Trained(์ฌ์ ํ๋ จ)๋ ์ธ์ด ๋ชจ๋ธ์ ๋๋ค.
- ์ฌ์ ํ์ต(Pre-training): ๋๋์ ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ผ๋ฐ์ ์ธ ์ธ์ด ์ดํด ๋ฅ๋ ฅ์ ํ์ตํฉ๋๋ค.
- ๋ฏธ์ธ ์กฐ์ (Fine-tuning): ์ฌ์ ํ์ต๋ ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก ํน์ NLP ์์ ์ ๋ง๊ฒ ์ถ๊ฐ ํ์ตํ์ฌ ์ฑ๋ฅ์ ์ต์ ํํฉ๋๋ค.
๋ง์ฝ, BERT๋ชจ๋ธ๋ก Fine-tuning ํ๋ค๊ณ ํ๋ฉด? ์ํคํผ๋์ ๋ฑ์ผ๋ก ์ฌ์ ํ์ต๋ BERT ์์ ๋ถ๋ฅ๋ฅผ ์ํ ์ ๊ฒฝ๋ง์ ํ ์ธต ์ถ๊ฐํฉ๋๋ค.
์ด ๊ฒฝ์ฐ๋ฅผ ์ค๋ช ํด๋ณด๋ฉด BERT๊ฐ ์ธ์ด ๋ชจ๋ธ์ด Pre-training(์ฌ์ ํ์ต) ๊ณผ์ ์์ ์ป์ ์ง์์ ํ์ฉํ๋ค๋ ๊ฐ๋ ์ผ๋ก ๋ณด๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์๋ฐฉํฅ์ฑ(Bidirectionality)
BERT๋ Bidirectional(์๋ฐฉํฅ)์ผ๋ก ๋ฌธ์ฅ์ ์ดํดํ ๋, ์ ๋ค ๋ฌธ๋งฅ์ผ๋ก ๊ณ ๋ คํ๋ ๋ฐฉ์์ ๋๋ค.
๋ฌธ๋งฅ์ ์ ํ ์ ๋ณด๋ฅผ ๋ชจ๋ ํ์ฉ
- ์ ํต์ ์ธ ์ธ์ด ๋ชจ๋ธ์ ์ฃผ๋ก ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ(์๋ฐฉํฅ) ๋๋ ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ(์ญ๋ฐฉํฅ)์ผ๋ก ๋จ์ด๋ฅผ ์์ธกํฉ๋๋ค.
- ์ด ๊ฒฝ์ฐ ๋ฌธ๋งฅ์ ํ์ชฝ ๋ฐฉํฅ ์ ๋ณด๋ง ํ์ฉํ๋ฏ๋ก ๋จ์ด์ ์๋ฏธ๋ฅผ ์๋ฒฝํ ํ์ ํ๊ธฐ ์ด๋ ต์ต๋๋ค.
BERT์ ์๋ฐฉํฅ ํ์ต ๋ฐฉ์
- Masked Language Model(MLM)์ ํตํด ๋ฌธ์ฅ ๋ด์ ๋จ์ด๋ฅผ ๋ฌด์์๋ก ๋ง์คํนํ๊ณ , ๋ง์คํน๋ ๋จ์ด๋ฅผ ์์ธกํ๋ ๊ณผ์ ์์ ์ฃผ๋ณ์ ๋ชจ๋ ๋จ์ด ์ ๋ณด๋ฅผ ํ์ฉํฉ๋๋ค.
- ์ด๋ฅผ ํตํด ๋จ์ด์ ์๋ฏธ๋ฅผ ์๋ค ๋ฌธ๋งฅ์ ๋ชจ๋ ๊ณ ๋ คํ์ฌ ํ์ตํ ์ ์์ต๋๋ค.
ํ๋ฒ ์์๋ฅผ ๋ค์ด๋ณด๋ฉด? ์๋์ ๋ฌธ์ฅ๊ณผ ๊ฐ์ต๋๋ค.
"๊ทธ๋ [MASK]๋ฅผ ๋จน์๋ค."์์ [MASK] ์๋ฆฌ์ ์ฌ ์ ์๋ ๋จ์ด๋ฅผ ์์ธกํ ๋,
์๋ค ๋จ์ด๋ฅผ ๋ชจ๋ ์ฐธ๊ณ ํ์ฌ "์ฌ๊ณผ", "๋ฐฅ", "์ฝ" ๋ฑ ์ ์ ํ ๋จ์ด๋ฅผ ์ถ๋ก ํฉ๋๋ค.
BERT ๋ชจ๋ธ์ ํน์ง
Transformer ๊ธฐ๋ฐ์ ๋ชจ๋ธ ๊ตฌ์กฐ
- ๊ธฐ์กด์ ์ํ ์ ๊ฒฝ๋ง(RNN)์ด๋ LSTM๊ณผ ๋ฌ๋ฆฌ, Transformer๋ Attention ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ์ฌ ๋ณ๋ ฌ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๊ณ ํ์ต ์๋๊ฐ ๋น ๋ฆ ๋๋ค.
- BERT๋ Transformer์ ์ธ์ฝ๋ ๋ถ๋ถ๋ง์ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ์ ๊ตฌ์ฑํ์์ต๋๋ค.
์๋ก์ด ์ฌ์ ํ์ต ๋ชฉํ
- Masked Language Model(MLM):
- ์ ๋ ฅ ๋ฌธ์ฅ์์ ์ผ๋ถ ๋จ์ด๋ฅผ ๋ง์คํนํ๊ณ , ๋ง์คํน๋ ๋จ์ด๋ฅผ ์์ธกํ๋ ๋ฐฉ์์ผ๋ก ํ์ตํฉ๋๋ค.
- ์ด๋ ์๋ฐฉํฅ ๋ฌธ๋งฅ ์ ๋ณด๋ฅผ ํ์ฉํ ์ ์๊ฒ ํฉ๋๋ค.
- Next Sentence Prediction(NSP):
- ๋ ๊ฐ์ ๋ฌธ์ฅ์ด ์ฃผ์ด์ก์ ๋, ๋ ๋ฌธ์ฅ์ด ์ฐ์๋๋ ๋ฌธ์ฅ์ธ์ง ์ฌ๋ถ๋ฅผ ์์ธกํฉ๋๋ค.
- ๋ฌธ์ฅ ๊ฐ์ ๊ด๊ณ๋ฅผ ์ดํดํ๊ณ ์ผ๊ด์ฑ ์๋ ๋ฌธ๋งฅ์ ํ์ ํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
BERT Model Architecture
BERT ๋ชจ๋ธ์ Architecture์ ๋ฐํ์ฌ ํ๋ฒ ์์๋ณด๊ฒ ์ต๋๋ค.
BERT์ ์ํคํ ์ฒ๋ Transformer ๋ชจ๋ธ์ ์ธ์ฝ๋(Encoder) ๋ถ๋ถ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ, ์ ๋ ฅ๋ ํ ์คํธ๋ฅผ ๋ฒกํฐ ํํ์ผ๋ก ๋ณํํฉ๋๋ค.
์ด๋ฅผ ํตํด ๋ฌธ์ฅ์ ์ ํ ๋ฌธ๋งฅ์ ๋ชจ๋ ์ดํดํ์ฌ ๋ค์ํ ์์ฐ์ด ์ฒ๋ฆฌ ์์ ์์ ์ฐ์ํ ์ฑ๋ฅ์ ๋ฐํํฉ๋๋ค.
BERT์์์ ์ธ์ฝ๋ ํ์ฉ
- Self-Attention ๋ฉ์ปค๋์ฆ: ๋ฌธ์ฅ ๋ด์ ๋ชจ๋ ๋จ์ด๊ฐ ์๋ก์ ๊ด๊ณ๋ฅผ ํ์ ํ์ฌ ์ค์ํ ์ ๋ณด๋ฅผ ์ถ์ถํฉ๋๋ค.
- ๋ณ๋ ฌ ์ฒ๋ฆฌ ๊ฐ๋ฅ: ์ํ ๊ตฌ์กฐ๊ฐ ์์ด ๋ณ๋ ฌ ์ฐ์ฐ์ด ๊ฐ๋ฅํ๋ฉฐ, ์ด๋ ํ์ต ์๋๋ฅผ ํฅ์์ํต๋๋ค.
- ์๋ฐฉํฅ์ฑ ํ๋ณด: ์ธ์ฝ๋ ๊ตฌ์กฐ๋ฅผ ํตํด ๋ฌธ๋งฅ์ ์๋ค ์ ๋ณด๋ฅผ ๋์์ ๊ณ ๋ คํ ์ ์์ต๋๋ค.
BERT์ ํฌ๊ธฐ
BERT์ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ ํธ๋์คํฌ๋จธ์ ์ธ์ฝ๋๋ฅผ ์์์ฌ๋ฆฐ ๊ตฌ์กฐ์ ๋๋ค.
- Base ๋ฒ์ ์์๋ ์ด 12๊ฐ๋ฅผ ์์์ผ๋ฉฐ
- Large ๋ฒ์ ์์๋ ์ด 24๊ฐ๋ฅผ ์์์ต๋๋ค.
๊ทธ ์ธ์๋ Large ๋ฒ์ ์ Base ๋ฒ์ ๋ณด๋ค d_model์ ํฌ๊ธฐ๋ ์ ํ ์ดํ ์ ํค๋(Self Attention Heads)์ ์๊ฐ ๋ ํฝ๋๋ค.
ํธ๋์คํฌ๋จธ ์ธ์ฝ๋ ์ธต์ ์๋ฅผ L, d_model์ ํฌ๊ธฐ๋ฅผ D, ์ ํ ์ดํ ์ ํค๋์ ์๋ฅผ A๋ผ๊ณ ํ์์ ๋ ๊ฐ๊ฐ์ ํฌ๊ธฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
BERT-Base : L=12, D=768, A=12 : 110M๊ฐ์ ํ๋ผ๋ฏธํฐ
BERT-Large : L=24, D=1024, A=16 : 340M๊ฐ์ ํ๋ผ๋ฏธํฐ
ํธ๋์คํฌ๋จธ ์ด๊ธฐ ๋ชจ๋ธ์ด (L=6, D=512, A=8) ์ด์๋ค๋ ๊ฒ๊ณผ ๋น๊ตํ๋ฉด BERT์ Base Model์ ์ด๊ธฐ ํธ๋์คํฌ๋จธ๋ณด๋ค ํฐ ๋คํธ์ํฌ์์ ์ ์ ์์ต๋๋ค.
์ฌ๊ธฐ์ BERT-base๋ BERT๋ณด๋ค ์์ ๋ฑ์ฅํ Open AI GPT-1๊ณผ ํ์ดํผํ๋ผ๋ฏธํฐ๊ฐ ๋์ผํ๋ฐ,
์ด๋ BERT ์ฐ๊ตฌ์ง์ด ์ง์ ์ ์ผ๋ก GPT-1๊ณผ ์ฑ๋ฅ์ ๋น๊ตํ๊ธฐ ์ํด์ GPT-1๊ณผ ๋๋ฑํ ํฌ๊ธฐ๋ก BERT-Base๋ฅผ ์ค๊ณํ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ฐ๋ฉด, BERT-Large๋ BERT์ ์ต๋ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ๋ง๋ค์ด์ง ๋ชจ๋ธ์ ๋๋ค.
BERT์์ ๋ฌธ๋งฅ์ ๋ฐ์ํ Contextual Embedding
BERT๋ ๋ฌธ๋งฅ์ ๋ฐ์ํ ์๋ฒ ๋ฉ(Contextual Embedding)์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
BERT ๋ชจ๋ธ์ ์ ๋ ฅ์ DL Model๋ค๊ณผ์ ๋ง์ฐฌ๊ฐ์ง๋ก Embedding Layer๋ฅผ ๊ฐ์ง Embedding Vector๋ค์ ๋๋ค.
d_model์ 768๋ก ์ ์ํ์์ผ๋ฏ๋ก, ๋ชจ๋ ๋จ์ด๋ค์ 768์ฐจ์์ Embedding Vector๊ฐ ๋์ด BERT์ input์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
Model์์ ์ฐ์ฐ์ ๊ฑฐ์นํ, 768์ฐจ์์ Vector๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
์์ ์์๋ฅผ ๋ณด๋ฉด, BERT Model์ด ๊ฐ 768์ฐจ์์ [CLS], I, love, you๋ผ๋ 4๊ฐ์ Input Embedding(Vector)๋ฅผ ์ ๋ ฅ๋ฐ์์ ๋์ผํ๊ฒ 768์ฐจ์์ 4๊ฐ์ Output Embedding(Vector)๋ฅผ ์ถ๋ ฅํ๋ ๋ชจ์ต์ ๋ณด์ฌ์ค๋๋ค.
BERT์ ์ฐ์ฐ์ ๊ฑฐ์น ํ์ Output Embedding์ ๋ฌธ์ฅ์ Context๋ฅผ ๋ชจ๋ ์ฐธ๊ณ ํ ๋ฌธ๋งฅ์ ๋ฐ์ํ Embedding์ด ๋ฉ๋๋ค.
[CLS]๋ผ๋ ๋ฒกํฐ๋ BERT์ ์ด๊ธฐ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉ๋์์ ์ ๋ ฅ ์๋ฒ ๋ฉ ๋น์์๋ ๋จ์ํ ์๋ฒ ๋ฉ ์ธต(embedding layer)๋ฅผ ์ง๋ ์๋ฒ ๋ฉ ๋ฒกํฐ์์ง๋ง, BERT๋ฅผ ์ง๋๊ณ ๋์๋ [CLS], I, love, you๋ผ๋ ๋ชจ๋ ๋จ์ด ๋ฒกํฐ๋ค์ ๋ชจ๋ ์ฐธ๊ณ ํ ํ์ ๋ฌธ๋งฅ ์ ๋ณด๋ฅผ ๊ฐ์ง ๋ฒกํฐ๊ฐ ๋ฉ๋๋ค.
์ข์ธก ๊ทธ๋ฆผ์์๋ ๋ชจ๋ ๋จ์ด๋ฅผ ์ฐธ๊ณ ํ๊ณ ์๋ค๋ ๊ฒ์ ์ ์ ์ ํ์ดํ๋ก ํํํ์์ต๋๋ค. [CLS]๋ผ๋ ๋จ์ด ๋ฒกํฐ๋ ๋ค๋ฅธ ๋ฒกํฐ๋ค๋ ๋์ผํฉ๋๋ค.
์ฐ์ธก์ ๊ทธ๋ฆผ์์ ์ถ๋ ฅ ์๋ฒ ๋ฉ ๋จ๊ณ์ love๋ฅผ ๋ณด๋ฉด BERT์ ์ ๋ ฅ์ด์๋ ๋ชจ๋ ๋จ์ด๋ค์ธ [CLS], I, love, you๋ฅผ ์ฐธ๊ณ ํฉ๋๋ค.
[CLS] ํ ํฐ์ ์ ๋ ฅ์ ์์ ๋ถ๋ถ์ ์ถ๊ฐ๋๋ ํ ํฐ์ผ๋ก, ์ ์ฒด ์ํ์ค์ ๋ํ ๋ฒกํฐ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
๋ถ๋ฅ ์์ ์์ ์ด ํ ํฐ์ ์ถ๋ ฅ ๋ฒกํฐ๋ฅผ ํ์ฉํฉ๋๋ค.
ํ๋์ ๋จ์ด๊ฐ ๋ชจ๋ ๋จ์ด๋ฅผ ์ฐธ๊ณ ํ๋ ์ฐ์ฐ์ BERT์ 12๊ฐ์ Layer์์ ๋์ผํ๊ฒ ์ด๋ฃจ์ด์ง๋๋ค.
๊ทธ๋ฆฌ๊ณ 12๊ฐ์ ์ธต์ ์ง๋ ํ์ Output Embedding์ ์ป๊ฒ๋ฉ๋๋ค
์ ๊ทธ๋ฆผ์ BERT์ ์ฒซ๋ฒ์งธ Layer์ ์ ๋ ฅ๋ ๊ฐ ๋จ์ด๊ฐ ๋ชจ๋ ๋จ์ด๋ฅผ ์ฐธ๊ณ ํ ํ์ ์ถ๋ ฅ๋๋ ๊ณผ์ ์ ํ์ดํ๋ก ํํํ์์ต๋๋ค.
BERT์ ์ฒซ๋ฒ์งธ Layer์ Output Embedding์ BERT์ ๋๋ฒ์งธ Layer์์๋ Input Embedding์ด ๋ฉ๋๋ค.
๊ทธ๋ฌ๋ฉด BERT Model์ด ๋ชจ๋ ๋จ์ด๋ค์ ์ฐธ๊ณ ํด์ Context๋ฅผ ๋ฐ์ํ Output Embedding์ ์ป๊ฒ ๋๋ ๋ฐฉ๋ฒ์, 'Self-Attention'์ ํตํด์ ์ด๋ฃจ์ด ์ง๋๋ค.
BERT ๋ชจ๋ธ์ ๊ธฐ๋ณธ์ ์ผ๋ก Transformer Encoder๋ฅผ 12๋ฒ ์์๊ฒ ์ด๋ฏ๋ก, ๊ฐ Layer๋ง๋ค Multi-Head Self-Attention๊ณผ Position-wise Feed-Forward Network์ ์ํํ๋ฉฐ ์ต์ข ์ ์ผ๋ก Output Embedding์ ์ป์ต๋๋ค.
BERT Model์ Embedding
BERT๋ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ธ ๊ฐ์ง ์๋ฒ ๋ฉ์ ์ฌ์ฉํ์ฌ ๋จ์ด์ ์์น์ ๋ฌธ๋งฅ์ ํํํฉ๋๋ค.
ํ ํฐ ์๋ฒ ๋ฉ(Token Embedding)
- ๋จ์ด๋ฅผ ๊ณ ์ ํ ๋ฒกํฐ๋ก ๋ณํํ๋ ๊ณผ์ ์ ๋๋ค.
- WordPiece ํ ํฌ๋์ด์ ๋ฅผ ์ฌ์ฉํ์ฌ ํฌ๊ท ๋จ์ด๋ ์๋ก์ด ๋จ์ด๋ฅผ ์๋ธ์๋(subword) ๋จ์๋ก ๋ถํดํฉ๋๋ค.
์: "playing" → "play", "##ing"
์๋ํผ์ค ์๋ฒ ๋ฉ(WordPiece Embedding)
- ๋ฌธ์ฅ ๊ตฌ๋ถ์ ์ํ ์๋ฒ ๋ฉ์ผ๋ก, ๋ ๋ฌธ์ฅ์ ๊ตฌ๋ณํ๊ธฐ ์ํด ์ฌ์ฉํฉ๋๋ค.
- ์ฒซ ๋ฒ์งธ ๋ฌธ์ฅ์ ์ธ๊ทธ๋จผํธ A, ๋ ๋ฒ์งธ ๋ฌธ์ฅ์ ์ธ๊ทธ๋จผํธ B๋ก ํ์ํฉ๋๋ค.
ํฌ์ง์ ์๋ฒ ๋ฉ(Position Embedding)
- ๋จ์ด์ ์์๋ฅผ ๋ํ๋ด๋ ์๋ฒ ๋ฉ์ผ๋ก, ๋ฌธ์ฅ ๋ด์์ ๋จ์ด์ ์์น ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์ต๋ ์ํ์ค ๊ธธ์ด๊น์ง์ ์์น์ ๋ํ ์๋ฒ ๋ฉ์ ์ฌ์ ์ ์ ์ํฉ๋๋ค.
์ ๋ ฅ ์๋ฒ ๋ฉ ๊ตฌ์ฑ
- ์ ์ธ ๊ฐ์ง ์๋ฒ ๋ฉ์ ์์๋ณ๋ก ํฉ์ฐ(summing)ํ์ฌ ์ต์ข ์ ๋ ฅ ์๋ฒ ๋ฉ์ ๋ง๋ญ๋๋ค.
- ์ด๋ฅผ ํตํด ๋จ์ด์ ์๋ฏธ, ๋ฌธ์ฅ ๊ตฌ์กฐ, ์์น ์ ๋ณด๋ฅผ ๋ชจ๋ ํตํฉํ์ฌ ๋ชจ๋ธ์ ์ ๋ ฅํฉ๋๋ค.
ํฌ์ง์ ์๋ฒ ๋ฉ (Position Embedding)
ํธ๋์คํฌ๋จธ์์๋ ํฌ์ง์ ๋ ์ธ์ฝ๋ฉ(Positional Encoding)์ด๋ผ๋ ๋ฐฉ๋ฒ์ ํตํด์ ๋จ์ด์ ์์น ์ ๋ณด๋ฅผ ํํํ์ต๋๋ค.
ํฌ์ง์ ๋ ์ธ์ฝ๋ฉ์ ์ฌ์ธ, ์ฝ์ฌ์ธ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์์น์ ๋ฐ๋ผ ๋ค๋ฅธ ๊ฐ์ ๊ฐ์ง๋ ํ๋ ฌ์ ๋ง๋ค์ด ์ด๋ฅผ ๋จ์ด ๋ฒกํฐ๋ค๊ณผ ๋ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
BERT์์๋ ์ด์ ์ ์ฌํ์ง๋ง, ์์น ์ ๋ณด๋ฅผ ์ฌ์ธ ํจ์์ ์ฝ์ฌ์ธ ํจ์๋ก ๋ง๋๋ ๊ฒ์ด ์๋ ํ์ต์ ํตํด์ ์ป๋ ํฌ์ง์ ์๋ฒ ๋ฉ(Position Embedding)์ด๋ผ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํฉ๋๋ค.
์์ ๊ทธ๋ฆผ์ ํ ๋๋ก, Positional Embedding์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ณด๊ฒ ์ต๋๋ค.WordPiece Embedding์ ๋จ์ด ์๋ฒ ๋ฉ์ผ๋ก ์ค์ง์ ์ธ ์ ๋ ฅ์ ๋๋ค.๊ทธ๋ฆฌ๊ณ ์ด ์ ๋ ฅ์ ํฌ์ง์ ์๋ฒ ๋ฉ์ ํตํด์ ์์น ์ ๋ณด๋ฅผ ๋ํด์ฃผ์ด์ผ ํฉ๋๋ค.
ํฌ์ง์ ์๋ฒ ๋ฉ์ ์์ด๋์ด๋ ๊ต์ฅํ ๊ฐ๋จํ๋ฐ, ์์น ์ ๋ณด๋ฅผ ์ํ ์๋ฒ ๋ฉ ์ธต(Embedding layer)์ ํ๋ ๋ ์ฌ์ฉํฉ๋๋ค.
๋ฌธ์ฅ์ ๊ธธ์ด๊ฐ 4๋ผ๋ฉด 4๊ฐ์ ํฌ์ง์ ์๋ฒ ๋ฉ ๋ฒกํฐ๋ฅผ ํ์ต์ํจํ BERT์ ์ ๋ ฅ๋ง๋ค ๋ค์๊ณผ ๊ฐ์ด ํฌ์ง์ ์๋ฒ ๋ฉ ๋ฒกํฐ๋ฅผ ๋ํด์ค๋๋ค.
์ฒซ๋ฒ์งธ ๋จ์ด์ ์๋ฒ ๋ฉ ๋ฒกํฐ + 0๋ฒ ํฌ์ง์ ์๋ฒ ๋ฉ ๋ฒกํฐ
๋๋ฒ์งธ ๋จ์ด์ ์๋ฒ ๋ฉ ๋ฒกํฐ + 1๋ฒ ํฌ์ง์ ์๋ฒ ๋ฉ ๋ฒกํฐ
์ธ๋ฒ์งธ ๋จ์ด์ ์๋ฒ ๋ฉ ๋ฒกํฐ + 2๋ฒ ํฌ์ง์ ์๋ฒ ๋ฉ ๋ฒกํฐ
๋ค๋ฒ์งธ ๋จ์ด์ ์๋ฒ ๋ฉ ๋ฒกํฐ + 3๋ฒ ํฌ์ง์ ์๋ฒ ๋ฉ ๋ฒกํฐ
BERT์์๋ ๋ฌธ์ฅ์ ์ต๋ ๊ธธ์ด๋ฅผ 512๋ก ํ๊ณ ์์ผ๋ฏ๋ก, ์ด 512๊ฐ์ ํฌ์ง์ ์๋ฒ ๋ฉ ๋ฒกํฐ๊ฐ ํ์ต๋ฉ๋๋ค.
BERT์ 2๊ฐ์ ์๋ฒ ๋ฉ ์ธต์ด ์ฌ์ฉ๋๋ค๊ณ ํ๋ฉด? ๋จ์ด ์งํฉ์ ํฌ๊ธฐ๊ฐ 30,522๊ฐ์ธ ๋จ์ด ๋ฒกํฐ๋ฅผ ์ํ Embedding Layer๊ณผ
๋ฌธ์ฅ์ ์ต๋ ๊ธธ์ด๊ฐ 512์ด๋ฏ๋ก 512๊ฐ์ Position Vector๋ฅผ ์ํ Embedding Layer ์ ๋๋ค.
Segment Embedding(์ธ๊ทธ๋จผํธ ์๋ฒ ๋ฉ)
BERT ๋ชจ๋ธ์ ์ข ์ข 2๊ฐ ์ด์์ ๋ฌธ์ฅ input์ด ํ์ํ Task๊ฐ ์ฃผ์ด์ง๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
์ด๋, ๋ฌธ์ฅ ๊ตฌ๋ถ์ ํ๊ธฐ ์ํด์ Segment Embedding์ด๋ผ๋ ๋ ๋ค๋ฅธ Embedding Layer์ ์ฌ์ฉํ๊ธฐ๋ ํฉ๋๋ค.
์ฒซ๋ฒ์งธ ๋ฌธ์ฅ์๋ Sentence 0 ์๋ฒ ๋ฉ, ๋๋ฒ์งธ ๋ฌธ์ฅ์๋ Sentence 1 ์๋ฒ ๋ฉ์ ๋ํด์ฃผ๋ ๋ฐฉ์์ด๋ฉฐ ์๋ฒ ๋ฉ ๋ฒกํฐ๋ ๋ ๊ฐ๋ง ์ฌ์ฉ๋ฉ๋๋ค.
์ ๋ฆฌ๋ฅผ ํด๋ณด๋ฉด, ์์์ ์ค๋ช ํ์ง๋ง, BERT ๋ชจ๋ธ์์๋ 3๊ฐ์ Embedding Layer๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
WordPiece Embedding : ์ค์ง์ ์ธ ์ ๋ ฅ์ด ๋๋ ์๋ ์๋ฒ ๋ฉ. ์๋ฒ ๋ฉ ๋ฒกํฐ์ ์ข ๋ฅ๋ ๋จ์ด ์งํฉ์ ํฌ๊ธฐ๋ก 30,522๊ฐ.
Position Embedding : ์์น ์ ๋ณด๋ฅผ ํ์ตํ๊ธฐ ์ํ ์๋ฒ ๋ฉ. ์๋ฒ ๋ฉ ๋ฒกํฐ์ ์ข ๋ฅ๋ ๋ฌธ์ฅ์ ์ต๋ ๊ธธ์ด์ธ 512๊ฐ.
Segment Embedding : ๋ ๊ฐ์ ๋ฌธ์ฅ์ ๊ตฌ๋ถํ๊ธฐ ์ํ ์๋ฒ ๋ฉ. ์๋ฒ ๋ฉ ๋ฒกํฐ์ ์ข ๋ฅ๋ ๋ฌธ์ฅ์ ์ต๋ ๊ฐ์์ธ 2๊ฐ.
์ฐธ๊ณ ํด์ผ ํ ์ ์, BERT๊ฐ ๋ฌธ์ฅ ์ค๊ฐ์ ์๋ [SEP] Token๊ณผ ๋ ์ข ๋ฅ์ Segment Embedding์ ํตํด์ ๋ ๊ฐ์ ๋ฌธ์ฅ์ ๊ตฌ๋ถํ์ฌ ์ ๋ ฅ๋ฐ์ ์ ์๋ค๊ณ ํ์ง๋ง?
์ฌ๊ธฐ์ BERT์ ๋ ๊ฐ์ ๋ฌธ์ฅ์ด ๋ค์ด๊ฐ๋ค๋ ํํ์์์ ๋ฌธ์ฅ์ด๋ผ๋ ๊ฒ์ ์ค์ ์ฐ๋ฆฌ๊ฐ ์๊ณ ์๋ ๋ฌธ์ฅ์ ๋จ์๋ ์๋๋๋ค.
[SEP] Token๊ณผ Segment Embedding์ ๊ธฐ์ค์ผ๋ก ๊ตฌ๋ถ๋๋ [์ง๋ฌธ(Question), ๋ณธ๋ฌธ(Paragraph)]์ Text๋ฅผ ์ ๋ ฅ๋ฐ๋ ๊ฒฝ์ฐ๋ฉด?
๋ณธ๋ฌธ(Paragraph) 1๊ฐ๋ ์ฌ๋ฌ๊ฐ์ ๋ฌธ์ฅ์ผ๋ก ๊ตฌ์ฑ๋ ์๋ ์๋ค๋ ์ ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
์ฆ, BERT Model์ ๋ค์ด์ค๋ 2๊ฐ์ ๋ฌธ์ฅ์ ์ค์ ๋ก๋? ๋ ์ข ๋ฅ์ Text ์ผ์๋ ์์ต๋๋ค.
๊ทธ๋ ๋ค๊ณ ๊ผญ 2๊ฐ์ ๋ฌธ์ฅ์ ์ ๋ ฅ๋ฐ์์ผ ํ๋๊ฑด ์๋๋๋ค. Classification ์์ ์ ํ๋ ๊ฒฝ์ฐ์๋ ํ๋์ ๋ณธ๋ฌธ(Paragraph)์ ๊ฐ์ง๊ณ ๋ถ๋ฅ๋ฅผ ํ๊ธฐ ๋๋ฌธ์, BERT ๋ชจ๋ธ์ ์ ์ฒด ์ ๋ ฅ์ Sentence 0 Embedding๋ง ๋ํด์ค๋๋ค.
BERT Model ํน์ Token
BERT๋ ์ ๋ ฅ ์ํ์ค์ ํน์ ํ ํฐ์ ์ถ๊ฐํ์ฌ ๋ชจ๋ธ์ ์ดํด๋๋ฅผ ๋์ ๋๋ค.
- [CLS] ํ ํฐ
- ์ ๋ ฅ์ ์์ ๋ถ๋ถ์ ์ถ๊ฐ๋๋ ํ ํฐ์ผ๋ก, ์ ์ฒด ์ํ์ค์ ๋ํ ๋ฒกํฐ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
- ๋ถ๋ฅ ์์ ์์ ์ด ํ ํฐ์ ์ถ๋ ฅ ๋ฒกํฐ๋ฅผ ํ์ฉํฉ๋๋ค.
- [SEP] ํ ํฐ
- ๋ฌธ์ฅ ๋๋ ์ธ๊ทธ๋จผํธ์ ๊ตฌ๋ถ์ ๋ํ๋ด๋ ํ ํฐ์ ๋๋ค.
- ๋ ๋ฌธ์ฅ์ ์ ๋ ฅํ ๋ ๊ฐ ๋ฌธ์ฅ ๋ค์ [SEP] ํ ํฐ์ ์ถ๊ฐํฉ๋๋ค.
[CLS] ๋ฌธ์ฅ1์ ๋ด์ฉ [SEP] ๋ฌธ์ฅ2์ ๋ด์ฉ [SEP]
BERT์์์ Self-Attention
BERT ๋ชจ๋ธ์์์ Attention ๋งค์ปค๋์ฆ์ ๋ฐํ์ฌ ์ค๋ช ์ ํด๋ณด๋ฉด, ๋จ์ด๋ค์ด ์๋ก ์ด๋ป๊ฒ ๊ด๋ จ๋์ด ์๋์ง ํ์ตํ์ฌ ๋ฌธ๋งฅ ์ดํด๋ฅผ ๋์ต๋๋ค.
๊ฐ ๋จ์ด์ ์ฟผ๋ฆฌ(Query), ํค(Key), ๊ฐ(Value)๋ฅผ ๊ณ์ฐํ์ฌ ์ดํ ์ ๊ฐ์ค์น๋ฅผ ๊ตฌํฉ๋๋ค.
์์๋ก Input Sequence๋ฅผ "์ด์ ์นดํ ๊ฐ์์ด [MASK] ์ฌ๋ ๋ง๋๋ผ" ๋ผ๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค.
์๋์ ๊ทธ๋ฆผ์ ๋ณด๋ฉด, BERT ๋ชจ๋ธ์ [MASK] Token ์๋ค ๋ฌธ๋งฅ์ ๋ชจ๋ ์ฐธ๊ณ ํ ์ ์์ต๋๋ค.
[MASK]๋ผ๋ ๋จ์ด์ ๋์ํ๋ BERT์ ๋ง์ง๋ง Layer์ ์ถ๋ ฅ ๊ฒฐ๊ณผ์ ์ ํ ๋ณํ๊ณผ Softmax ํจ์๋ฅผ ์ ์ฉํด, ์์๊ฐ ๊ฐ๊ฐ์ด ํ๋ฅ ์ด๊ณ ,
ํ์ต ๋์์ ์ธ์ด์ ์ดํ์ ๋งํผ ์ฐจ์์๋ฅผ ๊ฐ์ง ๋ฒกํฐ๊ฐ ๋๋๋ก ํฉ๋๋ค.
๋น์นธ์ ์ ๋ต์ธ ๊ฑฐ๊ธฐ์ ํด๋นํ๋ ํ๋ฅ ์ ๋์ด๊ณ ๋๋จธ์ง ๋จ์ด์ ํ๋ฅ ์ด ๋ฎ์์ง๋๋ก ๋ชจ๋ธ ์ ์ฒด๋ฅผ ์ ๋ฐ์ดํธ ํฉ๋๋ค.
์๋์ ๊ธ์ Self-Attention์ ๊ดํ์ฌ ์์ธํ ์ ๋ฆฌํด ๋์์ผ๋ ์ฐธ๊ณ ํด์ฃผ์ธ์!
Attention Mask (์ดํ ์ ๋ง์คํฌ)
์์์ [MASK]๋ผ๋ Token์ด ๋์์ ๊ทธ ๋ด์ฉ์ ๊ดํ์ฌ ์ค๋ช ์ ํด๋ณด๊ฒ ์ต๋๋ค.
BERT Model์ ๋๋ฆด๋, Attention Mask๋ผ๋ Sequence Input์ด ํ์ํ ๋๊ฐ ์์ต๋๋ค.
Attention Mask๋ BERT๊ฐ Attention ์ฐ์ฐ์ ํ ๋, ๋ถํ์ํ Padding Token์ ๋ํด์ Attention์ ํ์ง ์๋๋ก ์ค์ ๋จ์ด์ Padding Token์ ๊ตฌ๋ถํ ์ ์๋๋ก ์๋ ค์ฃผ๋ ์ ๋ ฅ์ ๋๋ค.
Attention Mask๊ฐ์ 0๊ณผ 1 ๋๊ฐ์ง๊ฐ ์๋๋ฐ, ์ซ์ 1์ ํด๋น ํ ํฐ์ ์ค์ ๋จ์ด์ด๋ฏ๋ก Masking์ ํ์ง ์๋๋ค๋ผ๋ ์๋ฏธ์ด๊ณ ,
์ซ์ 0์ ํด๋น ํ ํฐ์ Padding Token์ด๋ฏ๋ก Masking์ ํ๋ค๋ ์๋ฏธ์
๋๋ค.
๊ฐ์ด ์ค์ ๋จ์ด์ ์์น์๋ 1, Padding Token์ ์์น์๋ 0์ ๊ฐ์ ๊ฐ์ง๊ณ Sequence๋ฅผ ๋ง๋ค์ด BERT์ ๋ ๋ค๋ฅธ Input์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
BERT Model์ Input Data์ ์ฒ๋ฆฌ ๊ณผ์
๊ทธ๋ฌ๋ฉด BERT Model์ ๋ค์ด๊ฐ๋ ๊ฐ๋ ์ ์ ๋ฆฌ๋ฅผ ํด๋ณธ๊ฒ ๊ฐ์ผ๋, Input Data์ ์ฒ๋ฆฌ๊ณผ์ ์ ํ๋ฒ ๊ฐ๋ตํ๊ฒ ์์ฝํด ๋ณด๊ฒ ์ต๋๋ค.
์ ์ฒ๋ฆฌ
- ์ ๋ ฅ ํ ์คํธ๋ฅผ ํ ํฌ๋์ด์งํ์ฌ ํ ํฐ ๋ฆฌ์คํธ๋ก ๋ณํํฉ๋๋ค.
- ํ ํฐ ๋ฆฌ์คํธ์ [CLS]์ [SEP] ํ ํฐ์ ์ถ๊ฐํฉ๋๋ค.
- ์ธ๊ทธ๋จผํธ์ ํฌ์ง์ ์๋ฒ ๋ฉ์ ์์ฑํฉ๋๋ค.
๋ชจ๋ธ ์ ๋ ฅ
- ์ ๋ ฅ ์๋ฒ ๋ฉ(ํ ํฐ ์๋ฒ ๋ฉ + ์ธ๊ทธ๋จผํธ ์๋ฒ ๋ฉ + ํฌ์ง์ ์๋ฒ ๋ฉ)์ ๋ชจ๋ธ์ ์ ๋ฌํฉ๋๋ค.
์ถ๋ ฅ
- ๊ฐ ํ ํฐ์ ๋ํ ์ปจํ ์คํธ๊ฐ ๋ฐ์๋ ๋ฒกํฐ ํํ์ ์ป์ต๋๋ค.
- [CLS] ํ ํฐ์ ๋ฒกํฐ๋ ์ ์ฒด ์ ๋ ฅ์ ๋ํ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
BERT Model์ Pre-Training
BERT Model์์ ์ฌ์ ํ์ต(Pre-training)์ ๋ํ์ฌ ์ ๋ฆฌ๋ฅผ ํด๋ณด๊ฒ ์ต๋๋ค.
BERT ๋ชจ๋ธ์์ ์ฌ์ ํ์ต(Pre-Training) ์ ๋๊ท๋ชจ์ Text Corpus๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ์ด ์ผ๋ฐ์ ์ธ ์ธ์ด์ ๊ตฌ์กฐ์ ํจํด์ ํ์ตํ๋ ๋จ๊ณ์ ๋๋ค. BERT๋ ๋ ๊ฐ์ง ์ฃผ์ ๋ชฉํ๋ฅผ ํตํด ์ฌ์ ํ์ต์ ์งํํฉ๋๋ค
- Masked Language Model(MLM)
- Next Sentence Prediction(NSP)
Masked Language Model, MLM (๋ง์คํฌ๋ ์ธ์ด ๋ชจ๋ธ)
BERT๋ ์ฌ์ ํ๋ จ์ ์ํด์ ์ธ๊ณต ์ ๊ฒฝ๋ง์ ์ ๋ ฅ์ผ๋ก ๋ค์ด๊ฐ๋ ์ ๋ ฅ ํ ์คํธ์ 15%์ ๋จ์ด๋ฅผ ๋๋ค์ผ๋ก ๋ง์คํน(Masking)ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ธ๊ณต ์ ๊ฒฝ๋ง์๊ฒ ์ด ๊ฐ๋ ค์ง ๋จ์ด๋ค์(Masked words) ์์ธกํ๋๋ก ํฉ๋๋ค.
์ค๊ฐ์ ๋จ์ด๋ค์ ๊ตฌ๋ฉ์ ๋ซ์ด๋๊ณ , ๊ตฌ๋ฉ์ ๋ค์ด๊ฐ ๋จ์ด๋ค์ ์์ธกํ๊ฒ ํ๋ ์์ ๋๋ค.
์๋ฅผ ๋ค์ด '๊ทธ๋ ์คํ์ [MASK] ์ด๋์ ํ๊ณ ํ๊ต๋ก ๋์๊ฐ๋ค.'๋ฅผ ์ฃผ๊ณ '๊ณต์์์'๋ฅผ ๋ง์ถ๊ฒ ํฉ๋๋ค.
๋ ์ ํํ๋ ์ ๋ถ [MASK]๋ก ๋ณ๊ฒฝํ์ง๋ ์๊ณ , ๋๋ค์ผ๋ก ์ ํ๋ 15%์ ๋จ์ด๋ค์ ๋ค์ ๋ค์๊ณผ ๊ฐ์ ๋น์จ๋ก ๊ท์น์ด ์ ์ฉ๋ฉ๋๋ค.
80%์ ๋จ์ด๋ค์ [MASK]๋ก ๋ณ๊ฒฝํ๋ค.
Ex) '๊ณต์์์' → '[MASK]'
10%์ ๋จ์ด๋ค์ ๋๋ค์ผ๋ก ๋จ์ด๊ฐ ๋ณ๊ฒฝ๋๋ค.
Ex) '์ง์ผ๋ก' → 'ํ๊ต๋ก'
10%์ ๋จ์ด๋ค์ ๋์ผํ๊ฒ ๋๋ค.
Ex) '๋์๊ฐ๋ค' → '๋์๊ฐ๋ค'
์ด๋ ๊ฒ ํ๋ ์ด์ ๋ [MASK]๋ง ์ฌ์ฉํ ๊ฒฝ์ฐ์๋ [MASK] ํ ํฐ์ด Fine-Tuning ๋จ๊ณ์์๋ ๋ํ๋์ง ์์ผ๋ฏ๋ก
Pre-Training(์ฌ์ ํ์ต)๋จ๊ณ์ Fine-Tuning ๋จ๊ณ์์์ ๋ถ์ผ์น๊ฐ ๋ฐ์ํ๋ ๋ฌธ์ ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ด๋ฌํ ๋ฌธ์ ์ ์ํํ๊ธฐ ์ํด์ ๋๋ค์ผ๋ก ์ ํ๋ 15%์ ๋จ์ด๋ค์ ๋ชจ๋ ํ ํฐ์ [MASK]๋ก ์ฌ์ฉํ์ง ์๋๋ค๋ ํน์ง์ด ์์ต๋๋ค.
์ ์ฒด ๋จ์ด์ 85%๋ MLM ์ ํ์ต์ ์ฌ์ฉ๋์ง ์์ต๋๋ค. MLM์ ํ์ต์ ์ฌ์ฉ๋๋ ๋จ์ด๋ ์ ์ฒด ๋จ์ด์ 15%์ ๋๋ค.
- 12%๋ [MASK]๋ก ๋ณ๊ฒฝ ํ์ ์๋ ๋จ์ด๋ฅผ ์์ธกํฉ๋๋ค.
- 1.5%๋ ๋๋ค์ผ๋ก ๋จ์ด๊ฐ ๋ณ๊ฒฝ๋ ํ์ ์๋ ๋จ์ด๋ฅผ ์์ธกํฉ๋๋ค.
- 1.5%๋ ๋จ์ด๊ฐ ๋ณ๊ฒฝ๋์ง๋ ์์์ง๋ง, BERT๋ ์ด ๋จ์ด๊ฐ ๋ณ๊ฒฝ๋ ๋จ์ด์ธ์ง ์๋ ๋จ์ด๊ฐ ๋ง๋์ง๋ ์ ์ ์์ต๋๋ค.
์ด ๊ฒฝ์ฐ์๋ BERT๋ ์๋ ๋จ์ด๊ฐ ๋ฌด์์ธ์ง๋ฅผ ์์ธกํ๋๋ก ํฉ๋๋ค.
๋ค์, ์์๋ฅผ ๋ค์ด๋ณด๋ฉด, 'My dog is cute. he likes playing'์ด๋ผ๋ ๋ฌธ์ฅ์ MLM์ผ๋ก ํ์ตํ์๊ณ ํ๋ฉด?
์ ์ฒ๋ฆฌ + BERT์ Subword tokenizer์ ์ํด ์ด ๋ฌธ์ฅ์ ['my', 'dog', 'is' 'cute', 'he', 'likes', 'play', '##ing']๋ก ํ ํฐํ๊ฐ ๋ฉ๋๋ค.
๊ทธํ BERT์ Input์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ธ์ด๋ชจ๋ธ ํ์ต์ ์ํด์ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ ๋์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
'dog' ํ ํฐ์ [MASK]๋ก ๋ณ๊ฒฝ
๊ทธ๋ฆผ์ ๋ณด๋ฉด, 'dog' ํ ํฐ์ด [MASK]๋ก ๋ณ๊ฒฝ๋ ํ, BERT Model์ด ์๋ ๋จ์ด๋ฅผ ๋ง์ถ๋ ค๊ณ ํ๋ ๋ชจ์ต์ ๋ณผ ์ ์์ต๋๋ค.
Output Layer์ ์๋ ๋ค๋ฅธ ์์น์ Vector๋ค์ Predict(์์ธก)๊ณผ Train(ํ์ต)์ ์ฌ์ฉ๋์ง ์๊ณ , ์ค์ง 'dog'์์น์ Output Layer์ Vector๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
๊ฒฐ๋ก ์ Output Layer์์๋ Predict(์์ธก)์ ์ํด ๋จ์ด ์งํฉ์ ํฌ๊ธฐ๋งํผ์ ๋ฐ์ง์ธต(Dense layer)์ softmax ํจ์๊ฐ ์ฌ์ฉ๋ 1๊ฐ์ Layer ์ ์ฌ์ฉํ์ฌ ์๋ ๋จ์ด๊ฐ ๋ฌด์์ธ์ง๋ฅผ ๋ง์ถ๊ฒ ๋ฉ๋๋ค.
Masked Language Model, MLM (๋ง์คํฌ๋ ์ธ์ด ๋ชจ๋ธ)์ ์ฅ์
- ์๋ฐฉํฅ์ฑ ํ๋ณด: ์๋ค ๋ฌธ๋งฅ์ ๋ชจ๋ ํ์ฉํ์ฌ ๋จ์ด๋ฅผ ์์ธกํ๋ฏ๋ก, ๋จ์ด์ ์ ํํ ์๋ฏธ ํ์ ์ด ๊ฐ๋ฅํฉ๋๋ค.
- ์ผ๋ฐํ ๋ฅ๋ ฅ ํฅ์: ๋ค์ํ ๋ฌธ๋งฅ์์ ๋จ์ด์ ์ฌ์ฉ์ ํ์ตํ์ฌ, ์๋ก์ด ๋ฌธ์ฅ์์๋ ์ฐ์ํ ์ฑ๋ฅ์ ๋ณด์ ๋๋ค.
Pre-Training(์ฌ์ ํ์ต)๊ณผ Fine-Tuning(ํ์ธ ํ๋)๋จ๊ณ์ ๋ถ์ผ์น
BERT์ ์ฌ์ ํ์ต ๋จ๊ณ์์ Masked Language Model(MLM)์ ์ฌ์ฉํ ๋, ์ ๋ ฅ ๋ฌธ์ฅ์ 15%์ ๋จ์ด๋ฅผ ๋ฌด์์๋ก ์ ํํ์ฌ ๋ง์คํนํฉ๋๋ค. ํ์ง๋ง ์ด ์ ํ๋ ๋จ์ด๋ค์ ๋ชจ๋ [MASK] ํ ํฐ์ผ๋ก ๋์ฒดํ์ง๋ ์์ต๋๋ค.
- Pre-Training(์ฌ์ ํ์ต) ๋จ๊ณ์์๋ ๋ชจ๋ธ์ด [MASK] ํ ํฐ์ ๋ณด๊ณ ๊ทธ ์๋ฆฌ์ ์ด๋ค ๋จ์ด๊ฐ ์์ผ ํ ์ง ์์ธกํ๋๋ก ํ์ตํฉ๋๋ค.
- ํ์ง๋ง Fine-Tuning(๋ฏธ์ธ ์กฐ์ ) ๋จ๊ณ๋ ์ค์ ์์ฉ ๋จ๊ณ์์๋ [MASK] ํ ํฐ์ด ์ ๋ ฅ์ ๋ฑ์ฅํ์ง ์์ต๋๋ค.
- ๋ฐ๋ผ์ ๋ชจ๋ ๋ง์คํน๋ ๋จ์ด๋ฅผ [MASK]๋ก๋ง ๋์ฒดํ๋ฉด, ๋ชจ๋ธ์ [MASK] ํ ํฐ์ด ์์ ๋๋ง ๋จ์ด๋ฅผ ์์ธกํ๋ ๋ฐ ์ต์ํด์ง๋๋ค.
- ์ด๋ Pre-Training(์ฌ์ ํ์ต)๊ณผ Fine-Tuning(ํ์ธ ํ๋)๋จ๊ณ ์ฌ์ด์ ๋ถ์ผ์น(mismatch)๋ฅผ ๋ฐ์์์ผ, ์ค์ ์ฌ์ฉ ์ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ์ ํ์ํฌ ์ ์์ต๋๋ค.
ํด๊ฒฐ์ฑ : ๋ง์คํน๋ ๋จ์ด๋ค์ ๋ค์ํ
์ด๋ฅผ ์ํํ๊ธฐ ์ํด, ์ ํ๋ 15%์ ๋จ์ด๋ค์ ๋ค์๊ณผ ๊ฐ์ด ์ฒ๋ฆฌํฉ๋๋ค.
80%๋ [MASK] ํ ํฐ์ผ๋ก ๋์ฒดํฉ๋๋ค.
์: "๋๋ **[MASK]**๋ฅผ ๋จน์๋ค.
10%๋ ์๋ ๋จ์ด ๊ทธ๋๋ก ์ ์งํฉ๋๋ค.
์: "๋๋ ์ฌ๊ณผ๋ฅผ ๋จน์๋ค.
10%๋ ๋ฌด์์ ๋ค๋ฅธ ๋จ์ด๋ก ๋์ฒดํฉ๋๋ค.
์: "๋๋ ๋ฐ๋๋๋ฅผ ๋จน์๋ค."
BERT ๋ชจ๋ธ์ [MASK] ํ ํฐ์ด ์๋ ๊ฒฝ์ฐ๋ฟ๋ง ์๋๋ผ, ์๋ ๋จ์ด๊ฐ ์ ์ง๋๊ฑฐ๋ ๋ค๋ฅธ ๋จ์ด๋ก ๋์ฒด๋ ๊ฒฝ์ฐ์๋ ๋จ์ด๋ฅผ ์์ธกํ๋ ๋ฐฉ๋ฒ์ ํ์ตํฉ๋๋ค.
Fine-Tuning(๋จ๊ณ)์ ์ค์ ์์ฉ ๋จ๊ณ์์๋ [MASK] ํ ํฐ์ด ์๊ธฐ ๋๋ฌธ์, ๋ชจ๋ธ์ด [MASK] ์์ด๋ ๋จ์ด ์์ธก์ ์ ์ํํ ์ ์๊ฒ ๋ฉ๋๋ค.
๋ํ ๋ค์ํ ํํ์ ์ ๋ ฅ์ ๊ฒฝํํจ์ผ๋ก์จ, ๋ชจ๋ธ์ Predict(์์ธก) ๋ฅ๋ ฅ์ด ํฅ์๋๊ณ Overfitting(๊ณผ์ ํฉ)์ ๋ฐฉ์งํ ์ ์์ต๋๋ค.
Next Sentence Prediction, NSP (๋ค์ ๋ฌธ์ฅ ์์ธก)
BERT๋ ๋ ๊ฐ์ ๋ฌธ์ฅ์ ์ค ํ์ ์ด ๋ฌธ์ฅ์ด ์ด์ด์ง๋ ๋ฌธ์ฅ์ธ์ง ์๋์ง๋ฅผ ๋ง์ถ๋ ๋ฐฉ์์ผ๋ก ํ๋ จ์ํต๋๋ค.
50:50 ๋น์จ๋ก ์ค์ ์ด์ด์ง๋ ๋ ๊ฐ์ ๋ฌธ์ฅ๊ณผ ๋๋ค์ผ๋ก ์ด์ด๋ถ์ธ ๋ ๊ฐ์ ๋ฌธ์ฅ์ ์ฃผ๊ณ ํ๋ จ์ํต๋๋ค.
์๋ฅผ๋ค์ด Sentence A์ Sentence B๋ผ๊ณ ํ์์ ๋, ๋ฌธ์ฅ์ ์ฐ์์ฑ์ ํ์ธํ ๊ฒฝ์ฐ์ ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ๋ฅผ ๋ณด์ฌ์ค๋๋ค.
์ด์ด์ง๋ ๋ฌธ์ฅ์ ๊ฒฝ์ฐ
Sentence A : The man went to the store.
Sentence B : He bought a gallon of milk.
Label = IsNextSentence
์ด์ด์ง๋ ๋ฌธ์ฅ์ด ์๋ ๊ฒฝ์ฐ ๊ฒฝ์ฐ
Sentence A : The man went to the store.
Sentence B : dogs are so cute.
Label = NotNextSentence
์์์ ์ค๋ช ํ๋ฏ์ด, BERT์ ์ ๋ ฅ์ผ๋ก ๋ฃ์ ๋์๋ [SEP]๋ผ๋ ํน๋ณ Token์ ์ฌ์ฉํด์ ๋ฌธ์ฅ์ ๊ตฌ๋ถํฉ๋๋ค.
์ฒซ๋ฒ์งธ ๋ฌธ์ฅ์ ๋์ [SEP] Token์ ๋ฃ๊ณ , ๋๋ฒ์งธ ๋ฌธ์ฅ์ด ๋๋๋ฉด ์ญ์ [SEP] Token์ ๋ถ์ฌ์ค๋๋ค.
์ด ๋ ๋ฌธ์ฅ์ด ์ค์ ์ด์ด์ง๋ ๋ฌธ์ฅ์ธ์ง ์๋์ง๋ฅผ [CLS] Token์ ์์น์ Output Layer์์ Binary Classification ๋ฌธ์ ๋ฅผ ํ๋๋ก ํฉ๋๋ค.
[CLS] ํ ํฐ์ BERT๊ฐ ๋ถ๋ฅ ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด ์ถ๊ฐ๋ ํน๋ณ Token ์ ๋๋ค.
์์ ๊ทธ๋ฆผ์์ ๋ํ๋ ๊ฒ๊ณผ ๊ฐ์ด MLM๊ณผ ๋ค์ ๋ฌธ์ฅ ์์ธก์ ๋ฐ๋ก ํ์ตํ๋ ๊ฒ์ด ์๋ loss๋ฅผ ํฉํ์ฌ ํ์ต์ด ๋์์ ์ด๋ฃจ์ด์ง๋๋ค.
Next Sentence Prediction, NSP (๋ค์ ๋ฌธ์ฅ ์์ธก)์ ์ฅ์
- ๋ฌธ์ฅ ๋ ๋ฒจ ์ดํด ๊ฐํ: ๋จ์ด ์์ค์ ๋์ด ๋ฌธ์ฅ ๊ฐ์ ๊ด๊ณ๋ฅผ ํ์ตํ์ฌ, ๋ฌธ์ ์ดํด ๋ฅ๋ ฅ์ ํฅ์์ํต๋๋ค.
- ๋ค์ํ ์์ ์ ๊ธฐ์ฌ: ์์ฐ์ด ์ถ๋ก , ๋ฌธ์ฅ ์ ์ฌ๋ ์ธก์ ๋ฑ ๋ฌธ์ฅ ๊ด๊ณ๋ฅผ ํ์๋ก ํ๋ ์์ ์์ ์ฑ๋ฅ์ ๋์ ๋๋ค.
BERT Model์ Fine-Tuning
Pre-Trained(์ฌ์ ํ์ต)๋ BERT ๋ชจ๋ธ์ ์ผ๋ฐ์ ์ธ ์ธ์ด ์ดํด ๋ฅ๋ ฅ์ ๊ฐ์ถ๊ณ ์์ผ๋ฏ๋ก, ํน์ NLP ์์ ์ ๋ง๊ฒ ๋ชจ๋ธ์ ์กฐ์ ํ๋ Fine-Tuning(๋ฏธ์ธ ์กฐ์ )๊ณผ์ ์ ๊ฑฐ์นฉ๋๋ค. ์ด ๋จ๊ณ์์๋ ๋น๊ต์ ์๋์ ๋ผ๋ฒจ๋ง๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ Model์ Optimization(์ต์ ํ)ํฉ๋๋ค.
๋ค์ํ NLP๊ด๋ จ Task์ ์ ์ฉ์ ํ ์ ์๋๋ฐ, ์๋ ์ฌ๋ฌ๊ฐ์ ์์ ๋ค์ด ์์ต๋๋ค.
ํ ์คํธ ๋ถ๋ฅ(Text Classification)
- ์ ์ฉ ๋ถ์ผ: ๊ฐ์ ๋ถ์, ์คํธ ํํฐ๋ง, ์ฃผ์ ๋ถ๋ฅ ๋ฑ.
- ๋ฐฉ๋ฒ: [CLS] ํ ํฐ์ ์ถ๋ ฅ์ ํ์ฉํ์ฌ ๋ฌธ์ฅ์ ๋ํ ๋ฒกํฐ๋ฅผ ์ป๊ณ , ์ด๋ฅผ ๋ถ๋ฅ๊ธฐ๋ก ์ ๋ ฅํฉ๋๋ค.
์ง์ ์๋ต(Question Answering)
- ์ ์ฉ ๋ถ์ผ: SQuAD์ ๊ฐ์ ๋ฐ์ดํฐ์ ์์ ์ง๋ฌธ์ ๋ํ ์ ํํ ๋ต๋ณ ์ถ์ถ.
- ๋ฐฉ๋ฒ: ์ ๋ ฅ ํ ์คํธ์ ์ง๋ฌธ์ ํจ๊ป ๋ชจ๋ธ์ ์ ๋ ฅํ๊ณ , ๋ต๋ณ์ ์์๊ณผ ๋ ์์น๋ฅผ ์์ธกํฉ๋๋ค.
์์ฐ์ด ์ถ๋ก (Natural Language Inference)
- ์ ์ฉ ๋ถ์ผ: ๋ ๋ฌธ์ฅ ๊ฐ์ ๋ ผ๋ฆฌ์ ๊ด๊ณ(์: ์ฐธ, ๊ฑฐ์ง, ์ค๋ฆฝ) ํ๋จ.
- ๋ฐฉ๋ฒ: ๋ ๋ฌธ์ฅ์ ์ ๋ ฅํ์ฌ [CLS] ํ ํฐ์ ์ถ๋ ฅ์ ๋ถ๋ฅ๊ธฐ๋ก ์ฌ์ฉํฉ๋๋ค.
์ด๋ฆ ์ธ์(Named Entity Recognition)
- ์ ์ฉ ๋ถ์ผ: ํ ์คํธ์์ ์ฌ๋, ์ฅ์, ์กฐ์ง ๋ฑ์ ๊ณ ์ ๋ช ์ฌ ์๋ณ.
- ๋ฐฉ๋ฒ: ๊ฐ ํ ํฐ์ ์ถ๋ ฅ์ ํ์ฉํ์ฌ ํด๋น ํ ํฐ์ ์ํฐํฐ ์ข ๋ฅ๋ฅผ ์์ธกํฉ๋๋ค.
์ด ์์ ์ ์ค์์ ํ ์คํธ ๋ถ๋ฅ(Text Classification), ์ง์ ์๋ต(Question Answering)์ ๋ฐํ์ฌ ํ๋ฒ ์์๋ณด๊ฒ ์ต๋๋ค.
Single Text Classification (ํ๋์ ํ ์คํธ ๋ถ๋ฅ ์ ํ)
์ด ์ ํ์ ์ํ ๋ฆฌ๋ทฐ ๊ฐ์ฑ ๋ถ๋ฅ, ๋ก์ดํฐ ๋ด์ค ๋ถ๋ฅ ๋ฑ๊ณผ ๊ฐ์ด ์ ๋ ฅ๋ ๋ฌธ์์ ๋ํด์ ๋ถ๋ฅ๋ฅผ ํ๋ ์ ํ์ ๋๋ค.
๋ฌธ์์ ์์์ [CLS] ๋ผ๋ ํ ํฐ์ ์ ๋ ฅํฉ๋๋ค.
์์ ์ฌ์ ํ๋ จ ๋จ๊ณ์์ ๋ค์ ๋ฌธ์ฅ ์์ธก์ ์ค๋ช ํ ๋, [CLS] ํ ํฐ์ BERT๊ฐ ๋ถ๋ฅ ๋ฌธ์ ๋ฅผ ํ๊ธฐ์ํ ํน๋ณ ํ ํฐ์ด๋ผ๊ณ ์ธ๊ธํ ๋ฐ ์์ต๋๋ค. BERT๋ฅผ ์ค์ง์ ์ผ๋ก ์ฌ์ฉํ๋ ๋จ๊ณ์ธ ํ์ธ ํ๋ ๋จ๊ณ์์๋ ์ ์ฉ๋ฉ๋๋ค.
Text Classification ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด์ [CLS] ํ ํฐ์ ์์น์ Output Layer์์ ๋ฐ์ง์ธต(Dense layer) ๋๋ ๊ฐ์ ์ด๋ฆ์ผ๋ก๋ ์์ ์ฐ๊ฒฐ์ธต(fully-connected layer)์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ Layer๋ค์ ์ถ๊ฐํ์ฌ Classification์ ๋ํ predict์ ํ๊ฒ๋ฉ๋๋ค.
Tagging (ํ๋์ ํ ์คํธ์ ๋ฐํ ํ๊น ์์ )
BERT๋ฅผ ์ฌ์ฉํ๋ ๋๋ฒ์งธ ์ ํ์ ํ๊น ์์ ์ ๋๋ค.
์์ RNN ๊ณ์ด์ ์ ๊ฒฝ๋ง๋ค์ ์ด์ฉํด์ ํ์๋ ํ์คํฌ์ ๋๋ค.
๋ํ์ ์ผ๋ก ๋ฌธ์ฅ์ ๊ฐ ๋จ์ด์ ํ์ฌ๋ฅผ ํ๊น ํ๋ ํ์ฌ ํ๊น ์์ ๊ณผ ๊ฐ์ฒด๋ฅผ ํ๊น ํ๋ ๊ฐ์ฒด๋ช ์ธ์ ์์ ์ด ์์ต๋๋ค.
์ถ๋ ฅ์ธต์์๋ ์ ๋ ฅ ํ ์คํธ์ ๊ฐ ํ ํฐ์ ์์น์ ๋ฐ์ง์ธต์ ์ฌ์ฉํ์ฌ ๋ถ๋ฅ์ ๋ํ ์์ธก์ ํ๊ฒ ๋ฉ๋๋ค.
Text Pair Classification or Regression (ํ ์คํธ ์ ๋ถ๋ฅ or ํ๊ท ๋ฌธ์ )
BERT๋ Text์ Pair์ ์ ๋ ฅ์ผ๋ก ๋ฐ๋ Task๋ ํ ์ ์์ต๋๋ค.
Text ์์ ์ ๋ ฅ์ผ๋ก ๋ฐ๋ Task๋ก ์์ฐ์ด ์ถ๋ก (Natural language inference)์ด ์์ต๋๋ค.
๋ ๋ฌธ์ฅ์ด ์ฃผ์ด์ก์ ๋, ํ๋์ ๋ฌธ์ฅ์ด ๋ค๋ฅธ ๋ฌธ์ฅ๊ณผ ๋ ผ๋ฆฌ์ ์ผ๋ก ์ด๋ค ๊ด๊ณ์ ์๋์ง๋ฅผ ๋ถ๋ฅํ๋ ๊ฒ์ ๋๋ค.
์ ํ์ผ๋ก๋ ๋ชจ์ ๊ด๊ณ(contradiction), ํจ์ ๊ด๊ณ(entailment), ์ค๋ฆฝ ๊ด๊ณ(neutral)๊ฐ ์์ต๋๋ค.
Text์ Pair์ ์ ๋ ฅ๋ฐ๋ Task์ ๊ฒฝ์ฐ์๋ ์์ ์ค๋ช ํ๋ฏ์ด, ์ ๋ ฅ ํ ์คํธ๊ฐ 1๊ฐ๊ฐ ์๋๋ฏ๋ก, ํ ์คํธ ์ฌ์ด์ [SEP] ํ ํฐ์ ์ง์ด๋ฃ๊ณ , Sentence 0, Sentence 1 ์๋ฒ ๋ฉ์ด๋ผ๋ Segment Embedding ์ ์ฌ์ฉํ์ฌ ๊ตฌ๋ถํฉ๋๋ค.
Question Answering (์ง์ ์๋ต)
Text์ Pair์ ์ ๋ ฅ๋ฐ๋ ๋ ๋ค๋ฅธ Task๋ก QA(Question Answering)๊ฐ ์์ต๋๋ค.
BERT๋ก QA๋ฅผ ํ๊ธฐ ์ํด์ Question(์ง๋ฌธ)๊ณผ Paragraph(๋ณธ๋ฌธ)์ด๋ผ๋ ๋ ๊ฐ์ Text์ Pair์ ์ ๋ ฅํฉ๋๋ค.
์ด Task์ ๋ํ์ ์ธ Dataset์ผ๋ก SQuAD(Stanford Question Answering Dataset)์ด ์์ต๋๋ค.
BERT Model์์ Pre-Training(์ฌ์ ํ์ต)๊ณผ Fine-Tuning(๋ฏธ์ธ ์กฐ์ )์ ์๋์ง ํจ๊ณผ
ํฌ๊ฒ 3๊ฐ์ง์ ํจ๊ณผ๊ฐ ์์ต๋๋ค.
ํจ์จ์ฑ ์ฆ๋
- ๋๋์ Unsupervised(๋น์ง๋) ๋ฐ์ดํฐ๋ก ์ฌ์ ํ์ต์ ์ํํ์ฌ, ์๋์ Supervised(์ง๋) ๋ฐ์ดํฐ๋ก๋ ์ฐ์ํ ์ฑ๋ฅ์ ์ป์ ์ ์์ต๋๋ค.
์ ์ด ํ์ต(Transfer Learning)
- Pre-Training(์ฌ์ ํ์ต)๋ ์ง์์ ๋ค์ํ Task์ ์ ์ฉํ์ฌ, ์๋ก์ด ๋ชจ๋ธ์ ์ฒ์๋ถํฐ ํ์ตํ๋ ๊ฒ๋ณด๋ค ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ํ์ตํฉ๋๋ค.
์ผ๋ฐํ ๋ฅ๋ ฅ ํฅ์
- Pre-Training(์ฌ์ ํ์ต)์ ํตํด ๋ค์ํ ์ธ์ด ํจํด์ ํ์ตํ์๊ธฐ ๋๋ฌธ์, ์๋ก์ด ๋ฐ์ดํฐ์๋ ์ ์ ์ฉ๋ฉ๋๋ค.
Fine-Tuning์ ๊ณ ๋ คํด์ผ ํ ์ .
๋ค๋ง BERT Model์์ Fine-Tuning์ ์ฐ๋ฆฌ๊ฐ ๊ณ ๋ คํด์ผ ํ ์ ๋ค์ด ์์ต๋๋ค.
- Overfitting(์ค๋ฒํผํ
) ๋ฐฉ์ง
- ์์ ๋ฐ์ดํฐ์ ์์ ํ์ตํ ๊ฒฝ์ฐ ์ค๋ฒํผํ ์ด ๋ฐ์ํ ์ ์์ผ๋ฏ๋ก, ๋๋กญ์์์ด๋ ์กฐ๊ธฐ ์ข ๋ฃ ๋ฑ์ ๊ธฐ๋ฒ์ ํ์ฉํฉ๋๋ค.
- Learning Rate(ํ์ต๋ฅ ) ์กฐ์
- ์ฌ์ ํ์ต๋ ํ๋ผ๋ฏธํฐ๊ฐ ๊ธ๊ฒฉํ๊ฒ ๋ณ๊ฒฝ๋์ง ์๋๋ก ์์ ํ์ต๋ฅ (์: 2e-5)์ ์ฌ์ฉํฉ๋๋ค.
- ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ
- ์ ๋ ฅ ๋ฐ์ดํฐ์ ํ์์ด ๋ชจ๋ธ์ ์ ํฉํ์ง ํ์ธํ๊ณ , ํน์ ํ ํฐ๊ณผ ์ธ๊ทธ๋จผํธ ์๋ฒ ๋ฉ์ ์ ํํ๊ฒ ์ค์ ํด์ผ ํฉ๋๋ค.
- Batch size(๋ฐฐ์น ํฌ๊ธฐ)์ Epoch(์ํญ)์
- ํ๋์จ์ด ์์๊ณผ ๋ฐ์ดํฐ์ ํฌ๊ธฐ์ ๋ง์ถฐ ์ ์ ํ ๋ฐฐ์น ํฌ๊ธฐ์ ์ํญ ์๋ฅผ ์ ํํฉ๋๋ค.
Summary
BERT์ ํต์ฌ ๊ฐ๋ , ์ํคํ ์ฒ, ๊ทธ๋ฆฌ๊ณ ํ์ต ๊ณผ์ ์ ๋ํด ์์ธํ ์ดํด๋ณด์์ต๋๋ค.
BERT๋ Bidirectional Encoder Representations from Transformers์ ์ฝ์๋ก, ์๋ฐฉํฅ์ฑ์ ์ค์์ฑ์ ๊ฐ์กฐํ๋ฉฐ ๋ฑ์ฅํ ํ์ ์ ์ธ ์ธ์ด ๋ชจ๋ธ์ ๋๋ค.
Transformer์ ์ธ์ฝ๋ ๋ถ๋ถ์ ๊ธฐ๋ฐ์ผ๋ก ํ BERT์ ์ํคํ ์ฒ๋ Self-Attention ๋ฉ์ปค๋์ฆ์ ํ์ฉํ์ฌ ๋ฌธ๋งฅ์ ์ ํ ์ ๋ณด๋ฅผ ๋ชจ๋ ๊ณ ๋ คํ๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ถ๊ณ ์์ต๋๋ค.
Pre-Training(์ฌ์ ํ์ต)๋จ๊ณ ์์๋ Masked Language Model(MLM)๊ณผ Next Sentence Prediction(NSP) ๊ฐ์ ๋ชฉํ๋ฅผ ํตํด ๋๋์ ํ ์คํธ ๋ฐ์ดํฐ๋ก๋ถํฐ ์ผ๋ฐ์ ์ธ ์ธ์ด ์ดํด ๋ฅ๋ ฅ์ ํ๋ํฉ๋๋ค.
์ดํ Fine-Tuning(๋ฏธ์ธ ์กฐ์ )๋จ๊ณ์์๋ ์ด๋ฌํ ์ฌ์ ํ์ต๋ ๋ชจ๋ธ์ ํน์ NLP ์์ ์ ๋ง๊ฒ ์กฐ์ ํ์ฌ, ๊ฐ์ ๋ถ์, ์ง์ ์๋ต, ๋ฌธ์ฅ ๋ถ๋ฅ ๋ฑ ๋ค์ํ ์์ฉ ๋ถ์ผ์์ ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ฐํํฉ๋๋ค.
'๐ NLP (์์ฐ์ด์ฒ๋ฆฌ) > ๐ Natural Language Processing' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[NLP] BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension (0) | 2024.09.25 |
---|---|
[NLP] Generative Adversarial Networks (์์ฑ์ ์ ๋ ์ ๊ฒฝ๋ง, GAN) (0) | 2024.08.30 |
[NLP] AutoEncoder (์คํ ์ธ์ฝ๋) (0) | 2024.08.30 |
[NLP] RNNLM - RNN์ ์ฌ์ฉํ Language Model (0) | 2024.06.02 |
[NLP] BPTT (Backpropagation Through Time) (0) | 2024.05.23 |