Table of contents
Open Table of contents
- ๋ค์ด๊ฐ๋ฉฐ - Low level์์ ์์ํ๋ ์ด์
- ํ ํฌ๋์ด์ ๋ ๋ฌด์์ธ๊ฐ
- ์ ํ ํฌ๋์ด์ ๊ฐ ํ์ํ๊ฐ - ์ญ์ฌ์ ๋งฅ๋ฝ
- ํ ํฌ๋์ด์ ์ ์ข ๋ฅ์ ๋ด๋ถ ๋์
- ํ์ด์ฌ์ผ๋ก ๊ตฌํํด๋ณด๋ BPE
- ํ๊ตญ์ด ํ ํฌ๋์ด์ ์ ํน์ํ ์ฌ์
- ํ ํฌ๋์ด์ ๋ฅผ ์ด๋ป๊ฒ ํ๊ฐํ ๊ฒ์ธ๊ฐ
- ํ ํฌ๋์ด์ ๊ฐ LLM์ ๋ฏธ์น๋ ์ํฅ
- ์ต์ ์ฐ๊ตฌ ๋ํฅ
- ์ค๋ฌด ์ ํ ๊ฐ์ด๋
- ๋ง๋ฌด๋ฆฌ โ Low level์์ ๋ณด์ด๋ ๊ฒ๋ค
๋ค์ด๊ฐ๋ฉฐ - Low level์์ ์์ํ๋ ์ด์
์ธ์ด ๋ชจ๋ธ์ ๊ณต๋ถํ๋ค ๋ณด๋ฉด ์ฝ๊ฒ ๊ฐ๊ณผํ๋ ๋ถ๋ถ์ด ์๋ค. ๋ฐ๋ก ํ ํฌ๋์ด์ ๋ค. ํธ๋์คํฌ๋จธ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๊ณ , ์ดํ ์ ๋ฉ์ปค๋์ฆ์ ๋จธ๋ฆฟ์์ ๊ทธ๋ฆด ์ ์๊ณ , RLHF๊ฐ ๋ฌด์์ธ์ง ์ค๋ช ํ ์ ์๋๋ฐ๋, ์ ์ ๋ชจ๋ธ์ด โhelloโ๋ผ๋ ๋ฌธ์์ด์ ์ด๋ป๊ฒ ์ซ์๋ก ๋ฐ๊พธ๋์ง๋ ํ๋ฆฟํ๊ฒ ์๊ณ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ๋ ์ญ์ ๊ทธ๋ฌ๋ค. ๋๊ฐ BPE๋ผ๋ ์๊ณ ๋ฆฌ์ฆ์ด ์๊ณ ๋จ์ด๋ฅผ ์กฐ๊ฐ์ผ๋ก ์ชผ๊ฐ๋ ๋ฌด์ธ๊ฐ๋ผ๋ ์ ๋์ ์ดํด๋ก ๊ฝค ์ค๋ ์๊ฐ์ ๋ณด๋๋ค.
๊ทธ๋ฌ๋ค ํ๊ตญ์ด ๋ชจ๋ธ์ ์ง์ ๋ง์ง๊ธฐ ์์ํ๋ฉด์ ๋ญ๊ฐ ์ด์ํ๋ค๋ ๊ฒ์ ๋๊ผ๋ค. ํ๊ตญ์ด๋ ์์ด์ ๋นํด ๋ ๋ฐฐ ์ด์ ๋ง์ ํ ํฐ์ด ํ์ํ๋ค. ์์ด๋ก ๋ฌผ์ผ๋ฉด 2์ด ๋ง์ ๋๋ ์๋ต์ด ํ๊ตญ์ด๋ก๋ 5์ด ๊ฐ๊น์ด ๊ฑธ๋ ธ๋ค. ๋น์ฉ๋ ์ ํํ ๊ทธ๋งํผ ๋ ๋ค์๋ค. ์ด ํ์์ ๋ฟ๋ฆฌ์๋ ์ฐ๋ฆฌ๊ฐ ์ฝ๊ฒ ์ง๋์น๋ ๊ฐ์ฅ ๋ฎ์ ๋จ๊ณ ์ปดํฌ๋ํธ, ๋ฐ๋ก ํ ํฌ๋์ด์ (Tokenizer)๊ฐ ์๋ค.
ํ ํฌ๋์ด์ ๋ ์ธ์ด ๋ชจ๋ธ์ ๋ณด์ด์ง ์๋ ๊ด๋ฌธ์ด๋ค. ๋ชจ๋ ์ ๋ ฅ์ด ์ด๊ณณ์ ํตํด ๋ค์ด๊ฐ๊ณ ๋ชจ๋ ์ถ๋ ฅ์ด ์ด๊ณณ์ ํตํด ๋์จ๋ค. ๋ฐ๋ผ์ ์ด ๊ด๋ฌธ์ ์ด๋ป๊ฒ ์ค๊ณํ๋๋์ ๋ฐ๋ผ ๋ชจ๋ธ์ด ์ธ์ด๋ฅผ ๋ค๋ฃจ๋ ๋ฐฉ์๊ณผ ์ฐ์ฐ ๋น์ฉ์ด ๋ฌ๋ผ์ง๊ณ , ์ฌ์ง์ด๋ ์ต์ข ์ฑ๋ฅ๊น์ง ๋ฌ๋ผ์ง๋ค. ์ด ๊ธ์ ๋ฐ๋ก ๊ทธ ๊ด๋ฌธ์ ๋ํ ์ด์ผ๊ธฐ๋ค.
๋ถ๋์ด ์กฐ๊ธ ๊ธธ๋ค. ํ ํฌ๋์ด์ ๋ฅผ ์ฒ์ ์ ํ๋ ์ฌ๋๋ถํฐ ์ด๋ฏธ BPE๋ฅผ ๊ตฌํํด ๋ณธ ์ฌ๋๊น์ง ๋ชจ๋ ์ฝ์ ์ ์๋๋ก ์ผ๋ค. ๊ฐ ์น์ ์ ๋ ๋ฆฝ์ ์ผ๋ก ์ฝ์ด๋ ๋ฌด๋ฐฉํ๋ ํ์ํ ๊ณณ๋ง ๊ณจ๋ผ ์ฝ์ด๋ ์ข๋ค. ๋ค๋ง ๊ฐ๋ฅํ๋ฉด ์ฒ์๋ถํฐ ๋๊น์ง ์ฝ์ด๋ณด๊ธธ ๊ถํ๋ค. ์ค๊ฐ์ค๊ฐ ์ฐ๊ฒฐ๋๋ ์ง์ ๋ค์ด ์๊ธฐ ๋๋ฌธ์ด๋ค.
ํ ํฌ๋์ด์ ๋ ๋ฌด์์ธ๊ฐ
์ธ์ด ๋ชจ๋ธ์ ์ซ์๋ง ์ดํดํ๋ค. ๋ ์ ํํ ๋งํ์๋ฉด ๋ฒกํฐ๋ง ์ดํดํ๋ค. โhelloโ๋ผ๋ ๋ฌธ์์ด์ด ๋ชจ๋ธ์ ๋ค์ด๊ฐ๋ ค๋ฉด ์ด๋ค ์์ผ๋ก๋ ์ซ์๋ก ๋ณํํด์ผ ํ๋ค. ์ด ๋ณํ์ ๋ด๋นํ๋ ๊ฒ์ด ํ ํฌ๋์ด์ ๋ค.
๋ณํ์ ํฌ๊ฒ ๋ ๋จ๊ณ๋ก ๋๋๋ค. ์ฒซ ๋ฒ์งธ๋ ํ ํฐํ(tokenization)๋ค. ๋ฌธ์์ด์ ์๋ฏธ ์๋ ๋จ์๋ก ์ชผ๊ฐ๋ ์์
์ด๋ค. โhello worldโ๋ผ๋ ๋ฌธ์์ด์ด ['hello', ' world']๊ฐ ๋๊ฑฐ๋, ['he', 'llo', ' wor', 'ld']๊ฐ ๋๊ฑฐ๋, ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']๊ฐ ๋ ์ ์๋ค. ์ด๋ป๊ฒ ์ชผ๊ฐค ๊ฒ์ธ์ง๋ ํ ํฌ๋์ด์ ์ ์ค๊ณ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค.
๋ ๋ฒ์งธ๋ ์ธ์ฝ๋ฉ(encoding)์ด๋ค. ์ชผ๊ฐ ํ ํฐ๋ค์ ์ ์ ID๋ก ๋งคํํ๋ ์์
์ด๋ค. ['hello', ' world']๊ฐ [31373, 995]์ ๊ฐ์ ์ซ์ ๋ฐฐ์ด์ด ๋๋ค. ์ด ์ซ์๋ค์ ๋ชจ๋ธ ๋ด๋ถ์์ ์๋ฒ ๋ฉ ๋ฒกํฐ๋ก ๋ณํ๋์ด ํธ๋์คํฌ๋จธ ๋ ์ด์ด๋ก ๋ค์ด๊ฐ๋ค.
์ ๋ฆฌํ๋ฉด ํ ํฌ๋์ด์ ๋ ์ด๋ฐ ํ์ดํ๋ผ์ธ์ ๊ฐ์ง๋ค.
์์ ํ
์คํธ โ [์ ์ฒ๋ฆฌ] โ [๋ถ์ ] โ [ํ ํฐ ID ๋งคํ] โ ์ ์ ์ํ์ค"hello world" [31373, 995]๋ฐ๋ ๋ฐฉํฅ๋ ์๋ค. ๋ชจ๋ธ์ด ์ถ๋ ฅํ ํ ํฐ ID ์ํ์ค๋ฅผ ๋ค์ ์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ฌธ์์ด๋ก ๋๋๋ฆฌ๋ ๋์ฝ๋ฉ(decoding) ๊ณผ์ ์ด๋ค. ์ด์์ ์ผ๋ก๋ ์ธ์ฝ๋ฉ๊ณผ ๋์ฝ๋ฉ์ด ์๋ฒฝํ๊ฒ ์ญํจ์ ๊ด๊ณ์ฌ์ผ ํ์ง๋ง ์ค์ ๋ก๋ ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ๊ฐ ๊ฝค ๋ง๋ค. ์ด ๋ถ๋ถ์ ๋ค์์ ๋ค์ ๋ค๋ฃจ๊ฒ ๋ค.
ํ ๊ฐ์ง ํฅ๋ฏธ๋ก์ด ์ ์ ํ ํฌ๋์ด์ ๊ฐ ๋ฐ์ดํฐ๋ก๋ถํฐ ํ์ตํ์ฌ ๋ง๋๋ ์ปดํฌ๋ํธ๋ผ๋ ๊ฒ์ด๋ค. ๋ชจ๋ธ ๊ฐ์ค์น๋ฅผ ํ์ต์ํค๋ฏ, ํ ํฌ๋์ด์ ์ดํ์ง๊ณผ ๋ถ์ ๊ท์น๋ ๋ง๋ญ์น๋ก๋ถํฐ ๋ง๋ ๋ค. ๋ค๋ง ์ด ๊ณผ์ ์ ์ ๊ฒฝ๋ง ํ์ต๊ณผ๋ ์ ํ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์งํ๋๋ค. ๋๋ถ๋ถ์ ํต๊ณ์ ๊ท์น ๊ธฐ๋ฐ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ดํ์ง์ ๊ตฌ์ฑํ๋ฉฐ, ํ ๋ฒ ๋ง๋ ๋ค์๋ ์ผ๋ฐ์ ์ผ๋ก ๋ค์ ํ์ต์ํค์ง ์๋๋ค. ์ฆ ํ ํฌ๋์ด์ ๋ ๋ชจ๋ธ ๊ฐ์ค์น์ ๋ ๋ฆฝ์ ์ผ๋ก ๊ณ ์ ํ๋ ๊ตฌ์ฑ ์์๋ค. ์ด ์ ์ด ์ฌ๋ฌ ํฅ๋ฏธ๋ก์ด ๋ฌธ์ ๋ฅผ ๋ณ๋๋ค๋ ์ฌ์ค๋ ๋ค์์ ์ดํด๋ณผ ๊ฒ์ด๋ค.
์ ํ ํฌ๋์ด์ ๊ฐ ํ์ํ๊ฐ - ์ญ์ฌ์ ๋งฅ๋ฝ
ํ ํฌ๋์ด์ ๊ฐ ์ง๊ธ์ ํํ๋ฅผ ๊ฐ์ถ๊ธฐ๊น์ง๋ ๊ฝค ๊ธด ์ฌ์ ์ด ์์๋ค. ๊ทธ ์ฌ์ ์ ๊ฐ๋จํ ํ์ด๋ณด๋ฉด ํ์ฌ ์ค๊ณ๋ฅผ ์ดํดํ๋ ๋ฐ ๋์์ด ๋๋ค.
๋จ์ด(Word) ์์ค ํ ํฐํ์ ํ๊ณ
NLP ์ด๊ธฐ์๋ ๋จ์ด(word) ๋จ์๋ก ํ ํฐํํ๋ ๊ฒ์ด ์์ฐ์ค๋ฌ์ด ์ ํ์ด์๋ค. ๊ณต๋ฐฑ์ผ๋ก ๋ฌธ์ฅ์ ์ชผ๊ฐ๊ณ ๊ฐ ๋จ์ด์ ๊ณ ์ ํ ID๋ฅผ ๋ถ์ฌํ๋ ๋ฐฉ์์ด๋ค. ์ด ์ ๊ทผ์ ์ง๊ด์ ์ด์ง๋ง ์ฌ๊ฐํ ๋ฌธ์ ๊ฐ ์๋ค.
์ฒซ ๋ฒ์งธ๋ ์ดํ์ง ํฌ๊ธฐ ํญ๋ฐ์ด๋ค. ์์ด๋ง ํด๋ ๋จ์ด์ ์๋ ์์ญ๋ง ๊ฐ์ ๋ฌํ๊ณ , ๊ตด์ (inflection)์ด๋ ํ์(derivation)๊น์ง ๊ณ ๋ คํ๋ฉด ์๋ฐฑ๋ง ๊ฐ๋ก ๋ถ์ด๋๋ค. ํ๊ตญ์ด์ฒ๋ผ ๊ต์ฐฉ์ด ๊ณ์ด์ ์ธ์ด๋ ๋ ์ฌ๊ฐํ๋ค. โ๋จน๋คโ๋ผ๋ ๋์ฌ ํ๋์์ โ๋จน๋๋คโ, โ๋จน์๋คโ, โ๋จน๊ฒ ๋คโ, โ๋จน์ด์ผ๊ฒ ๋คโ, โ๋จน์๊นโ์ ๊ฐ์ ์๋ง์ ํ์ฉํ์ด ํ์๋๋ค. ์ด๋ค์ ๋ชจ๋ ๋ณ๊ฐ์ ํ ํฐ์ผ๋ก ๋ค๋ฃจ๋ฉด ์ดํ์ง์ด ๊ณผ๋ํ๊ฒ ์ปค์ง๋ค.
๋ ๋ฒ์งธ๋ ๋ฏธ๋ฑ๋ก์ด(OOV, Out-of-Vocabulary) ๋ฌธ์ ๋ค. ํ์ต ๋ฐ์ดํฐ์ ์๋ ๋จ์ด๊ฐ ์ถ๋ก ์์ ์ ๋ฑ์ฅํ๋ฉด ๋ชจ๋ธ์ ์ด๋ฅผ ์ฒ๋ฆฌํ ๋ฐฉ๋ฒ์ด ์๋ค. ์๋ก์ด ๊ณ ์ ๋ช
์ฌ, ์ ์กฐ์ด, ์คํ๊น์ง ํฌํจํ๋ฉด ์ด ๋ฌธ์ ๋ ์ค์ ์์ ์น๋ช
์ ์ด๋ค. ๋ณดํต <UNK>๋ผ๋ ํน์ ํ ํฐ์ผ๋ก ๋์ฒดํ๋๋ฐ, ์ด๋ ๊ฒ ๋๋ฉด ๋ชจ๋ธ์ด ๊ทธ ํ ํฐ์์ ์๋ฏธ ์๋ ์ ๋ณด๋ฅผ ์ป์ง ๋ชปํ๋ค.
์ธ ๋ฒ์งธ๋ ํํ๋ก ์ ์ ๋ณด์ ์์ค์ด๋ค. โunhappinessโ๋ผ๋ ๋จ์ด๋ฅผ ํ๋์ ํ ํฐ์ผ๋ก ์ทจ๊ธํ๋ฉด โun-โ, โhappyโ, โ-nessโ๋ผ๋ ํํ์์ ์กฐํฉ์ด๋ผ๋ ์ ๋ณด๊ฐ ์ฌ๋ผ์ง๋ค. ๋ชจ๋ธ์ โhappinessโ์ โunhappinessโ์ ๊ด๊ณ๋ฅผ ์์ํ๊ฒ ๋ฒกํฐ ๊ณต๊ฐ์์๋ง ํ์ตํด์ผ ํ๋ค.
๋ฌธ์(Char) ์์ค ํ ํฐํ์ ํ๊ณ
๋จ์ด ์์ค ํ ํฐํ์ ๋์์ผ๋ก ๋ฌธ์(character) ๋จ์ ํ ํฐํ๊ฐ ์๋ค. ์ด ๋ฐฉ์์ ์ดํ์ง์ด ๋งค์ฐ ์๊ณ (์์ด๋ผ๋ฉด ์ํ๋ฒณ 26์ + ํน์๋ฌธ์) ๋์์ ๋ฏธ๋ฑ๋ก์ด ๋ฌธ์ ๊ฐ ์์ ํ ์ฌ๋ผ์ง๋ค. ์ด๋ค ๋ฌธ์์ด์ด๋ ๋ฌธ์๋ก ์ชผ๊ฐค ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
ํ์ง๋ง ๋ฌธ์ ๋จ์ ํ ํฐํ๋ ์น๋ช ์ ๋จ์ ์ด ์๋ค. ์ํ์ค ๊ธธ์ด๊ฐ ํญ๋ฐ์ ์ผ๋ก ๋์ด๋๋ค๋ ๊ฒ์ด๋ค. โhelloโ๋ผ๋ ๋จ์ด ํ๋๊ฐ 5๊ฐ์ ํ ํฐ์ด ๋๋ค. ํธ๋์คํฌ๋จธ์ ์ดํ ์ ์ฐ์ฐ ๋ณต์ก๋๋ ์ํ์ค ๊ธธ์ด์ ๋ํด ์ด๊ธฐ ๋๋ฌธ์, ์ํ์ค ๊ธธ์ด๊ฐ 5๋ฐฐ๊ฐ ๋๋ฉด ์ฐ์ฐ๋์ด 25๋ฐฐ๊ฐ ๋๋ค. ์ค์ฉ์ ์ด์ง ์๋ค.
๊ฒ๋ค๊ฐ ๋ฌธ์ ๋จ์์์๋ ์๋ฏธ ํ์ต์ด ์ด๋ ต๋ค. โhโ๋ผ๋ ๋ฌธ์ ํ๋๊ฐ ๊ฐ์ง ์๋ฏธ๋ ๋งฅ๋ฝ์ ๋ฐ๋ผ ๋๋ฌด ๋ค์ํด์ ๋ชจ๋ธ์ด ์๋ฏธ๋ฅผ ํ์ตํ๊ธฐ ์ํด ๋งค์ฐ ๊ธด ๋ฌธ๋งฅ์ ๋ด์ผ ํ๋ค.
์ ์ถฉ - ์๋ธ์๋ ํ ํฐํ์ ๋ฑ์ฅ
๋จ์ด๋ ๋๋ฌด ํฌ๊ณ , ๋ฌธ์๋ ๋๋ฌด ์๋ค. ๊ทธ๋์ ๋ฑ์ฅํ ๊ฒ์ด ์๋ธ์๋(subword) ๋จ์ ํ ํฐํ๋ค. ์์ฃผ ๋ฑ์ฅํ๋ ๋จ์ด๋ ํ๋์ ํ ํฐ์ผ๋ก, ๋๋ฌผ๊ฒ ๋ฑ์ฅํ๋ ๋จ์ด๋ ๋ ์์ ์กฐ๊ฐ์ผ๋ก ์ชผ๊ฐ๋ ๋ฐฉ์์ด๋ค. โunhappinessโ๋ ['un', 'happiness'] ํน์ ['un', 'happy', 'ness']๋ก ์ชผ๊ฐ์ง๋ค. ๋ฏธ๋ฑ๋ก์ด๋ ์ด๋ค ์์ผ๋ก๋ ๊ธฐ์กด์ ์๋ธ์๋ ์กฐํฉ์ผ๋ก ํํํ ์ ์๋ค.
์ด ์์ด๋์ด ์์ฒด๋ 1994๋ ๋ฐ์ดํฐ ์์ถ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ ์๋ BPE(Byte Pair Encoding)1์์ ์ถ๋ฐํ๋ค. ์ด๊ฒ์ด NLP์ ๋ณธ๊ฒฉ์ ์ผ๋ก ๋์ ๋ ๊ฒ์ 2016๋ Sennrich et al.์ ๋ ผ๋ฌธ Neural Machine Translation of Rare Words with Subword Units์์์๋ค. ์ดํ BERT์ WordPiece, GPT์ BPE, T5์ Unigram ๋ฑ ๋ค์ํ ๋ณ์ฃผ๊ฐ ๋ฑ์ฅํ๋ฉฐ ์ค๋๋ ์ธ์ด ๋ชจ๋ธ์ ๊ธฐ๋ณธ ํ ํฌ๋์ด์ ์ค๊ณ๋ก ์๋ฆฌ ์ก์๋ค.
ํ ํฌ๋์ด์ ์ ์ข ๋ฅ์ ๋ด๋ถ ๋์
์ด์ ๊ฐ ์๋ธ์๋ ํ ํฌ๋์ด์ ๊ฐ ์ด๋ป๊ฒ ๋์ํ๋์ง ์์ธํ ์ดํด๋ณด์. ๋จผ์ ์ง์ด ๋ ์ ์ด ํ๋ ์๋ค. ๋ค์์ โBPE, WordPiece, Unigram LM, SentencePiece, tiktokenโ์ ์ฐจ๋ก๋ก ์ค๋ช ํ์ง๋ง, ์์ ์ ์ ์ดํ์ง ํ์ต ์๊ณ ๋ฆฌ์ฆ์ด๊ณ ๋ค์ ๋์ ์ด ์๊ณ ๋ฆฌ์ฆ์ ๋ด์ ๋ด๋ ๊ตฌํ์ฒด๋ค.
BPE โ ๊ฐ์ฅ ๋๋ฆฌ ์ฐ์ด๋ ์๊ณ ๋ฆฌ์ฆ
BPE์ ํ์ต ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๋จํ๋ค. ์์ฌ์ฝ๋(pseudo-code)๋ก ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
- ๋ชจ๋ ๋จ์ด๋ฅผ ๋ฌธ์ ๋จ์๋ก ๋ถํดํ๋ค.
- ๊ฐ์ฅ ๋น๋ฒํ๊ฒ ์ธ์ ๋ฑ์ฅํ๋ ๋ฌธ์ ์์ ์ฐพ๋๋ค.
- ๊ทธ ์์ ์๋ก์ด ํ ํฐ์ผ๋ก ๋ณํฉ(merge)ํ๋ค.
- ์ํ๋ ์ดํ์ง ํฌ๊ธฐ์ ๋๋ฌํ ๋๊น์ง 2~3์ ๋ฐ๋ณตํ๋ค.
์๋ฅผ ๋ค์ด ๋ง๋ญ์น๊ฐ low, lower, newest, widest ๋ค ๋จ์ด๋ก๋ง ๊ตฌ์ฑ๋์ด ์๋ค๊ณ ํ์. ์ด๊ธฐ ์ํ๋ ๋ฌธ์ ๋จ์ ๋ถํด๋ค.
l o w _ (5ํ ๋ฑ์ฅ)l o w e r _ (2ํ)n e w e s t _ (6ํ)w i d e s t _ (3ํ)์ฌ๊ธฐ์ _๋ ๋จ์ด ๊ฒฝ๊ณ๋ฅผ ๋ํ๋ด๋ ํน์ ๋ฌธ์๋ค(Sennrich et al. ์ ๋
ผ๋ฌธ์์๋ </w>๋ฅผ ์ฐ๋ฉฐ, ๊ตฌํ์ฒด๋ง๋ค ํ๊ธฐ๊ฐ ๋ค๋ฅด๋ค. ์ฌ๊ธฐ์๋ ๊ฐ๋
์ฑ์ ์ํด _๋ก ์ด๋ค). ๊ฐ์ฅ ๋น๋ฒํ ๋ฌธ์ ์์ ์ฐพ์๋ณด๋ฉด e s๊ฐ 9ํ(newest 6 + widest 3)๋ก ์ต๋ค๋ค. ์ด๋ฅผ ๋ณํฉํ์ฌ es๋ผ๋ ์ ํ ํฐ์ ๋ง๋ ๋ค.
l o w _l o w e r _n e w es t _w i d es t _๋ค์์ผ๋ก es t๊ฐ 9ํ๋ก ์ต๋ค๋ค. ์ด๋ฅผ ๋ณํฉํ์ฌ est๋ฅผ ๋ง๋ ๋ค. ์ด ๊ณผ์ ์ ๋ฐ๋ณตํ๋ฉฐ ์ดํ์ง์ ํ์ฅํ๋ค.
์ถ๋ก ์์๋ ํ์ต ๋ ์ฐพ์๋ธ ๋ณํฉ ๊ท์น์ ์์๋๋ก ์ ์ฉํ๋ค. ์๋ก์ด ๋จ์ด lowest๊ฐ ๋ค์ด์ค๋ฉด ๋จผ์ ๋ฌธ์๋ก ๋ถํดํ ๋ค, 1๋ฒ ๋ณํฉ ๊ท์น๋ถํฐ ์ฐจ๋ก๋ก ์ ์ฉํด ์ต์ข
์ ์ผ๋ก ['low', 'est'] ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ป๋๋ค.
์ด ๋จ์ํ ์๊ณ ๋ฆฌ์ฆ์ด ๊ฐ๋ ฅํ ์ด์ ๋ ๋น๋ ๊ธฐ๋ฐ์ด๋ผ๋ ์ ์ ์๋ค. ์์ฃผ ๋ฑ์ฅํ๋ ๋ฌธ์์ด์ ์์ฐ์ค๋ฝ๊ฒ ํ๋์ ํ ํฐ์ผ๋ก ๋ฌถ์ด๊ณ , ๋๋ฌธ ๋ฌธ์์ด์ ์์ ์กฐ๊ฐ์ผ๋ก ๋จ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ํจ์จ๊ณผ ์ ์ฐ์ฑ์ ๊ท ํ์ด ์กํ๋ค.
WordPiece โ BERT ๊ณ์ด์ ์ ํ
WordPiece๋ BERT์ ๊ทธ ํ์ ๋ชจ๋ธ๋ค์ด ์ฑํํ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. BPE์ ๋งค์ฐ ์ ์ฌํ์ง๋ง ๋ณํฉ ๊ธฐ์ค์ด ๋ค๋ฅด๋ค. BPE๊ฐ ๋จ์ ๋น๋๋ฅผ ์ฐ๋ ๋ฐ๋ฉด, WordPiece๋ ๊ฐ๋ฅ๋(likelihood) ๊ธฐ๋ฐ ์ ์๋ฅผ ์ด๋ค.
์ฆ ๋ ํ ํฐ , ๋ฅผ ๋ณํฉํ์ ๋์ ๋น๋๋ฅผ ๊ฐ๊ฐ์ ๋น๋์ ๊ณฑ์ผ๋ก ๋๋ ๊ฐ์ด๋ค. ์ด ๊ฐ์ด ํฌ๋ค๋ ๊ฒ์ ์ ๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ๋ํ๋๊ธฐ๋ณด๋ค ํจ๊ป ๋ํ๋๋ ๊ฒฝํฅ์ด ๊ฐํ๋ค๋ ๋ป์ด๋ค. ์ด ๊ธฐ์ค์ ๋ณธ๋ ๋ง๋ญ์น์ ์ธ์ด ๋ชจ๋ธ ๊ฐ๋ฅ๋๋ฅผ ์ต๋ํํ๋ ๋ณํฉ์ ์ฐพ๋ ๊ณผ์ ์์ ์ ๋๋๋ฉฐ, ๋ก๊ทธ๋ฅผ ์ทจํ๋ฉด ์ํธ์ ๋ณด๋(pointwise mutual information, PMI) ํํ๊ฐ ๋๋ค. BPE์ ๋จ์ ๋น๋ ๊ธฐ์ค๊ณผ ๋น๊ตํ๋ฉด, WordPiece๋ โ์ผ๋ง๋ ์์ฃผ ๋ถ์ด ๋์ค๋๊ฐโ๋ฟ ์๋๋ผ โ๊ฐ์ ์ผ๋ง๋ ์์ฃผ ๋ฑ์ฅํ๋๊ฐโ๊น์ง ํจ๊ป ๊ณ ๋ คํ๋ ์ ์ด๋ค.
์ค๋ฌด์ ์ฐจ์ด๋ก๋ WordPiece๊ฐ ๋จ์ด ๋ด๋ถ์ ์๋ธ์๋๋ฅผ ##์ด๋ผ๋ ์ ๋์ฌ๋ก ํ์ํ๋ค๋ ์ ์ด ์๋ค. playing์ด ['play', '##ing']์ผ๋ก ํ ํฐํ๋๋ค. ์ด๋ ๋ํ ํฐํ ์ ์๋ ๋ฌธ์์ด๋ก ์ ํํ ๋ณต์ํ๋ ๋ฐ ๋์์ด ๋๋ค.
Unigram Language Model โ ํ๋ฅ ์ ๊ด์
Kudo๊ฐ 2018๋ ๋ ผ๋ฌธ์์ ์ ์ํ Unigram LM์ ์์ ๋ ์๊ณ ๋ฆฌ์ฆ๊ณผ๋ ์ ๊ทผ์ด ์์ ํ ๋ค๋ฅด๋ค. BPE์ WordPiece๊ฐ ์์ ์ดํ์ง์์ ์ถ๋ฐํด ๋ณํฉ์ผ๋ก ํ์ฅํ๋ โ๋ฐํ ์ โ ๋ฐฉ์์ด๋ผ๋ฉด, Unigram์ ์ฒ์์ ๋งค์ฐ ํฐ ํ๋ณด ์ดํ์ง์ ๋ง๋ค์ด ๋๊ณ ํ๋์ฉ ์ ๊ฑฐํ๋ โํ๋ค์ดโ ๋ฐฉ์์ด๋ค.
ํ์ต ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
- ๋งค์ฐ ํฐ ์ด๊ธฐ ์ดํ์ง์ ๋ง๋ ๋ค. ์ค๋ฌด์์๋ ๋ชจ๋ ๋ถ๋ถ ๋ฌธ์์ด์ ๋์ดํ์ง ์๊ณ , Suffix Array๋ ๋น๋ ์ปท์คํ ๊ฐ์ ํด๋ฆฌ์คํฑ์ผ๋ก ํ๋ณด๋ฅผ ์ถ๋ฆฐ๋ค.
- EM(expectation-maximization) ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๊ฐ ์๋ธ์๋์ ํ๋ฅ ๋ฅผ ์ถ์ ํ๋ค.
- ์ ์ฒด ๋ง๋ญ์น์ ๊ฐ๋ฅ๋๋ฅผ ๊ฐ์ฅ ๋ ๊ฐ์์ํค๋ ์๋ธ์๋๋ค์ ์ดํ์ง์์ ์ ๊ฑฐํ๋ค.
- ์ํ๋ ํฌ๊ธฐ์ ๋๋ฌํ ๋๊น์ง 2~3์ ๋ฐ๋ณตํ๋ค.
Unigram์ ๋งค๋ ฅ์ ํ๋์ ๋ฌธ์์ด์ ์ฌ๋ฌ ๋ฐฉ์์ผ๋ก ํ ํฐํํ ์ ์๋ค๋ ์ ์ ์๋ค. ์๋ฅผ ๋ค์ด hello๋ฅผ ['hello'], ['he', 'llo'], ['hel', 'lo'] ์ค ์ด๋ ๋ฐฉ์์ผ๋ก ์ชผ๊ฐ๋ ํ๋ฅ ๋ชจ๋ธ์์ ๊ฐ๊ฐ์ ๊ฐ๋ฅ๋๋ฅผ ๊ณ์ฐํ ์ ์๋ค. Kudo๋ ๊ฐ์ ๋
ผ๋ฌธ์์ ์ด ์ฑ์ง์ ์ด์ฉํ ์๋ธ์๋ ์ ๊ทํ(subword regularization)๋ผ๋ ๋ฐ์ดํฐ ์ฆ๊ฐ ๊ธฐ๋ฒ๋ ํจ๊ป ์ ์ํ๋ค. ํ์ต ์ ๋งค๋ฒ ๋ค๋ฅธ ํ ํฐํ๋ฅผ ์ํ๋งํ์ฌ ๋ชจ๋ธ์ด ํน์ ๋ถ์ ์ ๊ฐํ์ง ์๋๋ก ํ๋ ๋ฐฉ๋ฒ์ด๋ค.
SentencePiece โ ์ธ์ด ๋ ๋ฆฝ์ ๊ตฌํ
SentencePiece๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๊ธฐ๋ณด๋ค ๊ตฌ๊ธ์ด ๊ฐ๋ฐํ ๊ตฌํ์ฒด๋ค. BPE์ Unigram์ ๋ชจ๋ ์ง์ํ๋ค. SentencePiece์ ํต์ฌ ํน์ง์ ์ธ์ด ๋ ๋ฆฝ์ ์ด๋ผ๋ ์ ์ด๋ค.
๊ธฐ์กด BPE ๊ตฌํ์ ๋๋ถ๋ถ ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ๋จ์ด๋ฅผ ๋๋ ๋ค ์๋ธ์๋๋ฅผ ์ฐพ๋ ๋ฐฉ์์ด์๋ค. ์ด๋ ์์ด์ฒ๋ผ ๊ณต๋ฐฑ์ผ๋ก ๋จ์ด๊ฐ ๊ตฌ๋ถ๋๋ ์ธ์ด์์๋ ์์ฐ์ค๋ฝ์ง๋ง, ์ค๊ตญ์ด๋ ์ผ๋ณธ์ด์ฒ๋ผ ๊ณต๋ฐฑ์ด ์๋ ์ธ์ด์์๋ ์ด๋ ค์์ ๊ฒช๋๋ค. ํ๊ตญ์ด์ฒ๋ผ ๊ณต๋ฐฑ์ด ์์ง๋ง ํํ์ ๊ฒฝ๊ณ์ ๊ณต๋ฐฑ์ด ์ผ์นํ์ง ์๋ ์ธ์ด๋ ๊น๋ค๋กญ๋ค.
SentencePiece๋ ์ด ๋ฌธ์ ๋ฅผ ๋จ์ํ๊ณ ์ฐ์ํ๊ฒ ํด๊ฒฐํ๋ค. ๊ณต๋ฐฑ ์์ฒด๋ฅผ ํ๋์ ๋ฌธ์๋ก ์ทจ๊ธํ๋ ๊ฒ์ด๋ค. ์ ํํ๋ ๊ณต๋ฐฑ์ โ(U+2581)์ด๋ผ๋ ํน์ ๋ฌธ์๋ก ์นํํ๋ค. Hello world๋ โHelloโworld๊ฐ ๋๊ณ , ์ด ๋ฌธ์์ด ์ ์ฒด๋ฅผ ๋์์ผ๋ก BPE ํน์ Unigram์ ์ํํ๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๊ณต๋ฐฑ์ด ์๋ ์ธ์ด๋ , ๋ณต์กํ ํํ๋ก ์ ๊ฐ์ง ์ธ์ด๋ ๋์ผํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค.
๋ ๋ค๋ฅธ ์ฅ์ ์ ์์ ํ ๊ฐ์ญ์ฑ(reversibility)์ด๋ค. ์ผ๋ฐ BPE๋ ๊ณต๋ฐฑ์ ๋ณ๋ ์ ์ฒ๋ฆฌ๋ก ๋ผ์ด ๋ด๊ธฐ ๋๋ฌธ์ ํ ํฐํ ํ ๋ํ ํฐํํ๋ฉด ์๋ ๋ฌธ์์ด๊ณผ ๋ฏธ๋ฌํ๊ฒ ๋ฌ๋ผ์ง ์ ์๋ค. SentencePiece๋ ๊ณต๋ฐฑ์ โ ๋ฌธ์๋ก ์ทจ๊ธํ๋ฏ๋ก ํ ํฐ์ ์ด์ด ๋ถ์ด๊ณ โ๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๋๋๋ฆฌ๋ ๊ฒ๋ง์ผ๋ก ์๋ ๋ฌธ์์ด์ ์ ํํ ๋ณต์ํ ์ ์๋ค.
์ด๋ฐ ์ฅ์ ๋์ LLaMA, LLaMA2, T5, XLNet, ALBERT ๋ฑ ๋ง์ ํ๋ ๋ชจ๋ธ์ด SentencePiece๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค.
tiktoken โ OpenAI์ ์ ํ
OpenAI๋ ์์ฒด BPE ๊ตฌํ์ฒด์ธ tiktoken์ ๋ง๋ค์ด ์ฌ์ฉํ๋ค. tiktoken์ ๊ฐ์ฅ ํฐ ํน์ง์ ๋ฐ์ดํธ ์์ค(byte-level) BPE๋ผ๋ ์ ์ด๋ค. ๋ฌธ์๊ฐ ์๋ UTF-8 ๋ฐ์ดํธ๋ฅผ ์ต์ ๋จ์๋ก ๋ค๋ฃฌ๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ด๋ก ์ ์ด๋ค ์ ๋์ฝ๋ ๋ฌธ์์ด๋ ๊นจ์ง์ง ์๊ณ ํ ํฐํํ ์ ์๋ค. ์ด๋ชจ์ง, ํฌ๊ท ์ธ์ด, ์์ ๊ธฐํธ ๋ฌด์์ด๋ ๋ฐ์ดํธ ๋จ์๋ก ํํ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๊ธฐ ์ดํ์ง์ 256๊ฐ์ ๋ฐ์ดํธ์์ ์์ํ๋ค.
๋ ๋ค๋ฅธ ํน์ง์ pre-tokenizer regex์ ์กด์ฌ๋ค. tiktoken์ BPE๋ฅผ ์ํํ๊ธฐ ์ ์ ์ ๊ท์์ผ๋ก ํ ์คํธ๋ฅผ ๋ฏธ๋ฆฌ ์ชผ๊ฐ ๋ค. ์ด๋ โ์ด๋ค ๋ฌธ์ ์์ด ์๋ก ๋ณํฉ๋ ์ ์๋๊ฐโ๋ฅผ ์ ์ฝํ๋ ์ญํ ์ ํ๋ค. ์๋ฅผ ๋ค์ด ๊ณต๋ฐฑ๊ณผ ์ํ๋ฒณ์ ๊ฐ์ ํ ํฐ ์์ ์ฌ ์ ์์ง๋ง, ์ซ์์ ์ํ๋ฒณ์ ๊ฐ์ ํ ํฐ์ด ๋ ์ ์๋๋ก ๋ง์ ์ ์๋ค. ์ด pre-tokenizer ์ค๊ณ๋ ๋ชจ๋ธ๋ง๋ค ์กฐ๊ธ์ฉ ๋ค๋ฅธ๋ฐ, r50k_base์ p50k_base(GPT-3 ๊ณ์ด)๋ก ์์ํด cl100k_base(GPT-3.5/4), o200k_base(GPT-4o)๋ก ์ด์ด์ง๋ฉฐ tiktoken ๊ณ๋ณด์์ ๊ณ์ ์งํํด ์๋ค.
LLaMA 3๋ tiktoken๊ณผ ํธํ๋๋ BPE ๊ท๊ฒฉ์ผ๋ก ์ ํํ์ผ๋ฉฐ, EXAONE ๋ฑ ์ฌ๋ฌ ํ๊ตญ์ด LLM๋ ์ ์ฌํ ์ ๊ทผ์ ์ทจํ๋ค. ๋ค๋ง ๊ฐ ๋ชจ๋ธ์ pre-tokenizer ์ ๊ท์์ ์๋ก ๋ค๋ฅด๋ฉฐ, ์ด ์ฐจ์ด๊ฐ ํ๊ตญ์ด ํ ํฐํ ํจ์จ์ ์๋นํ ์ํฅ์ ๋ฏธ์น๋ค.
ํ์ด์ฌ์ผ๋ก ๊ตฌํํด๋ณด๋ BPE
์ด๋ก ๋ง์ผ๋ก๋ ๊ฐ์ด ์ค์ง ์์ ์ ์์ผ๋, ์ต์ ๊ตฌํ์ ํตํด BPE๋ฅผ ์ง์ ์ฒดํํด ๋ณด์. ๋ค์์ ๊ต์ก ๋ชฉ์ ํ์ด์ฌ BPE ํ ํฌ๋์ด์ ๋ค.
from collections import Counter, defaultdictfrom typing import List, Tuple, Dict
class SimpleBPE: def __init__(self): self.merges: List[Tuple[str, str]] = [] self.vocab: Dict[str, int] = {}
def _get_word_freqs(self, corpus: List[str]) -> Dict[Tuple[str, ...], int]: """๋ง๋ญ์น์์ ๋จ์ด ๋น๋๋ฅผ ์ถ์ถํ๊ณ ๋ฌธ์ ๋จ์๋ก ๋ถํด""" freqs: Dict[Tuple[str, ...], int] = Counter() for text in corpus: for word in text.split(): # ๋จ์ด ๋์ </w> ๊ธฐํธ๋ฅผ ๋ถ์ฌ ๋จ์ด ๊ฒฝ๊ณ๋ฅผ ํ์ chars = tuple(list(word) + ["</w>"]) freqs[chars] += 1 return freqs
def _get_pair_stats(self, word_freqs: Dict[Tuple[str, ...], int]) -> Counter: """์ธ์ ํ ๋ฌธ์ ์์ ๋น๋๋ฅผ ๊ณ์ฐ""" pairs = Counter() for word, freq in word_freqs.items(): for i in range(len(word) - 1): pairs[(word[i], word[i + 1])] += freq return pairs
def _merge_pair( self, pair: Tuple[str, str], word_freqs: Dict[Tuple[str, ...], int] ) -> Dict[Tuple[str, ...], int]: """๊ฐ์ฅ ๋น๋ฒํ ์์ ํ๋์ ํ ํฐ์ผ๋ก ๋ณํฉ""" new_freqs = {} merged = pair[0] + pair[1] for word, freq in word_freqs.items(): new_word = [] i = 0 while i < len(word): # ํ์ฌ ์์น์ ๋ค์ ์์น๊ฐ ๋ณํฉ ๋์ ์๊ณผ ์ผ์นํ๋ฉด ํฉ์นจ if i < len(word) - 1 and (word[i], word[i + 1]) == pair: new_word.append(merged) i += 2 else: new_word.append(word[i]) i += 1 new_freqs[tuple(new_word)] = freq return new_freqs
def train(self, corpus: List[str], num_merges: int = 100): """๋ง๋ญ์น๋ก๋ถํฐ BPE ๊ท์น์ ํ์ต""" word_freqs = self._get_word_freqs(corpus)
for i in range(num_merges): pairs = self._get_pair_stats(word_freqs) if not pairs: break best_pair = max(pairs, key=pairs.get) word_freqs = self._merge_pair(best_pair, word_freqs) self.merges.append(best_pair)
# ์ต์ข
์ดํ์ง ๊ตฌ์ถ vocab_set = set() for word in word_freqs: for token in word: vocab_set.add(token) self.vocab = {token: idx for idx, token in enumerate(sorted(vocab_set))}
def tokenize(self, text: str) -> List[str]: """ํ์ต๋ ๊ท์น์ ์ ์ฉํ์ฌ ์ ํ
์คํธ๋ฅผ ํ ํฐํ""" result = [] for word in text.split(): tokens = list(word) + ["</w>"] # ํ์ต๋ ์์๋๋ก ๋ณํฉ ๊ท์น์ ์ ์ฉ for pair in self.merges: new_tokens = [] i = 0 while i < len(tokens): if i < len(tokens) - 1 and (tokens[i], tokens[i + 1]) == pair: new_tokens.append(pair[0] + pair[1]) i += 2 else: new_tokens.append(tokens[i]) i += 1 tokens = new_tokens result.extend(tokens) return result
# ์ฌ์ฉ ์์corpus = [ "low lower lowest", "new newer newest", "wide wider widest", "slow slower slowest",]
bpe = SimpleBPE()bpe.train(corpus, num_merges=20)
print("ํ์ต๋ ๋ณํฉ ๊ท์น:")for i, merge in enumerate(bpe.merges[:10]): print(f" {i+1}. {merge[0]} + {merge[1]} -> {merge[0]+merge[1]}")
print("\nํ ํฐํ ๊ฒฐ๊ณผ:")print(bpe.tokenize("lowest newer"))์ด ๊ตฌํ์ ๋งค์ฐ ๋จ์ํ์ง๋ง BPE์ ํต์ฌ์ ๋ด๊ณ ์๋ค. ์ค์ ๋ก ์คํํด ๋ณด๋ฉด ํ์ต ๋ง๋ญ์น์์ ๊ฐ์ฅ ๋น๋ฒํ โloโ, โstโ ๋ฑ์ด ๋จผ์ ๋ณํฉ ๊ท์น์ผ๋ก ๋ฑ์ฅํ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
ํ๋ก๋์
์์ค ๊ตฌํ์ ์ด๋ณด๋ค ํจ์ฌ ๋ณต์กํ๋ค. ์ฐ์ ์ฑ๋ฅ ์ต์ ํ๊ฐ ํ์ํ๋ค. ์ ๊ตฌํ์ ๋งค ๋ณํฉ๋ง๋ค ์ ์ฒด ๋ง๋ญ์น๋ฅผ ๋ค์ ์ํํ๋๋ฐ, ์ค์ ๊ตฌํ(์: Hugging Face์ tokenizers ๋ผ์ด๋ธ๋ฌ๋ฆฌ)์ ์ฐ์ ์์ ํ๋ฅผ ์ฌ์ฉํด ๋ณํ๊ฐ ์๋ ๋ถ๋ถ๋ง ์
๋ฐ์ดํธํ๋ค. ๋ํ ๋ฐ์ดํธ ์์ค ์ฒ๋ฆฌ, ์ ๊ท์ ๊ธฐ๋ฐ pre-tokenization, ์บ์ฑ, ๋ฉํฐ์ค๋ ๋ฉ ๋ฑ์ด ์ถ๊ฐ๋๋ค. ํ์ง๋ง ์๊ณ ๋ฆฌ์ฆ์ ํต์ฌ์ ์ด 50์ค ๋จ์งํ ์ฝ๋์ ๋ชจ๋ ๋ด๊ฒจ ์๋ค.
SentencePiece๋ tiktoken์ ์ฌ์ฉํ๋ ์์๋ ๋ณด๊ณ ๋์ด๊ฐ์. ์ค๋ฌด์์๋ ๋ณดํต ์ด๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ค.
# tiktoken ์ฌ์ฉ ์์ (OpenAI ๋ชจ๋ธ ํธํ)import tiktoken
# GPT-4o ํ ํฌ๋์ด์ ๋ก๋enc = tiktoken.get_encoding("o200k_base")
text = "์๋
ํ์ธ์, ์ค๋์ ํ ํฌ๋์ด์ ์ ๋ํด ๊ณต๋ถํด ๋ด
์๋ค."tokens = enc.encode(text)print(f"ํ ํฐ ์: {len(tokens)}")print(f"ํ ํฐ ID: {tokens}")print(f"๊ฐ ํ ํฐ ๋์ฝ๋ฉ: {[enc.decode([t]) for t in tokens]}")
# ๋์ฝ๋ฉ - ์์ ๊ฐ์ญprint(f"๋ณต์: {enc.decode(tokens)}")# SentencePiece๋ก ์ง์ ํ์ตํ๊ธฐimport sentencepiece as spm
# ํ์ต์ฉ ๋ง๋ญ์น ํ์ผ ์ค๋น ํspm.SentencePieceTrainer.train( input="corpus.txt", model_prefix="my_tokenizer", vocab_size=32000, # ๋ง๋ญ์น ํฌ๊ธฐ์ ๋ฐ๋ผ ์กฐ์ model_type="bpe", # ํน์ "unigram" character_coverage=0.9995, # ํ๊ตญ์ด๋ 0.9995 ๊ถ์ฅ pad_id=0, unk_id=1, bos_id=2, eos_id=3,)
# ํ์ต๋ ํ ํฌ๋์ด์ ๋ก๋ ๋ฐ ์ฌ์ฉsp = spm.SentencePieceProcessor()sp.load("my_tokenizer.model")
text = "ํ ํฌ๋์ด์ ํ์ต ์์ ์
๋๋ค."pieces = sp.encode_as_pieces(text)ids = sp.encode_as_ids(text)print(pieces) # ['โํ ํฌ๋์ด์ ', 'โํ์ต', 'โ์์ ', '์
๋๋ค', '.']print(ids)ํ๊ตญ์ด ํ ํฌ๋์ด์ ์ ํน์ํ ์ฌ์
์์ ์ดํด๋ดค๋ฏ ํ๊ตญ์ด ํ ํฐํ๋ ์์ด๋ณด๋ค ํจ์จ์ด ๋จ์ด์ง๋ค. ์ด ๋ฌธ์ ๋ ๋จ์ํ โํ๊ตญ์ด๊ฐ ์ด๋ ค์ด ์ธ์ดโ๋ผ์ ์๊ธฐ๋ ๊ฒ์ด ์๋๋ผ ์ฌ๋ฌ ๊ตฌ์กฐ์ ์์ธ์ด ์ฝํ ์๋ค.
๋ฐ์ดํธ ์์ค BPE์ ํ๊ธ
๋๋ถ๋ถ์ ํ๋ LLM์ ๋ฐ์ดํธ ์์ค BPE๋ฅผ ์ฌ์ฉํ๋ค. ๊ทธ๋ฐ๋ฐ ํ๊ธ ์์ (U+AC00~U+D7A3, ๊ฐ-ํฃ)์ UTF-8๋ก ์ธ์ฝ๋ฉํ ๋ ํ ๊ธ์๋น 3๋ฐ์ดํธ๋ฅผ ์ฐจ์งํ๋ค. ์์ด ์ํ๋ฒณ์ด 1๋ฐ์ดํธ์ธ ๊ฒ๊ณผ ๋์กฐ์ ์ด๋ค. โ๊ฐโ๋ผ๋ ํ ๊ธ์๊ฐ 0xEA 0xB0 0x80์ด๋ผ๋ ์ธ ๋ฐ์ดํธ์ ์ํ์ค๊ฐ ๋๋ค.
ํ์ต ๋ง๋ญ์น์ ์์ด๊ฐ ์๋์ ์ผ๋ก ๋ง์ ํ ํฌ๋์ด์ ์ ๊ฒฝ์ฐ(๋๋ถ๋ถ์ ๊ธ๋ก๋ฒ LLM์ด ๊ทธ๋ ๋ค), ํ๊ธ ๋ณํฉ์ด ์ถฉ๋ถํ ์ผ์ด๋์ง ์๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ง์ ํ๊ธ ๋ฌธ์๊ฐ 2~3๊ฐ์ ๋ฐ์ดํธ ํ ํฐ์ผ๋ก ์ชผ๊ฐ์ง๋ค. โ์๋ ํ์ธ์โ๋ผ๋ ๋ค์ฏ ๊ธ์๊ฐ 10๊ฐ ์ด์์ ํ ํฐ์ด ๋๋ ๊ฒฝ์ฐ๋ ํํ๋ค.
์ด๊ฒ์ด ์ ๋ฌธ์ ์ธ๊ฐ.
์ฒซ์งธ, ๋น์ฉ(cost). LLM API๋ ํ ํฐ ๋จ์๋ก ๊ณผ๊ธํ๋ค. ๊ฐ์ ๋ด์ฉ์ ํ๊ตญ์ด๋ก ์ฃผ๊ณ ๋ฐ์ผ๋ฉด ์์ด๋ก ํ์ ๋๋ณด๋ค 2~3๋ฐฐ ๋น์ผ ์๊ธ์ ๋ด์ผ ํ๋ค.
๋์งธ, ์ง์ฐ(latency). ์ถ๋ก ์๋๋ ์์ฑํ ํ ํฐ ์์ ๋น๋กํ๋ค. ํ๊ตญ์ด ์๋ต์ด ์ฒด๊ฐ์ ๋๋ฆฐ ์ด์ ๋ค.
์ ์งธ, ๋ฌธ๋งฅ ์๋์ฐ(context window) ์๋ชจ. ์ปจํ ์คํธ ๊ธธ์ด๊ฐ 128K ํ ํฐ์ธ ๋ชจ๋ธ์ด๋ผ๋, ํ๊ตญ์ด๋ก๋ ์ค์ง์ ์ผ๋ก 40~50K ๋ฌธ์ ์ ๋๋ฐ์ ๋ด์ง ๋ชปํ๋ค.
์ด ๋ฌธ์ ๋ Petrov et al.์ 2023๋ ์ฐ๊ตฌ Language Model Tokenizers Introduce Unfairness Between Languages์์ ์ฒด๊ณ์ ์ผ๋ก ๋ถ์ํ๋ค. ์ ์๋ค์ ๋ค๊ตญ์ด ํ ํฌ๋์ด์ ์ โtokenization fertilityโ(๋ฌธ์๋น ํ ํฐ ์)๋ฅผ ์ธ์ด๋ณ๋ก ์ธก์ ํ๊ณ , ์ผ๋ถ ์ธ์ด๋ ์์ด ๋๋น ์ต๋ 15๋ฐฐ์ ํ ํฐ์ ์๋ชจํ๋ค๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ํ๋ค. ์ด๋ ๋จ์ํ ํจ์จ์ ๋ฌธ์ ๋ฅผ ๋์ด ์ธ์ด ๊ฐ ํํ์ฑ(equity)์ ๋ฌธ์ ์ด๊ธฐ๋ ํ๋ค.
๊ต์ฐฉ์ด ํน์ฑ๊ณผ ํํ์
ํ๊ตญ์ด๋ ๊ต์ฐฉ์ด๋ค. ์ด๊ทผ์ ์กฐ์ฌ์ ์ด๋ฏธ๊ฐ ๋ถ์ด ์๋ฏธ๋ฅผ ํ์ฅํ๋ค. 'ํ๊ต์์๋'์ 'ํ๊ต' + '์์' + '๋'์ด๋ผ๋ ์ธ ํํ์์ ์กฐํฉ์ด๋ค. ์ด์์ ์ธ ํ ํฌ๋์ด์ ๋ผ๋ฉด ์ด๋ฌํ ํํ์ ๊ฒฝ๊ณ๋ฅผ ์กด์คํด์ผ ํ๋ค.
ํ์ง๋ง ํต๊ณ ๊ธฐ๋ฐ BPE๋ ํํ์ ์ ๋ณด๋ฅผ ์์ง ๋ชปํ๋ค. '์์๋'์ด ์์ฃผ ๋ฑ์ฅํ๋ฉด ํ๋์ ํ ํฐ์ด ๋ ๊ฒ์ด๊ณ , 'ํ๊ต์'๊ฐ ์์ฃผ ๋ฑ์ฅํ๋ฉด ๋ ๊ทธ๊ฒ์ด ํ ํ ํฐ์ด ๋ ๊ฒ์ด๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๊ฐ์ ํํ์๊ฐ ์๋ก ๋ค๋ฅธ ํ ํฐ ๊ฒฝ๊ณ๋ก ์ชผ๊ฐ์ง๋ ์ผ์ด ๋น๋ฒํ๋ค.
์ด ๋ฌธ์ ๋ฅผ ์ํํ๊ธฐ ์ํด ์ ์ฒ๋ฆฌ ๋จ๊ณ์ ํํ์ ๋ถ์๊ธฐ๋ฅผ ๊ฒฐํฉํ๋ ๋ฐฉ์์ด ์๋ค. Mecab-ko, KoNLPy ๊ณ์ด ๋๊ตฌ๋ก ๋จผ์ ํํ์ ๊ฒฝ๊ณ๋ฅผ ๋ถ์ํ ๋ค, BPE๋ฅผ ํ์ต์์ผ ๋ณํฉ์ด ํํ์ ๊ฒฝ๊ณ๋ฅผ ๋์ง ์๋๋ก ์ ๋ํ๋ ๋ฐฉ์์ด๋ค. ์ต๊ทผ ํ๊ตญ์ด ํนํ LLM ๋๋ค์๊ฐ ์ด ์ง์์ด๋ค. EXAONE 3.0์ ๊ต์ฐฉ์ด ํน์ฑ์ ๋ฐ์ํด ํ๊ตญ์ด ๋ง๋ญ์น๋ฅผ MeCab์ผ๋ก pre-tokenizeํ ๋ค vocab 102,400์ BBPE(byte-level BPE)๋ฅผ ํ์ต์์ผฐ๊ณ 2, HyperCLOVA X๋ vocab 100,000์ morpheme-aware byte-level BPE๋ฅผ ์ฌ์ฉํ๋ค3. ์ด ๋ฐฉ์์ ํํ์ ๊ฒฝ๊ณ๋ฅผ ์กด์คํ๋ค๋ ์ฅ์ ์ด ์์ง๋ง ๋ถ์๊ธฐ ์ค๋ฅ๊ฐ ํ์ต์ ์ ํ๋ ์ ์๊ณ , ๊ตฌํ์ ๋ฐ๋ผ์๋ ์ถ๋ก ์์ ๊น์ง ํํ์ ๋ถ์๊ธฐ ์์กด์ฑ์ด ์ด์ด์ง๊ธฐ๋ ํ๋ค.
๋ค๋ฅธ ๋ฐฉํฅ์ ์ ๊ทผ๋ ์๋ค. ํํ์ ๋ถ์ ์์ด ํ๊ตญ์ด ๋ง๋ญ์น ๋น์ค์ ํฌ๊ฒ ๋์ฌ BPE๊ฐ ์์ฐ์ค๋ฝ๊ฒ ํ๊ตญ์ด ํจํด์ ํ์ตํ๋๋ก ํ๋ ๋ฐฉ์์ด๋ค. ๋ํ ์ฌ๋ก๋ Polyglot-Ko๋ก, ์ ์ฒ๋ฆฌ ํ 863GB(์ฒ๋ฆฌ ์ 1.2TB) ํ๊ตญ์ด ๋ฐ์ดํฐ๋ก vocab 30,003์ BPE๋ฅผ ํ์ตํ๋ค4. ์นด์นด์ค๋ธ๋ ์ธ์ KoGPT๋ ์ ์ฌํ ์ ๊ทผ์ด๋ค5. ์์ ๋ฐ์ดํฐ ๊ธฐ๋ฐ์ด๋ฏ๋ก ๋ถ์๊ธฐ ์ค๋ฅ๊ฐ ์๊ณ ๋ฅ๋ฌ๋ ์นํ์ ์ด์ง๋ง ์ดํ์ง์ด ํ๊ตญ์ด์ ๋ง์ด ํ ์ ๋์ด์ผ ํ๋ฏ๋ก ๋ค๊ตญ์ด ์ง์ ์ Trade-off๊ฐ ์๊ธด๋ค.
์ต๊ทผ์๋ ์ 3์ ๋ฐฉํฅ๋ ๋ฑ์ฅํ๋ค. ํํ์ ๋ถ์๊ธฐ ์์ด vocab ํฌ๊ธฐ๋ฅผ ๊ณผ๊ฐํ ํค์ฐ๊ณ , SuperBPE6์ฒ๋ผ ๊ณต๋ฐฑ์ ๋๋ ๋ณํฉ์ ํ์ฉํ๋ ๊ธฐ๋ฒ์ผ๋ก ํ๊ตญ์ด ํ ํฐ ํจ์จ์ ๊ฐ์ ํ๋ ์ ๊ทผ์ด๋ค. 2026๋ ๊ณต๊ฐ๋ K-EXAONE7์ ๊ธฐ์กด EXAONE ๊ณ์ด์ vocab 100K๋ฅผ 150K๋ก ์ฌ์ค๊ณํ๋ฉด์ SuperBPE ์ ๋ต์ ๋์ ํด superword ํ ํฐ์ด ์ ์ฒด ์ดํ์ ์ฝ 20%๋ฅผ ์ฐจ์งํ๋๋ก ํ๊ณ , ์ด๋ฅผ ํตํด ํ๊ท ์ฝ 30%์ ํ ํฐ ํจ์จ ๊ฐ์ ์ ๋ณด๊ณ ํ๋ค.
Pre-tokenizer regex์ ๋ฏธ๋ฌํ ์ฐจ์ด
GPT-4o์ o200k_base์ LLaMA 3์ ์ ๊ท์์ ๋น๊ตํด ๋ณด๋ฉด, o200k_base๋ \p{L}์ ๋์๋ฌธ์ ์นดํ
๊ณ ๋ฆฌ(\p{Lu}, \p{Ll} ๋ฑ)๋ก ์ชผ๊ฐ ๋ผํด ๊ณ์ด์ CamelCase๋ ๋ถ์๊ธฐํธ ์กฐํฉ์ ๋ ์ ๋ฐํ๊ฒ ํฌ์ฐฉํ๋ค. ๋ฐ๋ฉด LLaMA 3๋ ๋จ์ผ \p{L}+๋ฅผ ์ฐ๋ ๋ ๋จ์ํ ์ ๊ท์์ ์ ์งํ๋ค. ๊ทธ๋ฌ๋ ํ๊ธ์ ๋์๋ฌธ์ ๊ตฌ๋ถ์ด ์๋ \p{Lo} ์นดํ
๊ณ ๋ฆฌ์ ์ํ๋ฏ๋ก, o200k_base์ ์ด ์ธ๋ถํ๋ ํ๊ธ ์ฒ๋ฆฌ์ ์ฌ์ค์ ์ํฅ์ ์ฃผ์ง ์๋๋ค โ ๋ ์ ๊ท์ ๋ชจ๋ ํ๊ธ์ ๋ณ๋๋ก ์ทจ๊ธํ์ง ์๋๋ค๋ ์ ์์ ๋์ผํ๋ค.
ํ๊ตญ์ด์ ์ํฅ์ ์ฃผ๋ ๋ณ์๋ ๋ฐ๋ก ์๋ค. ์ ํ ๊ณต๋ฐฑ์ ํ ํฐ์ ๋ถ์ด๋ ๋ฐฉ์, ์ซ์๋ฅผ ๋ช ์๋ฆฌ ๋จ์๋ก ๋๋์ง, ๊ทธ๋ฆฌ๊ณ \p{Lo} ์ฐ์ ๋ฌธ์์ด์ ํ ๋ฉ์ด๋ฆฌ๋ก ๋ฌถ์์ง ์๊ฒ ์ชผ๊ฐค์ง ๊ฐ์ ์ ํ์ด๋ค. ์ด ์ค๊ณ๋ค์ด vocab ํ ๋น๊ณผ ๊ฒฐํฉํ์ฌ ์ต์ข
์ ์ผ๋ก ํ๊ตญ์ด ํ ํฐํ ํจ์จ์ ๊ฒฐ์ ํ๋ค.
์ด๋ฐ ์ค๊ณ ์ ํ์ ๋์ผํ ๋ชจ๋ธ ํฌ๊ธฐ์ ํ์ต ๋ฐ์ดํฐ๋ผ๋ ์ค์ ์๋น์ค ์ฑ๋ฅ(ํ ํฐ๋น ๋ฐ์ดํธ, ์ถ๋ก ๋น์ฉ, ํ๊ตญ์ด ๋ค์ด์คํธ๋ฆผ ํ์ง)์ ์๋นํ ์ํฅ์ ๋ฏธ์น๋ค. ๊ทธ๋์ ํ๊ตญ์ด LLM์ ๊ฐ๋ฐํ ๋๋ ํ ํฌ๋์ด์ ์ค๊ณ๋ฅผ ๋งค์ฐ ์ ์คํ๊ฒ ํด์ผ ํ๋ค. ํ ๋ฒ ํ์ ํ ํ ํฌ๋์ด์ ๋ ์ดํ ๋ชจ๋ธ ๊ฐ์ค์น์ ๋ฌถ์ฌ ์์ ํ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ด๋ค.
ํ ํฌ๋์ด์ ๋ฅผ ์ด๋ป๊ฒ ํ๊ฐํ ๊ฒ์ธ๊ฐ
ํ ํฌ๋์ด์ ์ ์ฑ๋ฅ์ ํ๊ฐํ๋ ๊ฒ์ ์๊ฐ๋ณด๋ค ๊น๋ค๋กญ๋ค. ์ฌ๋ฌ ์งํ๊ฐ ์๊ณ ๊ฐ๊ธฐ ์ธก์ ํ๋ ์์ฑ์ด ๋ค๋ฅด๋ค. ๊ฒ๋ค๊ฐ ํ ํฌ๋์ด์ ์ โ์ข์โ์ ๊ฒฐ๊ตญ ์ธ์ด ๋ชจ๋ธ์ ํ์ตยท์ถ๋ก ํ์ง์ ๊ฐ์ ์ ์ผ๋ก ๋๋ฌ๋๋ ๊ฒ์ด๋ผ, ํ ํฌ๋์ด์ ๋ง ๋ฐ๋ก ๋ผ์ด ์ ์๋ฅผ ๋งค๊ธฐ๋ ์ผ์ ์ธ์ ๋ ๋ถ๋ถ์ ์ผ ์๋ฐ์ ์๋ค.
Fertility - ๋จ์๋น ํ ํฐ ์
๊ฐ์ฅ ์ง๊ด์ ์ธ ์งํ๋ fertility๋ค. ํ ์คํธ ํ ๋จ์๋ฅผ ํ ํฐํํ์ ๋ ๋ช ๊ฐ์ ํ ํฐ์ด ๋์ค๋์ง๋ฅผ ๋ํ๋ธ๋ค. ์์ด๊ถ์์๋ ๋จ์ด๋น ํ ํฐ ์(tokens/word)๋ก, ๋ค๊ตญ์ด ๋น๊ต์์๋ ๋ฌธ์๋น ํ ํฐ ์๋ก ์ด๋ค.
๋ฎ์์๋ก ๊ฐ์ ๋ด์ฉ์ ๋ ์ ์ ํ ํฐ์ผ๋ก ํํํ๋ค๋ ๋ป์ด๋ค. ๊ณ์ฐ์ด ์ฝ๊ณ ์ง๊ด์ ์ด์ด์ ๋น์ฉยท์ง์ฐยท๋ฌธ๋งฅ ํจ์จ์ ๋ ผํ ๋ ๊ฐ์ฅ ๋จผ์ ๋ณด๋ ์์น๋ค.
fertility๋ ๊ทธ ์์ฒด๋ก๋ ํ์ง ์งํ๊ฐ ์๋๋ค. ์ดํ์ง์ ํค์ฐ๋ฉด fertility๋ ๋ด๋ ค๊ฐ์ง๋ง ์๋ฒ ๋ฉ ํ๋ ฌ์ด ์ ํ์ผ๋ก ์ปค์ ธ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋๊ณ ํฌ๊ท ํ ํฐ์ ์ ๋๋ก ํ์ต๋์ง ์๋๋ค. fertility๊ฐ ๋ฎ๋ค๊ณ ํด์ ์ข์ ํ ํฌ๋์ด์ ์ธ ๊ฒ์ ์๋๋ผ๋ ๋ป์ด๋ค.
์์ถ๋ฅ ๊ณผ ์ ๋ณด๋ฐ๋
fertility์ ๋จ์ ์ ๋ณด์ํ๋ ๊ฒ์ด BPB(bits-per-byte) ํน์ BPC(bits-per-character)๋ค. ์ด๋ โ๋ชจ๋ธ์ด ํ ๋ฌธ์(ํน์ ๋ฐ์ดํธ)๋ฅผ ์์ธกํ๋ ๋ฐ ๋ช ๋นํธ์ ์ ๋ณด๊ฐ ํ์ํ๊ฐโ๋ฅผ ๋ํ๋ธ๋ค. ๋ฎ์์๋ก ๋ชจ๋ธ์ด ํ ์คํธ๋ฅผ ์ ์์ถํ๋ค๋ ๋ป์ด๋ค.
๋ถ์๋ ํ ํฐ ์ ๋ํ ๋ชจ๋ธ์ log-likelihood ํฉ์ด๊ณ , ๋ถ๋ชจ ๋ ์ ํ ์คํธ์ ๋ฐ์ดํธ ์๋ค. ๋ถ์๋ ํ ํฐ ๊ณต๊ฐ์์ ๊ณ์ฐํ์ง๋ง ๋ถ๋ชจ๋ ํ ํฌ๋์ด์ ์ ๋ฌด๊ดํ ๋ฐ์ดํธ ์๋ผ๋ ์ ์ด ํต์ฌ์ด๋ค.
์ด ๋น๋์นญ ๋๋ถ์ BPB๋ ํ ํฌ๋์ด์ ๊ฐ ๋ฌ๋ผ๋ ๊ณต์ ํ๊ฒ ๋น๊ต ๊ฐ๋ฅํ๋ค. Perplexity๋ฅผ ๊ทธ๋๋ก ๋น๊ตํ๋ฉด ํ ํฌ๋์ด์ ๊ฐ ๋ค๋ฅธ ์๊ฐ ๊ฐ ์์ฒด๊ฐ ์๊ณก๋๋๋ฐ, BPB๋ ์ ํ ์คํธ๋ผ๋ ๊ณตํต ๊ธฐ์ค์ผ๋ก ์ ๊ทํํ๋ ๊ทธ ๋ฌธ์ ๋ฅผ ํผํ๋ค. ์ด๋ฅผ ๊ฐ์กฐํ ๊ฒ์ด Rust et al.์ 2021๋ ์ฐ๊ตฌ How Good is Your Tokenizer? On the Monolingual Performance of Multilingual Language Models๋ค. ์ ์๋ค์ ํ ํฌ๋์ด์ ๊ฐ ๋ค์ด์คํธ๋ฆผ ์ฑ๋ฅ์ ๋ฏธ์น๋ ์ํฅ์ ์ ๋ํํ๊ธฐ ์ํด BPB๋ฅผ ํต์ฌ ์งํ๋ก ์ผ๋ค.
๋จ, BPB๋ ๋ง๋ฅ์ ์๋๋ค. BPB๊ฐ ์ฌ๋ ๊ฒ์ ๋ชจ๋ธ์ ์์ถ ๋ฅ๋ ฅ์ด์ง ๋ค์ด์คํธ๋ฆผ ํ์คํฌ(QA, ์ถ๋ก , ์ฝ๋ ์์ฑ) ์ฑ๋ฅ์ด ์๋๋ค. ์ต๊ทผ ์ฌ๋ฌ ์ฐ๊ตฌ๋ BPB์ ์ค์ ํ์คํฌ ์ฑ๋ฅ์ ์๊ด์ด ์๋ฒฝํ์ง ์๋ค๋ ๊ฒ์ ์ง์ ํด ์๋ค. ํ ํฌ๋์ด์ ์ ์์ถ ์ฑ๋ฅ๊ณผ ์ค์ ์ธ์ด๋ชจ๋ธ์ ์ฑ๋ฅ์ด ๋น๋กํ๋ ์๋๋ค๋ ๊ฒ์ด๋ค. โ์ข์ ํ ํฌ๋์ด์ โ๋ฅผ ํ์ํ๋ ค๋ ์ฐ๊ตฌ์์ ๊ฐ์ฅ ๊ณจ์น ์ํ ๋ถ๋ถ์ด ๋ฐ๋ก ์ด ์ง์ ์ด๋ค.
ํํ์ ๊ฒฝ๊ณ ๋ณด์กด์จ
์ธ์ดํ์ ๊ด์ ์์๋ ํํ์ ๊ฒฝ๊ณ๋ฅผ ์ผ๋ง๋ ์ ๋ณด์กดํ๋๊ฐ๋ ์ค์ํ ์งํ๋ค. ํํ์ ๋ถ์๊ธฐ ์ถ๋ ฅ์ ๊ธฐ์ค์ผ๋ก ์ผ๊ณ , ํ ํฌ๋์ด์ ๊ฐ ๋ง๋ ๊ฒฝ๊ณ์์ ์ผ์น์จ์ precision/recall๋ก ๊ณ์ฐํ๋ค.
ํ๊ตญ์ด, ํ๋ฅดํค์์ด, ํ๋๋์ด์ฒ๋ผ ํํ๋ก ์ ์ผ๋ก ํ๋ถํ ์ธ์ด์์ ํนํ ์ค์ํ๋ค. ๋ค๋ง โ์ข์โ ๊ฒฝ๊ณ๊ฐ ๋ฌด์์ธ์ง๋ ๋ ผ์์ ์ฌ์ง๊ฐ ์๋ค. ํํ์๊ฐ ํญ์ ์๋ฏธ ๋จ์์ ์ผ์นํ๋ ๊ฒ์ ์๋๊ณ , ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ์ธ์ดํ์ ๊ฒฝ๊ณ์ ๋ฌด๊ดํ ํจ์จ์ ํํ์ ์ฐพ์๋ผ ๋๋ ๋ง๋ค๋ ์ฆ๊ฑฐ๋ ์์ฌ ์๋ค(Bostrom & Durrett 2020 ๋ฑ). ํด์ ๊ฐ๋ฅ์ฑ์๋ ์ ๋ฆฌํ์ง๋ง, ๋ค์ด์คํธ๋ฆผ ์ฑ๋ฅ๊ณผ์ ์ง์ ์ ์ธ๊ณผ๋ ์ฐ๊ตฌ๋ง๋ค ๊ฒฐ๋ก ์ด ์๊ฐ๋ฆฐ๋ค.
Intrinsic vs Extrinsic ํ๊ฐ
์์ ์งํ๋ค์ ๋ชจ๋ ๋ด์ฌ์ (intrinsic) ํ๊ฐ์ ์ํ๋ค. ํ ํฌ๋์ด์ ๋ง ๋จ๋ ์ผ๋ก ํ๊ฐํ๋ ๊ฒ์ด๋ค. ๋ฐ๋ฉด ์ธ์ฌ์ (extrinsic) ํ๊ฐ๋ ํ ํฌ๋์ด์ ๋ฅผ ์ค์ ๋ชจ๋ธ์ ํ์ฌํ๊ณ ๋ค์ด์คํธ๋ฆผ ํ์คํฌ์์์ ์ฑ๋ฅ์ ์ธก์ ํ๋ค.
์ธ์ฌ์ ํ๊ฐ๋ ์ค์ํ์ง๋ง ํ๊ฐ๋ฅผ ์ํ ๋น์ฉ์ด ํฌ๋ค. LLM์ ๋งค๋ฒ ์ฒ์๋ถํฐ ํ์ตํด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋์ ์ค๋ฌด์์๋ intrinsic ์งํ๋ก ํ๋ณด๋ฅผ ๊ฑธ๋ฌ๋ธ ํ, ์ ๋งํ ํ๋ณด๋ง ์๊ท๋ชจ ํ์ต์ผ๋ก ๊ฒ์ฆํ๋ ๋ฐฉ์์ด ์ผ๋ฐ์ ์ด๋ค.
ํ ํฌ๋์ด์ ๊ฐ LLM์ ๋ฏธ์น๋ ์ํฅ
ํ ํฌ๋์ด์ ๊ฐ ๋ชจ๋ธ ๊ฐ์ค์น์ ๋ ๋ฆฝ์ ์ธ ์ปดํฌ๋ํธ๋ผ๋ ์ฌ์ค ๋๋ฌธ์ ๋ง์ ์ฌ๋์ด ์ด๋ฅผ ๋ถ์์ ์ธ ๊ฒ์ผ๋ก ์ทจ๊ธํ๋ค. ํ์ง๋ง ํ ํฌ๋์ด์ ๋ ๋ชจ๋ธ์ ์ฌ๋ฌ ํต์ฌ ๋์์ ๊น์ ์ํฅ์ ๋ฏธ์น๋ค.
์ซ์ ๊ณ์ฐ ๋ฅ๋ ฅ๊ณผ ํ ํฐํ
๊ฐ์ฅ ํฅ๋ฏธ๋ก์ด ์ฌ๋ก๋ ์ซ์ ํ ํฐํ๋ค. ์ด๊ธฐ LLM์ด ์ฐ์ ๊ณ์ฐ์ ์ฝํ๋ค๋ ๊ฒ์ ์ ๋ช ํ ์ฌ์ค์ธ๋ฐ, ๊ทธ ์์ธ ์ค ํ๋๊ฐ ํ ํฌ๋์ด์ ์ ์๋ค.
GPT-2์ BPE๋ ์ซ์๋ฅผ ์๋ฆฟ๊ฐ ๊ตฌ์กฐ์ ๋ฌด๊ดํ๊ฒ ๋ณํฉํ๋ค. ๋ง๋ญ์น์ 2023์ด ์์ฃผ ๋ฑ์ฅํ๋ค๋ฉด ['2023']์ด ํ ํ ํฐ์ด ๋๊ณ , 1234๋ ['12', '34']๊ฐ ๋๋ ์์ด๋ค. ๊ฐ์ ๋ค ์๋ฆฟ์๋ผ๋ ์ซ์๋ง๋ค ๋ถ์ ์ด ๋ค๋ฅด๊ณ ์๋ฆฟ๊ฐ ๊ฒฝ๊ณ๊ฐ ๋ณด์กด๋์ง ์๋๋ค. ๋ชจ๋ธ ์
์ฅ์์๋ ๊ฐ์ ์ฐ์ฐ(์: ๋ง์
์ ์๋ฆฌ ์ฌ๋ฆผ)์ ํ์ตํ๊ธฐ ์ํด ์๋ก ๋ค๋ฅธ ํ ํฐ ์กฐํฉ ์๋ฐฑ ๊ฐ์ง๋ฅผ ๋ณ๊ฐ๋ก ์ตํ์ผ ํ๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ต๊ทผ ๋ชจ๋ธ๋ค์ ์ซ์ ๋ถ์ ์ ๊ณ ์ ํ๋ค. LLaMA 1/2, Mistral, Gemma๋ ๊ฐ ์ซ์๋ฅผ ๊ฐ๋ณ ํ ํฐ์ผ๋ก ์ฒ๋ฆฌํ๊ณ , GPT-4 ๊ณ์ด๊ณผ LLaMA 3๋ 3์๋ฆฟ์ ๋จ์๋ก ๋ฌถ๋ ๋ฐฉ์์ ์ด๋ค. ์ด๋ ์ชฝ์ด๋ ์๋ฆฟ๊ฐ ๊ตฌ์กฐ๊ฐ ๋ณด์กด๋๋ค๋ ์ ์ด ์ค์ํ๋ฉฐ, ์ด ์์ ๋ณ๊ฒฝ๋ง์ผ๋ก๋ ์ฐ์ ๊ณผ์ ์์ ์๋นํ ์ฑ๋ฅ ํฅ์์ ์ป์๋ค.8.
Glitch tokens - ํ์ต๋์ง ์์ ํ ํฐ
2023๋
์ด GPT ๊ณ์ด์์ ๋ฐ๊ฒฌ๋ ์ ๋ช
ํ ๋ฒ๊ทธ๊ฐ ์๋ค. SolidGoldMagikarp, rrawerrer, petertodd ๊ฐ์ ์ด์ํ ํ ํฐ๋ค์ด ์ดํ์ง์ ์กด์ฌํ๋๋ฐ, ์ด๋ค์ ์
๋ ฅํ๋ฉด ๋ชจ๋ธ์ด ๊ธฐ๊ดดํ ๋ฐ์์ ๋ณด์๋ค. ๋ง์ ๋๋ฌ๊ฑฐ๋, ์ ํ ๊ด๋ จ ์๋ ์ฃผ์ ๋ก ์ดํํ๊ฑฐ๋, ์ค๋ฅ๋ฅผ ์ผ์ผ์ผฐ๋ค9.
์์ธ์ ์ด๋ฌ๋ค. ํ ํฌ๋์ด์ ํ์ต์ ์ฌ์ฉ๋ ๋ง๋ญ์น(Reddit ์คํฌ๋ํ ๋ฐ์ดํฐ ๋ฑ)์์ ์ด ๋ฌธ์์ด๋ค์ด ๋์ ๋น๋๋ก ๋ฑ์ฅํด ํ๋์ ํ ํฐ์ผ๋ก ๋ณํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ดํ ์ธ์ด ๋ชจ๋ธ ํ์ต ๋จ๊ณ์์๋ ํํฐ๋ง ํ์ดํ๋ผ์ธ์ด ๋ฐ๋๊ฑฐ๋ ํด๋น ๋ฐ์ดํฐ ์์ค๊ฐ ๋ฐฐ์ ๋๋ฉด์ ์ด ํ ํฐ๋ค์ด ๊ฑฐ์ ๋ฑ์ฅํ์ง ์์๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ชจ๋ธ์ ์ด ํ ํฐ์ ๋์ํ๋ ์๋ฒ ๋ฉ ๋ฒกํฐ๋ฅผ ์ ๋๋ก ํ์ตํ์ง ๋ชปํ๊ณ , ๋ฌด์์์ ๊ฐ๊น์ด ๋ฐ์์ ํ๊ฒ ๋๋ค.
์ด ์ฌ๋ก๋ ํ ํฌ๋์ด์ ์ ๋ชจ๋ธ์ ๋ฐ์ดํฐ ๋ถ์ผ์น๊ฐ ์ผ๋ง๋ ๋ฏธ๋ฌํ ๋ฒ๊ทธ๋ฅผ ๋ง๋ค ์ ์๋์ง ๋ณด์ฌ ์ค๋ค. ํ ํฌ๋์ด์ ๋ฅผ ์ค๊ณํ ๋๋ ์ดํ ์ฐ์ผ ํ์ต ๋ง๋ญ์น์ ๋ถํฌ์ ํํฐ๋ง ํ์ดํ๋ผ์ธ๊น์ง ํจ๊ป ๊ณ ๋ คํด์ผ ํ๋ค.
์ดํ์ง ํฌ๊ธฐ์ ์ ํ
ํ ํฌ๋์ด์ ์ ์ดํ์ง ํฌ๊ธฐ๋ ์ฌ๋ฌ ํธ๋ ์ด๋์คํ๋ฅผ ๋ง๋ ๋ค.
ํฐ ์ดํ์ง์ ์ฅ์ : fertility๊ฐ ๋ฎ์์ ธ ์ํ์ค ๊ธธ์ด๊ฐ ์งง์์ง๊ณ , ์ถ๋ก ์๋๊ฐ ๋นจ๋ผ์ง๋ฉฐ, ๊ฐ์ ๋ฌธ๋งฅ ๊ธธ์ด์ ๋ ๋ง์ ๋ด์ฉ์ ๋ด์ ์ ์๋ค.
ํฐ ์ดํ์ง์ ๋จ์ : ์๋ฒ ๋ฉ ๋ ์ด์ด์ ์ต์ข softmax ๋ ์ด์ด์ ํ๋ผ๋ฏธํฐ๊ฐ ์ปค์ง๋ค. ์ด ๋ ๋ ์ด์ด๋ ๊ฐ๊ฐ ํฌ๊ธฐ์ด๋ฉฐ(weight tying์ผ๋ก ๊ณต์ ํ๊ธฐ๋ ํ๋ค), ์ดํ์ง ํฌ๊ธฐ ๊ฐ 10๋ง์์ 20๋ง์ผ๋ก ๋ ๋ฐฐ๊ฐ ๋๋ฉด ํด๋น ๋ฉ๋ชจ๋ฆฌ๋ ๋ ๋ฐฐ๊ฐ ๋๋ค. ๋ํ ํ์ต ์ ๊ฐ ํ ํฐ๋น ๋ ธ์ถ๋๋ ์์ ์๊ฐ ์ค์ด๋ค์ด ๋๋ฌธ ํ ํฐ์ ์ถฉ๋ถํ ํ์ต๋์ง ์์ ์ ์๋ค.
ํ๋ LLM์ ์ดํ์ง ํฌ๊ธฐ๋ 32K์์ ์ถ๋ฐํด ์ต๊ทผ์๋ 100K~256K ๋ฒ์๋ฅผ ์ฌ์ฉํ๋ค. LLaMA 1์ 32K, LLaMA 3์ 128K, GPT-4o์ 200K, K-EXAONE์ 150K, Gemma 2์ 256K์ฒ๋ผ ์ต๊ทผ ์ถ์ธ๋ ๋ถ๋ช ํฌ๊ธฐ๋ฅผ ํค์ฐ๊ณ ์๋ค. ๊ทธ๋ฌ๋ ๋ง๋ฅ ์ปค์ง ์๋ ์๋ค. ๋ค๊ตญ์ด ์ง์๊ณผ ๊ธด ๋ฌธ๋งฅ ์๊ตฌ๊ฐ ์ํ์ ํค์ฐ๋ ๋งํผ ์๋ฒ ๋ฉ ๋ฉ๋ชจ๋ฆฌ์ ๋๋ฌธ ํ ํฐ ํ์ต ๋ถ๋ด์ด ํํ์ ๋ถ์ก๊ณ ์๋ค.
ํ๋กฌํํธ ์ธ์ ์ ๊ณผ ๋ณด์
ํ ํฌ๋์ด์ ์ ํน์ดํ ๋์์ด ๋ณด์ ์ด์๋ก ์ด์ด์ง๊ธฐ๋ ํ๋ค. ๋ํ์ ์ธ ๊ฒ์ด ์๊ฐ์ ์ผ๋ก๋ ๋์ผํ์ง๋ง ํ ํฐ ID๊ฐ ๋ค๋ฅธ ๋ฌธ์์ด์ ์ด์ฉํ ์ฐํ ๊ณต๊ฒฉ์ด๋ค. ์ผ๋ฐ ๊ณต๋ฐฑ ๋์ non-breaking space๋ฅผ, ์ผ๋ฐ ์ํ๋ฒณ ๋์ ์ ์ฌํ ํค๋ฆด ๋ฌธ์๋ฅผ ์์ผ๋ฉด ์ฌ๋ ๋์๋ ๊ฐ์ ํ ์คํธ์ง๋ง ๋ชจ๋ธ์ ์์ ํ ๋ค๋ฅธ ํ ํฐ ์ํ์ค๋ก ๋ฐ์๋ค์ธ๋ค. ์ด๋ฅผ ์ด์ฉํด ์ฝํ ์ธ ํํฐ๋ฅผ ์ฐํํ ์ ์๋ค. ์๋ฐํ ๋งํ๋ฉด ์ด๊ฑด ์ ๋์ฝ๋ ์ ๊ทํ ๋จ๊ณ์ ์ด์์ง๋ง, ํ ํฌ๋์ด์ ํ์ดํ๋ผ์ธ์ด ๊ทธ ์ ๊ทํ๋ฅผ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ๋๋์ ๋ฐ๋ผ ์ทจ์ฝ์ฑ์ด ๊ฒฐ์ ๋๋ฏ๋ก ์ฌ์ค์ ํ ํฌ๋์ด์ ์ค๊ณ ๋ฌธ์ ๋ก ๋ถ๋ฅ๋๋ค.
์์ ๋ค๋ฃฌ glitch token๋ ๋ณด์ ๊ด์ ์์ ์ฌํด์ํ ์ ์๋ค. ํ์ต๋์ง ์์ ํ ํฐ์ ์ ๋ ฅ์ ์์ผ๋ฉด ๋ชจ๋ธ์ด ์์ธก ๋ถ๊ฐ๋ฅํ๊ฒ ๋ฐ์ํ๋ฏ๋ก, ์์ ์ฅ์น๋ฅผ ์ฐํํ๊ฑฐ๋ ์๋ํ์ง ์์ ์ถ๋ ฅ์ ์ ๋ํ๋ ์๋จ์ด ๋ ์ ์๋ค.
์ด๋ฐ ์ฌ๋ก๋ค์ ํ ํฌ๋์ด์ ์ค๊ณ๊ฐ ๋จ์ํ ์ฑ๋ฅ ๋ฌธ์ ๊ฐ ์๋๋ผ ์์คํ ์ ๋ขฐ์ฑ๊ณผ ์์ ์ฑ์ ๋ฌธ์ ์ด๊ธฐ๋ ํจ์ ๋ณด์ฌ ์ค๋ค.
์ต์ ์ฐ๊ตฌ ๋ํฅ
์ด ๋ถ์ผ๋ ์ต๊ทผ ๋น ๋ฅด๊ฒ ์์ง์ด๊ณ ์๋ค. ๋ช ๊ฐ์ง ์ฃผ๋ชฉํ ๋งํ ์ฐ๊ตฌ ๋ฐฉํฅ์ ์ ๋ฆฌํด ๋ณธ๋ค.
SuperBPE - ๋จ์ด ๊ฒฝ๊ณ๋ฅผ ๋์ด์
2025๋
Liu et al.์ด ๋ฐํํ SuperBPE๋ ๊ธฐ์กด BPE์ ๋จ์ด ๊ฒฝ๊ณ ์ ์ฝ์ ์์ค ๋ณํ์ด๋ค6. ์ผ๋ฐ BPE๋ pre-tokenizer๊ฐ ๋จ์ด ๋จ์๋ก ๋จผ์ ์ชผ๊ฐ๊ธฐ ๋๋ฌธ์ ์๋ก ๋ค๋ฅธ ๋จ์ด์ ์ํ ๋ฌธ์ ์์ ๋ณํฉ๋์ง ์๋๋ค. of the๋ผ๋ ์์ฃผ ๋ฑ์ฅํ๋ ๊ตฌ๋ฌธ์กฐ์ฐจ ๋ ๊ฐ์ ํ ํฐ์ผ๋ก ๋จ๋๋ค.
SuperBPE๋ ํ์ต ๊ณผ์ ์ ๋ ๋จ๊ณ๋ก ๋๋๋ค. 1๋จ๊ณ์์๋ ์ผ๋ฐ BPE์ฒ๋ผ ๋จ์ด ๋ด๋ถ์์๋ง ๋ณํฉ์ ์ํํ๊ณ , 2๋จ๊ณ์์๋ ๋จ์ด ๊ฒฝ๊ณ ์ ์ฝ์ ํ๊ณ ๊ต์ฐจ ๋จ์ด(cross-word) ๋ณํฉ์ ํ์ฉํ๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก of_the, in_the ๊ฐ์ ๊ณ ๋น๋ ๊ตฌ๋ฌธ์ด ๋จ์ผ ํ ํฐ์ด ๋๋ค.
์ ์๋ค์ด 8B ๊ท๋ชจ๋ก ์ง์ ์ฌ์ ํ์ตํด ๋น๊ตํ ์คํ์์ SuperBPE๋ 30๊ฐ ๋ค์ด์คํธ๋ฆผ ํ์คํฌ ํ๊ท +4.0%p(MMLU์์ +8.2%p)์ ์ ๋์ ์ฑ๋ฅ ํฅ์์ ๋ณด์๊ณ , ๋์์ ์ถ๋ก ์ ์ปดํจํ ์ ์ฝ 27% ์ ๊ฐํ๋ค. ์ด ๊ฒฐ๊ณผ๊ฐ ์๋ฏธ ์๋ ์ด์ ๋ fertility ๊ฐ์๊ฐ ๋จ์ํ โํ ํฐ ํจ์จโ ์งํ๋ง ๊ฐ์ ํ๋ ๊ฒ ์๋๋ผ ๋ค์ด์คํธ๋ฆผ ์ฑ๋ฅ์๋ ์ ์ด๋๋ค๋ ์ ์ ๋ช ์์ ์ผ๋ก ๋ณด์๊ธฐ ๋๋ฌธ์ด๋ค. ํ๊ตญ์ด ๋งฅ๋ฝ์์๋ ์์ ์ธ๊ธํ K-EXAONE์ด SuperBPE๋ฅผ ์ฑํํ ๋ํ ์ฌ๋ก๋ค.
Tekken - Mistral์ ๋ค๊ตญ์ด ํ ํฌ๋์ด์
Mistral์ด 2024๋ NeMo ๊ณต๊ฐ์ ํจ๊ป ๋ฐํํ Tekken์ tiktoken ๊ธฐ๋ฐ์ด์ง๋ง ๋ค๊ตญ์ด, ํนํ ์ ๋ฝ ์ธ์ด์ ๋น๋ผํด ๋ฌธ์ ์ธ์ด์ ๋ํ ํจ์จ์ ํฌ๊ฒ ๊ฐ์ ํ๋ค10. 100๊ฐ ์ด์์ ์ธ์ด๋ก ํ์ตํ์ผ๋ฉฐ, ์ด์ Mistral์ SentencePiece ๋๋น ์์ค ์ฝ๋ยท์ค๊ตญ์ดยท์ดํ๋ฆฌ์์ดยทํ๋์ค์ดยท๋ ์ผ์ดยท์คํ์ธ์ดยท๋ฌ์์์ด์์ ์ฝ 30%, ํ๊ตญ์ด์์ ์ฝ 2๋ฐฐ, ์๋์ด์์ ์ฝ 3๋ฐฐ ํจ์จ์ด ๊ฐ์ ๋์๋ค. ํต์ฌ์ ์ธ์ด๋ณ ๋น์ค์ ์ธ์ฌํ๊ฒ ์กฐ์ ํ ํ์ต ๋ง๋ญ์น์ pre-tokenizer ์ ๊ท์ ํ๋์ด๋ค.
ํ ํฌ๋์ด์ ์๋ ๋ชจ๋ธ - Byte-level Transformers
ํํธ์์๋ ํ ํฌ๋์ด์ ๋ฅผ ์์ ์์ ๋ ค๋ ์๋๋ ๊พธ์คํ ์ด์ด์ง๊ณ ์๋ค. ByT511, MegaByte12, MambaByte13 ๊ฐ์ ๋ชจ๋ธ์ UTF-8 ๋ฐ์ดํธ ์์ค์์ ์ง์ ๋์ํ๋ค. ํ ํฌ๋์ด์ ๋ก ์ธํ ํธํฅ๊ณผ ๋ถํ๋ฑ์ ์ ๊ฑฐํ ์ ์์ง๋ง, ์ํ์ค ๊ธธ์ด ํญ๋ฐ์ด๋ผ๋ ์ค๋๋ ๋ฌธ์ ๊ฐ ๋ค์ ๋ฑ์ฅํ๋ค. ํ๊ธ ์์ ํ๋๊ฐ 3๋ฐ์ดํธ๋๊น, ๊ฐ์ ๋ด์ฉ์ ๋ฐ์ดํธ ์ํ์ค๋ก ํํํ๋ฉด ํ ํฐ ์ํ์ค๋ณด๋ค ํจ์ฌ ๊ธธ์ด์ง๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์์ด๋์ด๋ ๋ค์ํ๋ค. MegaByte๋ ๋ฐ์ดํธ๋ฅผ ๊ณ ์ ํฌ๊ธฐ ํจ์น๋ก ๋ฌถ์ด ๊ณ์ธต์ ํธ๋์คํฌ๋จธ๋ฅผ ๊ตฌ์ฑํ๊ณ , Mamba ๊ณ์ด์ ์ํ๊ณต๊ฐ ๋ชจ๋ธ๋ก ์ดํ ์ ์ ๋ณ๋ชฉ์ ํํผํ๋ค. 2024๋ Meta๊ฐ ๋ฐํํ Byte Latent Transformer(BLT)๋ ํ ๊ฑธ์ ๋ ๋์๊ฐ, ๋ฐ์ดํธ ์ํธ๋กํผ์ ๋ฐ๋ผ ํจ์น ๊ฒฝ๊ณ๋ฅผ ๋์ ์ผ๋ก ๊ฒฐ์ ํ๋ค14. โ์์ธกํ๊ธฐ ์ฌ์ด ๊ตฌ๊ฐ์ ๊ธธ๊ฒ, ์ด๋ ค์ด ๊ตฌ๊ฐ์ ์งง๊ฒโ ํจ์น๋ฅผ ์ก๋ ๋ฐ์์ด๋ค. BLT๋ LLaMA 3์ ๊ฐ์ ํ์ต ์์ฐ์์ ๋น์ทํ๊ฑฐ๋ ๋ ๋์ ์ค์ผ์ผ๋ง์ ๋ณด์๊ณ , ๋ ธ์ด์ฆ๊ฐ ํฌํจ๋ ์ ๋ ฅ์์๋ ํ ํฐ ๊ธฐ๋ฐ ๋ชจ๋ธ์ ํฌ๊ฒ ์์ฐ๋ค. ์์ง ๋ํ ๋ชจ๋ธ์์ BPE ๊ธฐ๋ฐ ์ ๊ทผ์ ์์ ํ ๋์ฒดํ์ง๋ ๋ชปํ์ง๋ง, ์ฅ๊ธฐ์ ์ผ๋ก ์ ๋ ฅํ ๋ฐฉํฅ์ด๋ค.
Pre-tokenizer์ ๊ฒฐ์ ์ ์ํฅ - Wegmann et al. 2025
๋ ํ๋ ์ฃผ๋ชฉํ ๋งํ ์ฐ๊ตฌ๊ฐ Wegmann et al. 2025๋ค15. ์ด๋ค์ BERT base๋ฅผ ์ฌ๋ฌ ์กฐ๊ฑด์์ ์ง์ ์ฌ์ ํ์ตํด, ํ ํฌ๋์ด์ ์ค๊ณ์ ์ด๋ ์ถ์ด ๋ค์ด์คํธ๋ฆผ ์ฑ๋ฅ์ ๊ฐ์ฅ ํฐ ์ํฅ์ ๋ฏธ์น๋์ง ์ฒด๊ณ์ ์ผ๋ก ๋น๊ตํ๋ค. ๋น๊ต ์ถ์ ์ธ ๊ฐ์ง์๋ค. ํ์ต ๋ง๋ญ์น, ์ดํ์ง ํฌ๊ธฐ, ๊ทธ๋ฆฌ๊ณ pre-tokenizer.
๊ฒฐ๋ก ์ ํฅ๋ฏธ๋กญ๋ค. Pre-tokenizer์ ์ ํ์ด ๊ฐ์ฅ ํฐ ์ํฅ์ ๋ฏธ์น๋ฉฐ, ๊ทธ ์ํฅ์ ๋ง๋ญ์น๋ ์ดํ์ง ํฌ๊ธฐ๋ณด๋ค ํฌ๋ค. ๋ํ ํ์คํฌ ์ฑ๊ฒฉ์ ๋ฐ๋ผ ์ต์ ์ ํ ํฌ๋์ด์ ๊ฐ ๋ค๋ฅด๋ค๋ ์ ๋ ํ์ธ๋์๋ค โ ์๋ฏธ ์ค์ฌ ํ์คํฌ(NLI ๋ฑ)์์๋ GPT-2 ํ์ ๋ ๊ณต๊ฒฉ์ ์ธ pre-tokenizer๊ฐ ์ ๋ฆฌํ์ง๋ง, ํํ ๋ฏผ๊ฐ ํ์คํฌ(์ ์ ์๋ณ, ๋ฐฉ์ธ ๋ถ๋ฅ ๋ฑ)์์๋ LLaMA 3 ํ์ ๋ ๋ณด์์ ์ธ pre-tokenizer์ ํฐ ์ดํ์ง์ด ์ ๋ฆฌํ๋ค๋ ๊ฒ์ด๋ค. ์ ์๋ค์ ์ด ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ์ผ๋ก Rรฉnyi entropy ๊ฐ์ ๊ธฐ์กด intrinsic ์งํ๋ณด๋ค ๋ค์ด์คํธ๋ฆผ ์ฑ๋ฅ๊ณผ ์๊ด์ด ๋์ ์๋ก์ด proxy(ํ ํฐ ์กด์ฌ ๊ธฐ๋ฐ ๋ก์ง์คํฑ ํ๊ท)๋ ์ ์ํ๋ค.
์ด ์ฐ๊ตฌ๊ฐ ํฅ๋ฏธ๋ก์ด ์ด์ ๋ ์์ โBPB์ ๋ค์ด์คํธ๋ฆผ ์ฑ๋ฅ์ ์๊ด์ด ์๋ฒฝํ์ง ์๋คโ๊ณ ํ๋ ์ง์ ์ ๋ํ ๋ถ๋ถ์ ํด๋ต์ ์ ์ํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ ์ด๋ pre-tokenizer๋ผ๋ ์ถ ํ๋๋ง ๋๊ณ ๋ณด๋ฉด ์ค๊ณ ์ ํ์ด ์ฑ๋ฅ์ ์ฒด๊ณ์ ์ผ๋ก ๋ฐ์๋๋ค๋ ๊ฒ์ด๋ค.
์ด๋ฐ ๊ด์ ์ ์๋ก์ด ํ ํฌ๋์ด์ ๋ฅผ ์ค๊ณํ ๋ ์ ์ฉํ๋ค. โBPE ๋ณํ์ ํ๋ ๋ ๋ง๋ ๋คโ๊ฐ ์๋๋ผ โpre-tokenizerยท์ดํ์ง ํ์ต ์๊ณ ๋ฆฌ์ฆยท์ดํ์ง ํฌ๊ธฐโ๋ฅผ ๊ฐ๊ฐ ๋ช ์์ ์ ํ์ผ๋ก ๋ค๋ฃฐ ์ ์๊ฒ ํด ์ฃผ๊ธฐ ๋๋ฌธ์ด๋ค. ๊ฐ์ธ์ ์ผ๋ก ํ๊ตญ์ด ํ ํฌ๋์ด์ ์์ ์์ ์ด ์ฐ๊ตฌ์ ์ํฅ์ ๋ง์ด ๋ฐ์๋ค.
์ค๋ฌด ์ ํ ๊ฐ์ด๋
์ง๊ธ๊น์ง์ ๋ด์ฉ์ ์ค๋ฌด ๊ด์ ์์ ์ ๋ฆฌํด ๋ณธ๋ค. ์๋ก์ด ํ๋ก์ ํธ์์ ํ ํฌ๋์ด์ ๋ฅผ ์ ํํ๊ฑฐ๋ ์ค๊ณํ ๋ ๊ณ ๋ คํ ์ง์ ๋ค์ด๋ค.
๊ธฐ์กด ๋ชจ๋ธ์ ํ์ธํ๋ํ๋ ๊ฒฝ์ฐ
๊ธฐ๋ณธ์ ์๋ ํ ํฌ๋์ด์ ๋ฅผ ๊ทธ๋๋ก ์ฐ๋ ๊ฒ์ด๋ค. ํ ํฌ๋์ด์ ๋ฅผ ๋ฐ๊พธ๋ฉด ์๋ฒ ๋ฉ ๋ ์ด์ด๋ฅผ ๋ค์ ํ์ตํด์ผ ํ๊ณ , ์ด๋ ์ฌ์ค์ ์ฌ์ ํ์ต ์ผ๋ถ๋ฅผ ์ฌํํ๋ ์ผ์ด ๋๋ค.
์์ธ๋ ์ธ ๊ฐ์ง๋ค. ์ฒซ์งธ, ์ดํ์ง ํ์ฅ(vocab extension). ๋๋ฉ์ธ ํนํ ์ฉ์ด๋ ํ๊ตญ์ด ํ ํฐ ๋ช๋ฐฑ~๋ช์ฒ ๊ฐ๋ฅผ ์ถ๊ฐํ๋ ์ ๋๋ ์ค๋ฌด์์ ํํ ํ๋ ์ผ์ด๋ค. ๋จ, ์ ํ ํฐ์ ์๋ฒ ๋ฉ ์ด๊ธฐํ์ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ฌ์ผ ํ๋ฉฐ(ํ๊ท ์๋ฒ ๋ฉ, ์๋ธ์๋ ํฉ์ฑ ๋ฑ), ์ถ๊ฐํ ํ ํฐ์ด ์ค์ ๋ก ํ์ต๋๋๋ก ์ถฉ๋ถํ continued pre-training์ด ํ์ํ๋ค. ๋์งธ, ์ดํ์ง ๊ต์ฒด(vocab swap). ZeTT(Minixhofer et al. 2024) ๊ฐ์ zero-shot transfer ๊ธฐ๋ฒ์ด ๋ฑ์ฅํ๋ฉด์ ์์ ํ ๊ต์ฒด๋ ํ์ค์ ์ ํ์ง๊ฐ ๋๋ค. ์ ์งธ, ์ถฉ๋ถํ ์ฌํ์ต ์์ฐ์ด ์๋ ๊ฒฝ์ฐ. Dagan et al.(2024)์ ๊ฒฝํ์ ๊ฒฐ๊ณผ์ ๋ฐ๋ฅด๋ฉด ์ฝ 50B ํ ํฐ ๊ท๋ชจ์ continued pre-training์ผ๋ก ํ ํฌ๋์ด์ ๊ต์ฒด์ ์ํฅ์ ๊ฑฐ์ ํ๋ณตํ ์ ์๋ค16.
์ ๋ชจ๋ธ์ ์ฒ์๋ถํฐ ํ์ตํ๋ ๊ฒฝ์ฐ
๋์ ์ธ์ด์ ๋๋ฉ์ธ ๋ถํฌ๋ฅผ ๋ช ํํ ์ ํ๊ณ , ๊ทธ์ ๋ง๋ ๋ง๋ญ์น๋ก SentencePiece BPE๋ tiktoken ์คํ์ผ BBPE๋ฅผ ์๋ก ํ์ตํ๋ค.
์ดํ์ง ํฌ๊ธฐ๋ ์ต๊ทผ ์งํ์ ๋ฐ์ํด ๊ฒฐ์ ํ๋ค. ์์ด ๋จ์ผ ๋ชจ๋ธ์ด๋ผ๋ฉด 32K~64K๋ก๋ ์ถฉ๋ถํ์ง๋ง, ๋ค๊ตญ์ด ํน์ ํ๊ตญ์ด ์ค์ฌ์ด๋ผ๋ฉด ์ต์ 64K, ์ค์ ์์๋ 100K~200K๊ฐ ๋ณดํต์ด๋ค(K-EXAONE 150K, GPT-4o 200K, Gemma 2 256K). ์ดํ์ง์ด ํฌ๋ค๊ณ ๋ฌด์กฐ๊ฑด ์ข์ ๊ฑด ์๋๊ณ , ๋๋ฌธ ํ ํฐ์ ํํ ํ์ต๊ณผ ์๋ฒ ๋ฉ ๋ฉ๋ชจ๋ฆฌ๋ผ๋ ์ํ์ด ์๋ค๋ ์ ์ ์ ์น์ ์์ ๋ค๋ฃฌ ๋๋ก๋ค.
ํ๊ตญ์ด ๋น์ค์ ํ ํฌ๋์ด์ ํ์ต ๋ง๋ญ์น์์ ๊ฒฝํ์ ์ผ๋ก ๋๊ฒ ์ก๋ ๊ฒ ์ข๋ค. ์์ด๊ฐ ๋ค์์ธ ํผํฉ ๋ง๋ญ์น์์๋ ํ๊ตญ์ด ๋ณํฉ์ด ์ถฉ๋ถํ ์ผ์ด๋์ง ์์ fertility๊ฐ ์ ํ๋๋ค. ๊ณต๊ฐ๋ ์ ํํ ์์น๋ ์์ง๋ง, ๋ด ๊ฒฝํ์์๋ ํ๊ตญ์ด ์ค์ฌ ๋ชจ๋ธ์ด๋ฉด ํ์ต ๋ง๋ญ์น์ ํ๊ตญ์ด ๋น์ค์ ์๋นํ ๋์ฌ์ผ ์๋ฏธ ์๋ ํ๊ตญ์ด fertility๊ฐ ๋์จ๋ค. ํํธ morpheme-aware ๋ฐฉ์์ ํํ ์ง(EXAONEยทHyperCLOVA X ๊ณ์ด) ์์ ๋ฐ์ดํฐ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ์ง(Polyglot-Ko ๊ณ์ด) ํน์ vocab์ ๊ณผ๊ฐํ ํค์ SuperBPE ์คํ์ผ๋ก ํ์ง(K-EXAONE)๋ ์์ ์น์ ๋ค์ ํธ๋ ์ด๋์คํ๋ฅผ ๋ฐํ์ผ๋ก ํ๋จํ๋ค.
๋ค๊ตญ์ด ๋ชจ๋ธ์ ๊ฐ๋ฐํ๋ ๊ฒฝ์ฐ
๊ฐ ์ธ์ด์ fertility๋ฅผ ์ธก์ ํ๊ณ ๊ฒฉ์ฐจ๋ฅผ ํ์ธํ๋ค. ๋จ, ๋ง๋ญ์น ๋น์ค๋ง์ผ๋ก๋ fertility ๊ท ํ์ด ์กํ์ง ์๋๋ค๋ ์ ์ ์ ๋ ํด์ผ ํ๋ค. Petrov et al. 2023์ด ๋ณด์๋ฏ ์ธ์ด์ ํ์ ๋ก ์ ํน์ฑ๊ณผ pre-tokenizer ์ค๊ณ๊ฐ ๋ง๋ญ์น ๋น์ค๋ณด๋ค ํฐ ์ํฅ์ ๋ฏธ์น๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค17. ์ค๋ฌด์์ ์ฐ์ด๋ ์ํ์ฑ ์ผ๋ก๋ ์ธ์ด๋ณ ๋ถ๋ก ์ดํ์ง(language-specific tail), superword ํ ํฐ์ ์ธ์ด๋ณ ํ ๋น(K-EXAONE์ 2:3:1 ๋น์จ์ฒ๋ผ), parallel tokenizer ๊ฐ์ ์ ๊ทผ๋ค์ด ์๋ค.
ํ๊ฐ ํ์ดํ๋ผ์ธ
์ฌ๋ฌ ํ๋ณด๋ฅผ ๋น๊ตํ ๋๋ ๋จ๊ณ์ ์ผ๋ก ๊ฑฐ๋ฅธ๋ค.
- 1์ฐจ ์คํฌ๋ฆฌ๋(intrinsic): ๋์ ์ธ์ดยท๋๋ฉ์ธ ๋ง๋ญ์น์ ๋ํ fertility, BPB, coverage(๋ฐ์ดํธ ํด๋ฐฑ ๋น์จ ๋ฑ)๋ฅผ ์ธก์ ํ๋ค. ๋ชจ๋ ํ๋ณด๋ฅผ ๋น ๋ฅด๊ฒ ํ๋ ๋จ๊ณ๋ค.
- 2์ฐจ ๊ตฌ์กฐ ๊ฒ์ฆ: ํํ์ ๊ฒฝ๊ณ ๋ณด์กด์จ, ์ซ์ยท์ฝ๋ยท์ด๋ชจ์ง ๊ฐ์ ํน์ ๋๋ฉ์ธ์ ๋ถ์ ํ์ง, dead token ์ถ์ ์น.
- 3์ฐจ proxy LM ๊ฒ์ฆ: 125M~1B ๊ท๋ชจ์ ์ํ LM์ ๊ฐ ํ๋ณด ํ ํฌ๋์ด์ ๋ก ํ์ต์์ผ ๋ค์ด์คํธ๋ฆผ ๋ช ๊ฐ๋ฅผ ์ฌ ๋ณธ๋ค. ๋น์ฉ์ด ํฌ์ง๋ง, ๋ด์ฌ์ ์งํ๋ง์ผ๋ก ๊ณ ๋ฅผ ๋์ ์ํ์ ์ค์ฌ ์ค๋ค.
- ์ต์ข sanity check: full-scale ํ์ต ์ง์ ์ ๊ฐ์ญ์ฑ๊ณผ ํน์ ์ผ์ด์ค ์ฒ๋ฆฌ๋ฅผ ํ ๋ฒ ๋ ๊ฒ์ฆํ๋ค.
๊ฐ์ญ์ฑ๊ณผ ์ ๊ทํ ๊ฒ์ฌ
์ด๋ค ํ ํฌ๋์ด์ ๋ฅผ ์ ํํ๋ ์ธ์ฝ๋ฉ-๋์ฝ๋ฉ ์๋ณต์ด ์์ ํ ํญ๋ฑ ํจ์์ธ์ง ๋ฐ๋์ ๊ฒ์ฆํด์ผ ํ๋ค. ์ ๋์ฝ๋ ์ ๊ทํ, ๊ณต๋ฐฑ ์ฒ๋ฆฌ, ํน์ ํ ํฐ ์ฒ๋ฆฌ ๋ฑ์์ ๋ฏธ๋ฌํ ์์ค์ด ์๊ธฐ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๊ณ , ์ด๋ ์ค์ ์๋น์ค์์ โ์ฌ์ฉ์ ์ ๋ ฅ์ด ์ด์ง ๋ฐ๋์ด ์ถ๋ ฅ๋๋คโ๋ ๋ฒ๊ทธ๋ก ์ด์ด์ง๋ค.
ํนํ ์ ๋์ฝ๋ ์ ๊ทํ ๋ฐฉ์(NFC vs NFKC)์ ์ ํ์ ๋๋ฉ์ธ์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ ํฌ๊ฒ ๋ฌ๋ผ์ง๋ค. NFKC๋ ํธํ์ฑ ๊ธฐ๋ฐ ์ ๊ทํ๋ผ ์์ฒจ์/์๋์ฒจ์/ํน์ ๊ธฐํธ๋ฅผ ํ๋ฒํ ํํ๋ก โ๋ญ๊ฐ๋โ ๋ฐ๋ฉด, NFC๋ ์ด๋ฐ ์๋ฏธ ๊ตฌ๋ถ์ ๋ณด์กดํ๋ค. K-EXAONE์ด STEMยท์ฝ๋ ๋๋ฉ์ธ ์ฑ๋ฅ์ ์ํด NFKC์์ NFC๋ก ์ ํํ ๊ฒ์ด ๋ํ์ ์ฌ๋ก๋ค. ํ๊ตญ์ด ๋จ๋ ์ผ๋ก ๋ณด๋ฉด ํ๊ธ ์กฐํฉํ/์์ฑํ ์ฒ๋ฆฌ(NFD vs NFC) ์ญ์ ํ ํฐํ ๊ฒฐ๊ณผ์ ์ํฅ์ ์ค๋ค.
๋ง๋ฌด๋ฆฌ โ Low level์์ ๋ณด์ด๋ ๊ฒ๋ค
์ธ์ด ๋ชจ๋ธ์ ๊ฐ๋ฐํ๋ค ๋ณด๋ฉด ํ๋ คํ ์ํคํ ์ฒ๋ ๊ฑฐ๋ํ ํ์ต ๊ท๋ชจ์ ์์ ์ ๋นผ์๊ธฐ๊ธฐ ์ฝ๋ค. ํ์ง๋ง ๋ชจ๋ธ์ด ์ธ์์ ์ฝ๋ ๊ฐ์ฅ ๋ฎ์ ์ธต์, ๊ทธ ๊ด๋ฌธ์ด ์ด๋ป๊ฒ ์๊ฒผ๋๋๊ฐ ๊ฒฐ๊ตญ ๊ทธ ์์ ์์ด๋ ๋ชจ๋ ๊ฒ์ ์ ์ฝํ๋ค. ๋์ผํ LLM์์๋ ์์ด๋ณด๋ค ํ๊ตญ์ด๋ก ๋ํํ ๋ ๋ต๋ตํ ์ด์ ๋, ์ซ์ ๊ณ์ฐ์ ์ ๋ ์ฝํ ๋ชจ๋ธ์ด ์๋ ์ด์ ๋, ๋์ผํ ์ํคํ ์ฒ๋ผ๋ ์ธ์ด์ ๋ฐ๋ผ ์ฑ๋ฅ์ด ๋ฌ๋ผ์ง๋ ์ด์ ๋ ๊ฒฐ๊ตญ ์ด ๋ฎ์ ์ธต์์ ๋ฌธ์ ์์ ์ถ๋ฐํ๋ค.
ํ ํฌ๋์ด์ ๋ ํ๋ คํ์ง ์๋ค. ๋ ผ๋ฌธ ํ ํธ์ผ๋ก ๋ง๋ค๊ธฐ ์ด๋ ต๊ณ , ๋์ ๋๋ ์ฃผ๋ชฉ์ ๋ฐ์ง๋ ์๋๋ค. ํ์ง๋ง ๋ฐ๋ก ๊ทธ ์์ ๋ชจ๋ธ์ ํ์งยทํจ์จยท๋น์ฉยท์์ ์ฑ์ ๊ฒฐ์ ํ๋ ์๋ง์ ๋ณ์๊ฐ ์จ์ด ์๋ค. ์ด ๊ธ์ด ๊ทธ ์์ ๋ค์ฌ๋ค๋ณด๋ ค๋ ๋๊ตฐ๊ฐ์๊ฒ ์์ ๋์์ด ๋์์ผ๋ฉด ํ๋ค.
๋ค์ ๊ธ์์๋ ๋ด๊ฐ ์ง๊ธ ์์ ์ค์ธ ํ๊ตญ์ด ํ ํฌ๋์ด์ ์ ๊ตฌ์ฒด์ ์ธ ์ค๊ณ ์ ํ์ ๋ค๋ค ๋ณด๋ ค ํ๋ค. pre-tokenizer ์ ๊ท์์ ์ด๋ป๊ฒ ์งฐ๋์ง, ์ดํ์ง ํฌ๊ธฐ๋ฅผ ์ผ๋ง๋ก ์ ํ๊ณ ์ ๊ทธ๋ ๊ฒ ์ ํ๋์ง, ํํ์ ๋ถ์๊ธฐ ์ฐ๋์ ๋๊ณ ์ด๋ค ๊ณ ๋ฏผ์ ํ๋์ง, ํ๊ฐ ํ๋กํ ์ฝ์ ์ด๋ป๊ฒ ์ธ์ ๋์ง ๊ฐ์ ์ด์ผ๊ธฐ๋ค์ด๋ค. ์ด๋ก ๋ง์ผ๋ก๋ ๋ณด์ด์ง ์๋ ๋ถ๋ถ์ด ๊ฑฐ๊ธฐ์ ์๋ค.
Footnotes
-
Gage, P. A New Algorithm for Data Compression. The C Users Journal, 1994. โฉ
-
LG AI Research. EXAONE 3.0 7.8B Instruction Tuned Language Model. arXiv:2408.03541, 2024. https://arxiv.org/abs/2408.03541 โฉ
-
Yoo, K. M. et al. (NAVER Cloud HyperCLOVA X Team). HyperCLOVA X Technical Report. arXiv:2404.01954, 2024. https://arxiv.org/abs/2404.01954 โฉ
-
Ko, H. et al. A Technical Report for Polyglot-Ko: Open-Source Large-Scale Korean Language Models. arXiv:2306.02254, 2023. https://arxiv.org/abs/2306.02254 โฉ
-
Kim, I., Han, G., Ham, J., & Baek, W. KoGPT: KakaoBrain Korean(hangul) Generative Pre-trained Transformer. 2021. https://github.com/kakaobrain/kogpt โฉ
-
Liu, A. et al. SuperBPE: Space Travel for Language Models. arXiv:2503.13423, 2025 (COLM 2025). https://arxiv.org/abs/2503.13423 โฉ โฉ2
-
LG AI Research. K-EXAONE Technical Report. arXiv:2601.01739, 2026. https://arxiv.org/abs/2601.01739 โฉ
-
Singh, A., & Strouse, D. Tokenization counts: the impact of tokenization on arithmetic in frontier LLMs. arXiv:2402.14903, 2024. https://arxiv.org/abs/2402.14903 โฉ
-
Rumbelow, J., & Watkins, M. SolidGoldMagikarp (plus, prompt generation). LessWrong, 2023. https://www.lesswrong.com/posts/aPeJE8bSo6rAFoLqg/solidgoldmagikarp-plus-prompt-generation โฉ
-
Mistral AI. Mistral NeMo. 2024-07. https://mistral.ai/news/mistral-nemo โฉ
-
Xue, L. et al. ByT5: Towards a Token-free Future with Pre-trained Byte-to-Byte Models. TACL, 2022 (arXiv:2105.13626). https://arxiv.org/abs/2105.13626 โฉ
-
Yu, L. et al. MEGABYTE: Predicting Million-byte Sequences with Multiscale Transformers. NeurIPS 2023 (arXiv:2305.07185). https://arxiv.org/abs/2305.07185 โฉ
-
Wang, J. et al. MambaByte: Token-free Selective State Space Model. arXiv:2401.13660, 2024 (COLM 2024). https://arxiv.org/abs/2401.13660 โฉ
-
Pagnoni, A. et al. Byte Latent Transformer: Patches Scale Better Than Tokens. arXiv:2412.09871, 2024. https://arxiv.org/abs/2412.09871 โฉ
-
Wegmann, A., Nguyen, D., & Jurgens, D. Tokenization is Sensitive to Language Variation. Findings of ACL 2025 (arXiv:2502.15343). https://arxiv.org/abs/2502.15343 โฉ
-
Dagan, G., Synnaeve, G., & Roziรจre, B. Getting the Most out of Your Tokenizer for Pre-training and Domain Adaptation. ICML 2024. https://arxiv.org/abs/2402.01035 โฉ
-
Petrov, A., La Malfa, E., Torr, P. H. S., & Bibi, A. Language Model Tokenizers Introduce Unfairness Between Languages. NeurIPS 2023 (arXiv:2305.15425). https://arxiv.org/abs/2305.15425 โฉ