๐ค Transformers & ๐ค Tokenizers์ ํจ๊ป ๋๋ง์ ํ ํฌ๋์ด์ ๋ง๋ค๊ธฐ
Table of Contents:
- ์ด ๊ธ์ ๋ชฉ์ ๊ณผ ๋ด์ฉ
- ์๊ธฐ์๊ฐ: ๋ฃจ์ ์๋์, ๊ธฐ๊ณ ํ์ต ์์ง๋์ด
- Tokenizer์ ๊ฐ๋
๊ณผ ์ญํ
- Tokenizer์ ์ข
๋ฅ์ ์ฌ์ฉ ๋ฐฉ๋ฒ
4.1 Pre-trained Tokenizer ์ฌ์ฉํ๊ธฐ
4.1.1 ์ ํฉํ Pre-trained Tokenizer ์ฐพ๊ธฐ
4.1.2 Pre-trained Tokenizer ํ์ฉ ๋ฐฉ๋ฒ
4.2 Custom Tokenizer ๋ง๋ค๊ธฐ
4.2.1 Wordpiece ๊ธฐ๋ฐ Tokenizer
4.2.2 ๋ค๋ฅธ Tokenizer ์ ํ
- Tokenizer ์ ํ ์ ๊ณ ๋ ค์ฌํญ
5.1 ๋ฌธ์ฅ ๊ธธ์ด์ ํจ์จ์ฑ
5.2 ์ดํ ์ฌ์ ๊ณผ ํน์ ํ ํฐ
- Tokenizer์ ์ค์์ฑ๊ณผ ์ํฅ๋ ฅ
- Big Science ํ๋ก์ ํธ์์์ ์ญํ
- ๊ฐ Tokenizer ์ ํ์ ์ฅ๋จ์
- Tokenizer ๊ด๋ จ ์์ฃผ ๋ฌป๋ ์ง๋ฌธ (FAQ)
9.1 Pre-trained Tokenizer์ ๋ฐ์ดํฐ ์ ํฉ์ฑ
9.2 Custom Tokenizer ์ ์ ์ ์ด๋ค ๋ฐ์ดํฐ ์ฌ์ฉ?
9.3 Tokenizer์ ์ฑ๋ฅ๊ณผ ๋ชจ๋ธ ํ๋ จ์ ๊ด๊ณ
- ๋ง๋ฌด๋ฆฌ ๋ฐ ์ฐธ๊ณ ์๋ฃ
2. ์๊ธฐ์๊ฐ: ๋ฃจ์ ์๋์, ๊ธฐ๊ณ ํ์ต ์์ง๋์ด
์๋
ํ์ธ์, ์ฌ๋ฌ๋ถ. ์ ๋ ๋ฃจ์ ์๋์์
๋๋ค. ์ ๋ ํ๊น
ํ์ด์ค(Hugging Face)์์ ๊ธฐ๊ณ ํ์ต ์์ง๋์ด๋ก ์ผํ๊ณ ์์ผ๋ฉฐ, ์คํ ์์ค ๋๊ตฌ์ ์ฌ์ฉ๊ณผ ๊ฐ๋ฐ, ์์ฐ์ด ์ฒ๋ฆฌ(NLP) ๋ถ์ผ์ ๋ค์ํ ์ฐ๊ตฌ ํ๋ก์ ํธ์ ์ฐธ์ฌํ๊ณ ์์ต๋๋ค. ํนํ ํ๋ ฅ ํ๋ จ(collaborative training)์ ๊ดํ ํฅ๋ฏธ๋ก์ด ํ๋ก์ ํธ๋ฅผ ์งํ ์ค์
๋๋ค. ์ด ํ๋ก์ ํธ๋ ์ ์ธ๊ณ ์ฌ๋ฌ ๋์ ์ปดํจํฐ๋ฅผ ์ฌ์ฉํ์ฌ ํธ๋์คํฌ๋จธ(transformer) ๋ชจ๋ธ์ ์ฒ์๋ถํฐ ํ๋ จํ๋ ๊ฒ์ ๋งํฉ๋๋ค. ๊ด๋ จ ๋ด์ฉ์ ์ ํฌ ๋ธ๋ก๊ทธ์์ ํ์ธํ์ค ์ ์์ต๋๋ค. ๋ํ, ์ ๋ ๋น
์ฌ์ด์ธ์ค ํ๋ก์ ํธ์์๋ ํ๋ฐํ ์ฐธ์ฌํ๊ณ ์์ต๋๋ค. ์ด ํ๋ก์ ํธ๋ GPT-3์ ์ ์ฌํ ๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ์ ํ๋ จํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ ์ฐ๊ตฌ๋ฅผ 1๋
๋์ ์งํํ๋ ํ๋ก์ ํธ์
๋๋ค. ์ด ๋ชจ๋ธ์ GPT-3๋ณด๋ค ๋ ํ๋ถํ ํต์ฐฐ๋ ฅ์ ๊ฐ์ง๊ณ ์์ ๊ฒ์
๋๋ค. ์ค๋์ ์ ํฌ Hugging Face Transformers์ Tokenizers ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์์ฒด ํ ํฌ๋์ด์ (tokenizer)๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช
๋๋ฆฌ๊ฒ ์ต๋๋ค. ๊ทธ๋ผ ์ฌ๋ฌ๋ถ, ์ง๋ฌธ ์๊ฐ์ ๋ค์ ์ฐพ์๋ต๊ฒ ์ต๋๋ค.
3. Tokenizer์ ๊ฐ๋
๊ณผ ์ญํ
์, ์ด์ ๋ถํฐ๋ tokenizer(ํ ํฌ๋์ด์ )์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. tokenizer๋ ์ด๋ค ์ญํ ์ ํ๋์ง ๊ฐ๋ตํ๊ฒ ์ค๋ช
ํ๊ฒ ์ต๋๋ค. tokenizer๋ ํ
์คํธ ๋ฐ์ดํฐ์ ์ธ์ด ๋ชจ๋ธ ์ฌ์ด์ ์์นํ ๊ตฌ์ฑ์์์
๋๋ค. ์ด ๊ตฌ์ฑ์์๋ ํ
์คํธ ๋ฐ์ดํฐ๋ฅผ ์ธ์ด ๋ชจ๋ธ์ด ์์ํ ํ์์ผ๋ก ์ค๋นํ๋ ์ญํ ์ ๋ด๋นํฉ๋๋ค. ๊ตฌ์ฒด์ ์ผ๋ก ๋งํ๋ฉด, tokenizer๋ ํ
์คํธ๋ฅผ ์์ ๋จ์์ธ ํ ํฐ์ ์ํ์ค๋ก ๋ถํ ํ๋ ์ญํ ์ ์ํํฉ๋๋ค. ํ๋์ ํ ํฐ์ ๊ณ ์ ํ ๋ฒํธ์ ๋งคํ๋๋ ์ดํ ์ฌ์ (vocabulary)์ ์ํฉ๋๋ค. ๋ฐ๋ผ์ tokenizer๋ ํ
์คํธ๋ฅผ ์ซ์์ ์ํ์ค๋ก ๋ณํํ๋ ์ญํ ์ ํฉ๋๋ค. ์ด๋ ์ธ์ด ๋ชจ๋ธ์ด ์ซ์๋ง์ ์
๋ ฅ์ผ๋ก ๋ฐ์ ์ ์๋ ํจ์์ด๊ธฐ ๋๋ฌธ์
๋๋ค. tokenizer๋ ์ฌ๋ฌ ์์
์ ์ํํ๋๋ฐ, ์ด๋ ํ ํฐํ(normalization)๋ถํฐ ํ์ฒ๋ฆฌ(post-processing)์ ์ด๋ฅด๊ธฐ๊น์ง ๋ชจ๋ ๋ถํ ๊ณผ์ ์ ํฌํจํฉ๋๋ค. ์ฌ๋ฌ๋ถ์ด ์ธ์ด ๋ชจ๋ธ์ ํ๋ จํ ๋ tokenizer๋ฅผ ์ด๋ป๊ฒ ๋ค๋ฃจ์ด์ผ ํ๋์ง์ ๋ํ ๊ณ ๋ฏผ์ด ์์ ๊ฒ์
๋๋ค. ์ฒซ ๋ฒ์งธ ๊ฐ๋ฅ์ฑ์ ์ด๋ฏธ ํ์ํ ์๊ตฌ ์ฌํญ์ ๋ง๋ ํ๋ จ๋ tokenizer๊ฐ ์๋์ง ํ์ธํ๋ ๊ฒ์
๋๋ค. ๋ง์ผ ์ด๋ฏธ ์ ํฉํ tokenizer๊ฐ ์๋ค๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค. ํ์ง๋ง ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ์ ์ ํ tokenizer๋ฅผ ์ฐพ์ ๋ณํํ๊ฑฐ๋ ์์ ํ ์๋ก์ด tokenizer๋ฅผ ์ค๊ณํ์ฌ ํ๋ จํด์ผ ํ ์๋ ์์ต๋๋ค. ๋คํํ๋, Hugging Face ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ธ ๊ฐ์ง ๊ฒฝ์ฐ ๋ชจ๋ ์ฒ๋ฆฌํ ์ ์๋๋ก ์ค๋น๋์ด ์์ต๋๋ค. ๋ฐฉ๊ธ ์ ์ ์ถ์๋ ๊ฐ์ข์๋ tokenizer์ ๋ํ ์์ธํ ๋ด์ฉ์ด ์์ผ๋ฉฐ, ์ง์ ์์ ์ tokenizer๋ฅผ ์ด๋ป๊ฒ ์ป์ด์ผ ํ๋์ง์ ๋ํ ์ดํด๋ฅผ ๋์ต๋๋ค. ์ด ๊ฐ์ข ์ด์ ์ ๋ช ๊ฐ์ง ์์๋ฅผ ํตํด Hugging Face์ ๋
ธํธ๋ถ์ ์ฌ์ฉํ์ฌ ์๋ก์ด tokenizer๋ฅผ ์คํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํด ๋ณผ ๊ฒ์
๋๋ค. ์์ํ๊ธฐ ์ ์ Hugging Face Transformers์ Tokenizers ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๊ทธ๋ฆฌ๊ณ SentencePiece์ ๊ฐ์ ๋ํ๋์๋ฅผ ์ค์นํด์ผ ํฉ๋๋ค. ์ด ๋ค์ด๋ก๋๋ฅผ ๋ฏธ๋ฆฌ ์งํํ์์ผ๋ ์ ๋ ์ด๋ ๊ฒ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ์์ต๋๋ค. ์ด ๊ฐ์ข์์ ๋ค๋ฃฐ ๋ ๊ฐ์ง ๊ฒฝ์ฐ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ฒซ ๋ฒ์งธ๋ ์ด๋ฏธ ํ๋ จ๋ tokenizer๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์
๋๋ค. ๋ ๋ฒ์งธ๋ ์ง์ ์๋ก์ด tokenizer๋ฅผ ๋ง๋๋ ๊ฒฝ์ฐ์
๋๋ค. ์์ํ๊ฒ ์ต๋๋ค.