์•ˆ๋…•ํ•˜์„ธ์š”, ์˜ค๋Š˜์€ ์ž์—ฐ์–ด์ฒ˜๋ฆฌ์˜ ๊ฐ€์žฅ ๊ธฐ์ดˆ์— ํ•ด๋‹นํ•˜๋Š” Tokenization ์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ณ  ๊ฐ ๋ฐฉ๋ฒ•๋ก ๋“ค์˜ ํ•ต์‹ฌ ์•„์ด๋””์–ด๋“ค์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค! ํ…์ŠคํŠธ๋ฅผ ์ž˜๊ฒŒ ์ชผ๊ฐœ๋Š” ๊ธฐ์ˆ ์ด ์–ด๋–ป๊ฒŒ ์ปดํ“จํ„ฐ๊ฐ€ ์ธ๊ฐ„์˜ ์–ธ์–ด๋ฅผ ์ดํ•ดํ•˜๋„๋ก ๋•๋Š”์ง€ ํ•จ๊ป˜ ํ™•์ธํ•ด๋ด…์‹œ๋‹ค.

ํ† ํฐํ™”๋ž€ ๋ฌด์—‡์ผ๊นŒ์š”? ๐Ÿค”

ํ† ํฐํ™”๋Š” ๊ธด ๋ฌธ์žฅ์„ ์ž‘์€ ์กฐ๊ฐ์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๊ณผ์ •์ด์—์š”. ๋งˆ์น˜ ํฐ ์ผ€์ดํฌ๋ฅผ ๋จน๊ธฐ ์ข‹๊ฒŒ ์ž๋ฅด๋Š” ๊ฒƒ์ฒ˜๋Ÿผ์š”! ์ด๋ ‡๊ฒŒ ๋‚˜๋ˆˆ ์กฐ๊ฐ๋“ค์„ 'ํ† ํฐ'์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด๋ณผ๊นŒ์š”?

"์•ˆ๋…•ํ•˜์„ธ์š”, ์˜ค๋Š˜ ๋‚ ์”จ๊ฐ€ ์ฐธ ์ข‹๋„ค์š”!" 
โ†’ ["์•ˆ๋…•ํ•˜์„ธ์š”", ",", "์˜ค๋Š˜", "๋‚ ์”จ๊ฐ€", "์ฐธ", "์ข‹๋„ค์š”", "!"]

Tokenization์€ ๋ฌธ์žฅ์ด๋‚˜ ๋ฌธ์„œ๋ฅผ ๋ชจ๋ธ์ด ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์€ ๋‹จ์œ„, ์ฆ‰ ํ† ํฐ๋“ค๋กœ ๋ถ„ํ• ํ•˜๋Š” ๊ณผ์ •์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์€ ํ™•๋ฅ  ๋ชจ๋ธ์ด๋“  ์‹ ๊ฒฝ๋ง ๋ชจ๋ธ์ด๋“  ๊ฐ„์—, ๊ธฐ๊ณ„๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ์‹ฌ๋ณผ ์‹œํ€€์Šค๋ฅผ ์ž…๋ ฅ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค.

ํ† ํฐํ™” ๋ฐฉ๋ฒ•๋“ค ๐ŸŽญ

ํ† ํฐํ™”๋ฅผ ํ†ตํ•ด ๋ฌธ์žฅ ๋˜๋Š” ๋ฌธ์„œ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ถ„์ ˆํ™”ํ•˜์—ฌ ๋ชจ๋ธ๋งํ• ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์€ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ๋ถ„์•ผ์—์„œ ์˜ค๋žซ๋™์•ˆ ๊ณ ๋ฏผ๋˜์–ด ์˜จ ์ฃผ์ œ์ž…๋‹ˆ๋‹ค. ์ด์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ํ† ํฌ๋‚˜์ด์ œ์ด์…˜ ๋ฐฉ๋ฒ•์ด ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ, ๊ฐ ๋ฐฉ๋ฒ•์€ ํŠน์ • ์ƒํ™ฉ์ด๋‚˜ ์–ธ์–ด์— ๋” ์ ํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณผ๊ฑฐ๋ถ€ํ„ฐ ์‚ฌ์šฉ๋˜์–ด ์˜จ ๋‹ค์–‘ํ•œ ํ† ํฌ๋‚˜์ด์ œ์ด์…˜ ๋ฐฉ๋ฒ•๋“ค์„ ๊ฐ„๋‹จํžˆ ์ •๋ฆฌํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

1. N-gram: ์—ฐ์†๋œ ๋‹จ์–ด๋“ค์˜ ๋ฌถ์Œ

N-gram์€ ์—ฐ์†๋œ N๊ฐœ์˜ ๋‹จ์–ด๋ฅผ ํ•˜๋‚˜์˜ ํ† ํฐ์œผ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ด์—์š”.
์˜ˆ: "๋‚˜๋Š” ์‚ฌ๊ณผ๋ฅผ ์ข‹์•„ํ•ด์š”"

  • 1-gram: ["๋‚˜๋Š”", "์‚ฌ๊ณผ๋ฅผ", "์ข‹์•„ํ•ด์š”"]
  • 2-gram: ["๋‚˜๋Š” ์‚ฌ๊ณผ๋ฅผ", "์‚ฌ๊ณผ๋ฅผ ์ข‹์•„ํ•ด์š”"]
    ์ด๋Š” ํ…์ŠคํŠธ ๋‚ด์—์„œ ์•„์ดํ…œ์˜ ์—ฐ์†์„ฑ์„ ํฌ์ฐฉํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

2. Character: ํ•œ ๊ธ€์ž์”ฉ ์ชผ๊ฐœ๊ธฐ

์ด ๋ฐฉ๋ฒ•์€ ํ…์ŠคํŠธ๋ฅผ ๊ฐ€์žฅ ์ž‘์€ ๋‹จ์œ„์ธ ๋ฌธ์ž๋กœ ๋‚˜๋ˆ ์š”.
์˜ˆ: "์•ˆ๋…•" โ†’ ["์•ˆ", "๋…•"]
์ด๋Š” ๊ฐœ๋ณ„ ๋ฌธ์ž๋ฅผ ๋…๋ฆฝ์ ์ธ ํ† ํฐ์œผ๋กœ ์ทจ๊ธ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ, ์–ธ์–ด์˜ ๊ตฌ์กฐ์  ํŠน์„ฑ์„ ๋œ ๊ณ ๋ คํ•˜๋ฉฐ, ๋งค์šฐ ์„ธ๋ฐ€ํ•œ ์ˆ˜์ค€์˜ ๋ถ„์„์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

3. Word: ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ„๊ธฐ

๊ฐ€์žฅ ์ง๊ด€์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ, ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๋‹จ์–ด๋ฅผ ๋‚˜๋ˆ ์š”.
์˜ˆ: "๋‚˜๋Š” ํ•™์ƒ์ž…๋‹ˆ๋‹ค" โ†’ ["๋‚˜๋Š”", "ํ•™์ƒ์ž…๋‹ˆ๋‹ค"]

4. Morpheme: ์˜๋ฏธ์˜ ์ตœ์†Œ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„๊ธฐ

๋ฌธ์žฅ์„ ๊ฐ€์žฅ ์ž‘์€ ์˜๋ฏธ ๋‹จ์œ„์ธ ํ˜•ํƒœ์†Œ๋กœ ๋‚˜๋ˆ„๋Š” ๋ฐฉ๋ฒ•์ด์—์š”.
์˜ˆ: "๋‚˜๋Š” ํ•™์ƒ์ž…๋‹ˆ๋‹ค" โ†’ ["๋‚˜", "๋Š”", "ํ•™์ƒ", "์ด๋‹ค"]
์ด๋Š” ํŠนํžˆ ๊ตด์ ˆ ์–ธ์–ด ์ฒ˜๋ฆฌ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

5. Subword: ์ž‘์€ ์˜๋ฏธ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„๊ธฐ

์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋‹จ์–ด์˜ ์ผ๋ถ€๋ถ„์„ ํ† ํฐ์œผ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ด์—์š”.
์˜ˆ: "unbelievable" โ†’ ["un", "believe", "able"]
โ€˜Byte Pair Encoding (BPE)โ€™ ๋˜๋Š” โ€˜WordPieceโ€™์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ฌธ์ž์˜ ์กฐํ•ฉ์ด๋‚˜ ๋‹จ์–ด์˜ ๋ถ€๋ถ„์„ ํ† ํฐ์œผ๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ด๋Š” ํšจ์œจ์ ์ธ ์–ดํœ˜ ํฌ๊ธฐ ๊ด€๋ฆฌ์™€ ๋” ๋‚˜์€ ์ผ๋ฐ˜ํ™”๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

์œ„ ๋ฐฉ๋ฒ•๋ก ์„ ๊ฐ„๋‹จํžˆ ์˜ˆ๋ฅผ ๋“ค์–ด๋ณด๋ฉด ์•„๋ž˜์˜ ํ…Œ์ด๋ธ”๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ฐ ํ† ํฌ๋‚˜์ด์ œ์ด์…˜ ๋ฐฉ์‹์€ ํŠน์ • ์–ธ์–ด๋‚˜ ๋ฌธ์ œ์— ๋”ฐ๋ผ ๊ทธ ํšจ์œจ์„ฑ์ด ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ ์ ˆํ•œ ๋ฐฉ์‹์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ์„ฑ๋Šฅ์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

๊ณผ๊ฑฐ ์—ฐ๊ตฌ์—์„œ๋Š” ๋‚˜๋ผ๋ณ„, ๋ฌธํ™”๋ณ„, ์–ธ์–ด๊ถŒ๋ณ„๋กœ ์„ ํ˜ธ๋˜๋Š” ํ† ํฌ๋‚˜์ด์ œ์ด์…˜ ๋ฐฉ์‹์ด ๋‹ค์–‘ํ–ˆ์Šต๋‹ˆ๋‹ค:

  • ๋กœ๋งˆ ์–ธ์–ด๊ถŒ: ๋‹จ์–ด(word) ๊ธฐ๋ฐ˜ ํ† ํฌ๋‚˜์ด์ œ์ด์…˜์ด ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ผํ‹ด๊ณ„ ์–ธ์–ด์˜ ๊ตฌ์กฐ์ƒ ๋‹จ์–ด ๊ฐ„ ๊ตฌ๋ถ„์ด ๋ช…ํ™•ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
  • ์ค‘๊ตญ์–ด ์–ธ์–ด๊ถŒ: ๋ฌธ์ž(character) ๊ธฐ๋ฐ˜ ํ† ํฌ๋‚˜์ด์ œ์ด์…˜์ด ์ฃผ๋กœ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ค‘๊ตญ์–ด๋Š” ๊ฐ ๋ฌธ์ž๊ฐ€ ๊ณ ์œ ํ•œ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฐฉ์‹์ด ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.
  • ํ•œ๊ตญ์–ด: ํ˜•ํƒœ์†Œ(morpheme) ๊ธฐ๋ฐ˜ ํ† ํฌ๋‚˜์ด์ œ์ด์…˜์ด ์„ ํ˜ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ•œ๊ตญ์–ด๋Š” ๊ตด์ ˆ ์–ธ์–ด์˜ ํŠน์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด ํ˜•ํƒœ์†Œ ๋ถ„์„์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ์ผ๋ณธ์–ด: ์—ญ์‹œ ํ˜•ํƒœ์†Œ ๊ธฐ๋ฐ˜ ํ† ํฌ๋‚˜์ด์ œ์ด์…˜์ด ํ”ํžˆ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ณธ์–ด ์—ญ์‹œ ๋ณต์žกํ•œ ๊ตด์ ˆ์„ ๊ฐ€์ง„ ์–ธ์–ด์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
  • ์•„๋ž์–ด ์–ธ์–ด๊ถŒ: ์Šคํ…œ(stem) ๊ธฐ๋ฐ˜ ํ† ํฌ๋‚˜์ด์ œ์ด์…˜์ด ์‚ฌ์šฉ๋˜๊ธฐ๋„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž์–ด๋Š” ๊ทผ๋ณธ์ ์œผ๋กœ ๊ฐ ๋‹จ์–ด๊ฐ€ ๋ณ€ํ˜•๋˜๋Š” ๊ทœ์น™์ ์ธ ํŒจํ„ด์„ ๋”ฐ๋ฅด๋ฏ€๋กœ, ๋‹จ์–ด์˜ ๊ทผ๋ณธ ํ˜•ํƒœ๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ† ํฐํ™”ํ•˜๋Š” ๊ฒƒ์ด ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ตœ๊ทผ์—๋Š” ์„œ๋ธŒ์›Œ๋“œ(subword) ํ† ํฌ๋‚˜์ด์ œ์ด์…˜, ํŠนํžˆ โ€˜Byte Pair Encoding (BPE)โ€™ ๋ฐฉ์‹์ด ๋‹ค์–‘ํ•œ ์–ธ์–ด์— ๊ฑธ์ณ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์€ ์–ดํœ˜์˜ ํฌ๊ธฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ , ์ผ๊ด€๋œ ๊ธฐ์ค€์œผ๋กœ ๋ชจ๋“  ์–ธ์–ด๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ Subword ํ† ํฌ๋‚˜์ด์ œ์ด์…˜ ๋ฐฉ์‹์„ ์ฒ˜์Œ ์ œ์•ˆํ•œ ๊ฒƒ์€ Google์˜ Neural Machine Translation of Rare Words with Subword Units ๋…ผ๋ฌธ์—์„œ์˜€์Šต๋‹ˆ๋‹ค. ์ด ๋…ผ๋ฌธ์—์„œ๋Š” ๋ชจ๋ธ ๊ตฌ์กฐ๋Š” ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋ฉด์„œ ํ† ํฌ๋‚˜์ด์ œ์ด์…˜ ๋ฐฉ์‹๋งŒ BPE ๋ฐฉ์‹์œผ๋กœ ๋ฐ”๊ฟ”์„œ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๋‹ฌ์„ฑํ•œ ์—ฐ๊ตฌ์˜€์Šต๋‹ˆ๋‹ค.

์„œ๋ธŒ์›Œ๋“œ ํ† ํฐํ™”: ์–ธ์–ด์˜ ๋ ˆ๊ณ  ๋ธ”๋ก ๐Ÿงฑ

์„œ๋ธŒ์›Œ๋“œ ํ† ํฐํ™”๋Š” ๋งˆ์น˜ ๋ ˆ๊ณ  ๋ธ”๋ก์ฒ˜๋Ÿผ ์ž‘์€ ๋‹จ์œ„๋กœ ๋‹จ์–ด๋ฅผ ๋‚˜๋ˆ„๊ณ  ๋‹ค์‹œ ์กฐ๋ฆฝํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค˜์š”. Subword ํ† ํฌ๋‚˜์ด์ œ์ด์…˜์€ ํŠนํžˆ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ์—์„œ ์–ดํœ˜ ๋‹ค์–‘์„ฑ๊ณผ ํฌ๊ท€ ๋‹จ์–ด์˜ ๋ณ€ํ˜•์„ ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋•๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ ์ „์ฒด ๋‹จ์–ด๋ฅผ ๋” ์ž‘์€ ์˜๋ฏธ ๋‹จ์œ„๋กœ ๋ถ„ํ• ํ•˜์—ฌ ์ž์ฃผ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ๋‹จ์–ด๋“ค์ด ๋ชจ๋ธ์— ์˜ํ•ด ๋” ์ž˜ ์ฒ˜๋ฆฌ๋  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹จ์–ด โ€œunbelievableโ€์€ โ€œunโ€, โ€œbelievโ€, โ€œableโ€๋กœ ๋ถ„ํ• ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Ÿฌํ•œ ๊ฐ๊ฐ์˜ subword๋Š” ๋‹ค๋ฅธ ๋‹จ์–ด์—์„œ๋„ ์žฌ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์ธ ์›์น™์€ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋‹จ์–ด๋Š” ์ž‘์€ subword๋กœ ๋ถ„ํ• ๋˜์ง€ ์•Š๊ณ , ํฌ๊ท€ ๋‹จ์–ด๋Š” ์˜๋ฏธ ์žˆ๋Š” subword๋กœ ๋ถ„ํ•ด๋˜์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด์ œ ๊ตฌ์ฒด์ ์œผ๋กœ ์ด subword๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•๋ก ์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํฌ๊ฒŒ 4๊ฐ€์ง€ ๋ฐฉ๋ฒ•๋ก ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • Byte-Pair Encoding (BPE)
  • Byte-Level BPE
  • WordPiece
  • Unigram

์ด ๊ธ€์—์„œ๋Š” ์œ„ ๋‚ด์šฉ์— ๋Œ€ํ•ด์„œ ๊ฐ๊ฐ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

BPE (Byte Pair Encoding): ์ž์ฃผ ๋‚˜์˜ค๋Š” ๊ธ€์ž ์Œ ํ•ฉ์น˜๊ธฐ

BPE๋Š” ์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š” ๊ธ€์ž ์Œ์„ ํ•˜๋‚˜์˜ ์ƒˆ๋กœ์šด ํ† ํฐ์œผ๋กœ ๋งŒ๋“ค์–ด์š”. ๋งˆ์น˜ ์ž์ฃผ ๋จน๋Š” ์Œ์‹ ์กฐํ•ฉ์„ ์„ธํŠธ ๋ฉ”๋‰ด๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ๊ณผ ๋น„์Šทํ•ด์š”! ์ฆ‰, BPE(Byte Pair Encoding) ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํ•ต์‹ฌ ์•„์ด๋””์–ด๋Š” ์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š” ๋ฌธ์ž ์Œ์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ๋ณ‘ํ•ฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋‹จ์–ด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์–ดํœ˜ ํฌ๊ธฐ๋ฅผ ์ค„์ด๋ฉด์„œ๋„ ์›๋ณธ ํ…์ŠคํŠธ์˜ ํ‘œํ˜„๋ ฅ์„ ์ตœ๋Œ€ํ•œ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

BPE๋Š” ์›๋ž˜ 1994๋…„ Philip Gage๊ฐ€ ๋ฐ์ดํ„ฐ ์••์ถ•์„ ์œ„ํ•ด ์ œ์•ˆํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฐ์ดํ„ฐ ๋‚ด์—์„œ ๊ฐ€์žฅ ์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š” ๋ฐ”์ดํŠธ ์Œ์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ๋ณ‘ํ•ฉํ•˜์—ฌ ์••์ถ•ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ์—์„œ ๊ฐ€์žฅ ๋นˆ๋ฒˆํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚˜๋Š” ๋ฐ”์ดํŠธ ์Œ โ€˜ABโ€™๋ฅผ โ€˜Zโ€™๋กœ ์น˜ํ™˜ํ•˜๊ณ , ๋‹ค์‹œ ๊ฐ€์žฅ ๋นˆ๋ฒˆํ•œ ๋ฐ”์ดํŠธ ์Œ์„ ์ฐพ์•„ ์น˜ํ™˜ํ•˜๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

- ABABABCCCABDE
- ZZZCCCZDE

์ด ๊ณผ์ •์„ ํ†ต๊ณผํ•˜๋ฉด ๊ธฐ์กด์—๋Š” 13๊ฐœ์˜ ๋ฐ”์ดํŠธ๊ฐ€ ํ•„์š”ํ•œ ๋ฌธ์„œ๊ฐ€ 10๊ฐœ์˜ ๋ฐ”์ดํŠธ๋กœ ์••์ถ•์ด ๋˜๋Š” ๊ฑฐ์ฃ .

Byte-Level BPE: ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ์ชผ๊ฐœ๊ธฐ

Byte-Level BPE๋Š” ๊ธฐ์กด BPE ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํ™•์žฅํŒ์ž…๋‹ˆ๋‹ค. ๊ธฐ์กด BPE์™€์˜ ์ฐจ์ด์ ์€ original BPE์˜ ๊ธฐ๋ณธ ๋ฌถ์Œ์˜ ์ตœ์†Œ ๋‹จ์œ„๊ฐ€ ๋ฌธ์ž(chraracter) ์ผ ๋•Œ Byte-Level BPE๋Š” Byte ๋ผ๋Š” ๊ฒƒ์ด์ฃ .

๊ทธ๋ ‡๋‹ค๋ฉด ์™œ Byte ์ˆ˜์ค€์œผ๋กœ ๋‹จ์œ„๋ฅผ ๋‚ฎ์ถฐ์„œ ๋ฌถ์–ด๋‚˜๊ฐ€์•ผ ํ•˜๋Š” ๊ฑธ๊นŒ์š”? ์ด๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” 1) ๋ฐ”์ดํŠธ์™€ ๋ฌธ์žํ‘œํ˜„์˜ ๊ด€๊ณ„, 2) Unicode ์–ดํœ˜ ์ฒ˜๋ฆฌ ๋ฐ 3)์ ์ ˆํ•œ ์ˆ˜์ค€์˜ ์–ดํœ˜์ˆ˜์˜ ํ•„์š”์„ฑ์— ๋Œ€ํ•ด ์ดํ•ด๋ฅผ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ”์ดํŠธ์™€ ๋ฌธ์ž ํ‘œํ˜„์˜ ๊ด€๊ณ„

์ปดํ“จํ„ฐ ์„ธ๊ณ„์—์„œ ์ •๋ณด์˜ ๊ธฐ๋ณธ ๋‹จ์œ„๋Š” ๋ฐ”์ดํŠธ์ž…๋‹ˆ๋‹ค. 1๋ฐ”์ดํŠธ๋Š” 8๋น„ํŠธ๋กœ ๊ตฌ์„ฑ๋˜์–ด 256๊ฐ€์ง€ ๊ฐ’์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ดˆ๊ธฐ ์ปดํ“จํ„ฐ์—์„œ Extended ASCII๋ผ๋Š” 256๊ฐœ ๋ฌธ์ž ํ‘œ์ค€์˜ ๊ทผ๊ฐ„์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๊ธ€๋กœ๋ฒŒ ์‹œ๋Œ€์— ์ ‘์–ด๋“ค๋ฉด์„œ ๋‹ค์–‘ํ•œ ์–ธ์–ด์™€ ๋ฌธํ™”๋ฅผ ์•„์šฐ๋ฅด๋Š” ์ƒˆ๋กœ์šด ํ‘œ์ค€์ด ํ•„์š”ํ•ด์กŒ๊ณ , ์ด์— 1991๋…„ ์œ ๋‹ˆ์ฝ”๋“œ๊ฐ€ ํƒ„์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์œ ๋‹ˆ์ฝ”๋“œ๋Š” ์ตœ๋Œ€ 4๋ฐ”์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐฑ๋งŒ ๊ฐœ ์ด์ƒ์˜ ๋ฌธ์ž๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์–ด, ์ „ ์„ธ๊ณ„์˜ ๋ฌธ์ž๋ฅผ ํ•˜๋‚˜์˜ ์ฒด๊ณ„๋กœ ํ†ตํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค.

์œ ๋‹ˆ์ฝ”๋“œ์˜ ์‹ค์ œ ๊ตฌํ˜„: UTF ์ธ์ฝ”๋”ฉ

์œ ๋‹ˆ์ฝ”๋“œ๋ฅผ ์‹ค์ œ๋กœ ์ €์žฅํ•˜๊ณ  ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ์ธ์ฝ”๋”ฉ ๋ฐฉ์‹์ด ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ค‘ UTF-8์ด ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, '๐Ÿ˜Š' ์ด๋ชจ์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ธ์ฝ”๋”ฉ๋ฉ๋‹ˆ๋‹ค:

  • ์œ ๋‹ˆ์ฝ”๋“œ: U+1F60A
  • UTF-8: F0 9F 98 8A (4๋ฐ”์ดํŠธ)
  • UTF-16: D83D DE0A (4๋ฐ”์ดํŠธ)
  • UTF-32: 0001F60A (4๋ฐ”์ดํŠธ)

๊ฐ ๋ฐฉ์‹์€ ๊ณ ์œ ์˜ ํŠน์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ, UTF-8์˜ ๊ฐ€๋ณ€ ๊ธธ์ด ์ธ์ฝ”๋”ฉ์ด ํšจ์œจ์„ฑ ์ธก๋ฉด์—์„œ ๋‘๊ฐ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

Unicode ์–ดํœ˜ ํฌ๊ธฐ์˜ ๋”œ๋ ˆ๋งˆ

์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ๋ชจ๋ธ, ํŠนํžˆ ํŠธ๋žœ์Šคํฌ๋จธ ๋ชจ๋ธ์—์„œ ํ† ํฐํ™”๋Š” ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ๋ชฉ์ ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค:

  1. ์ž…๋ ฅ ๋ฌธ์„œ๋ฅผ ์˜๋ฏธ ์žˆ๋Š” ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„๊ธฐ
  2. ๋ชจ๋ธ์˜ ์ถœ๋ ฅ ๋‹จ์œ„ ์ •์˜ํ•˜๊ธฐ

๊ทธ๋Ÿฌ๋‚˜ ์œ ๋‹ˆ์ฝ”๋“œ์˜ ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ๊ฐœ๋ณ„ ํ† ํฐ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด ์–ดํœ˜ ํฌ๊ธฐ๊ฐ€ 100๋งŒ ๊ฐœ๋ฅผ ํ›Œ์ฉ ๋„˜์–ด, ์‹ค์šฉ์„ฑ์ด ๋–จ์–ด์ง‘๋‹ˆ๋‹ค. ์ด๋Š” ์ž„๋ฒ ๋”ฉ ํ–‰๋ ฌ์˜ ํฌ๊ธฐ๋ฅผ ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์ฆ๊ฐ€์‹œํ‚ค๊ณ , ๊ฐ ์ƒ์„ฑ ๋‹จ๊ณ„์—์„œ์˜ ๋ถ„๋ฅ˜ ๋ฌธ์ œ๋ฅผ ์ง€๋‚˜์น˜๊ฒŒ ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

ํ˜์‹ ์  ํ•ด๊ฒฐ์ฑ…: ๋ฐ”์ดํŠธ ์ˆ˜์ค€ ํ† ํฐํ™”

์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Neural Machine Translation with Byte-Level Subwords ๋…ผ๋ฌธ์—์„œ ๋ฐ”์ดํŠธ ์ˆ˜์ค€ ํ† ํฐํ™”๊ฐ€ ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์€ ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ์ฒ˜๋ฆฌํ•จ์œผ๋กœ์จ ์–ดํœ˜ ํฌ๊ธฐ๋ฅผ ๋Œ€ํญ ์ค„์ด๊ณ , ์–ธ์–ด ๋ชจ๋ธ์˜ ํšจ์œจ์„ฑ์„ ๋†’์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด:

  • ์˜์–ด 'A': [01000001]
  • ํ•œ๊ธ€ '๊ฐ€': [11101010 10110000 10000000]
  • ์ค‘๊ตญ์–ด 'ไฝ ': [11100100 10111101 10100000]
  • ์ด๋ชจ์ง€ '๐Ÿ˜Š': [11110000 10011111 10011000 10001010]

๋ฐ”์ดํŠธ ์ˆ˜์ค€ BPE(Byte Pair Encoding)๋Š” ์ด๋Ÿฌํ•œ ๋ฐ”์ดํŠธ ์‹œํ€€์Šค๋ฅผ ๊ธฐ๋ณธ ๋‹จ์œ„๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š” ํŒจํ„ด์„ ๋ณ‘ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ชจ๋ธ์€ ๋‹ค์–‘ํ•œ ์–ธ์–ด์™€ ํŠน์ˆ˜ ๋ฌธ์ž๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์€ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ , ๋‹ค๊ตญ์–ด ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์„ ํฌ๊ฒŒ ๊ฐœ์„ ํ•˜๋Š” ๋ฐ ๊ธฐ์—ฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”์ดํŠธ ์ˆ˜์ค€ ํ† ํฐํ™”๋Š” ํ˜„๋Œ€ NLP์˜ ํ•ต์‹ฌ ๊ธฐ์ˆ  ์ค‘ ํ•˜๋‚˜๋กœ ์ž๋ฆฌ ์žก์•˜์Šต๋‹ˆ๋‹ค.

๋Œ€ํ‘œ์ ์ธ ์–ธ์–ด๋ชจ๋ธ๊ณผ ์‚ฌ์šฉ๋œ ํ† ํฐํ™” ๋ฐฉ๋ฒ• ๐Ÿš€

๋‹ค์Œ์€ ๊ฐ ํ† ํฐํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ์–ธ์–ด ๋ชจ๋ธ๊ณผ ๊ฐ ๋ชจ๋ธ์˜ ์–ดํœ˜ ์ˆ˜๋ฅผ ์ •๋ฆฌํ•œ ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค.

์œ„์˜ ํ‘œ์—์„œ ๋ณด๋‹ค์‹œํ”ผ ํฌ๊ฒŒ 2๊ฐ€์ง€ ํŠธ๋ Œ๋“œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ฒซ ๋ฒˆ์งธ๋Š” ์ ์  ๋” ๋งŽ์€ ๋ชจ๋ธ์ด Byte-Level BPE์™€ ๊ฐ™์€ ํ† ํฌ๋‚˜์ด์ œ์ด์…˜ ๋ฐฉ๋ฒ•์„ ์ฑ„ํƒํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค์–‘ํ•œ ์–ธ์–ด์™€ ํŠน์ˆ˜ ๋ฌธ์ž๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ , ํฌ๊ท€ ๋‹จ์–ด์™€ ์‹ ์กฐ์–ด์— ๋Œ€ํ•œ ์ ์‘๋ ฅ์„ ๋†’์ด๊ธฐ ์œ„ํ•จ ์ž…๋‹ˆ๋‹ค. Byte-Level BPE๋Š” ๋ฌธ์ž๋ฅผ ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ์ฒ˜๋ฆฌํ•จ์œผ๋กœ์จ ๋‹ค๊ตญ์–ด ํ™˜๊ฒฝ์—์„œ ํŠนํžˆ ์œ ๋ฆฌํ•˜๋ฉฐ, ๋ณต์žกํ•œ ์–ธ์–ด ํŒจํ„ด์„ ๋” ์ž˜ ์บก์ฒ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‘ ๋ฒˆ์งธ๋Š” ์–ดํœ˜ ํฌ๊ธฐ๊ฐ€ ๋‹ค์–‘ํ•ด์ง€๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ดˆ๊ธฐ ๋ชจ๋ธ๋“ค์€ ์ฃผ๋กœ 30,000์—์„œ 50,000 ์‚ฌ์ด์˜ ์–ดํœ˜ ํฌ๊ธฐ๋ฅผ ์‚ฌ์šฉํ–ˆ์œผ๋‚˜, ์ตœ๊ทผ์˜ ๋ชจ๋ธ๋“ค์€ 32,000์—์„œ 128,000๊นŒ์ง€ ๋‹ค์–‘ํ•œ ์–ดํœ˜ ํฌ๊ธฐ๋ฅผ ํ™œ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํŠธ๋ Œ๋“œ๋Š” ๋” ์ •๊ตํ•œ ์–ธ์–ด ํ‘œํ˜„๊ณผ ๋‹ค์–‘ํ•œ ์–ธ์–ด ์ง€์›์„ ์œ„ํ•œ ๊ฒƒ์œผ๋กœ ํ•ด์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

BBPE Deep Dive!

์ตœ๊ทผ ๋ชจ๋ธ๋“ค์€ BBPE ๋ฐฉ๋ฒ•์„ ์ฑ„ํƒํ•˜์—ฌ ๋Œ€๋ถ€๋ถ„์˜ ๋ฌธ์ž๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  1. ์œ ๋‹ˆ๋ฒ„์„ค ์ปค๋ฒ„๋ฆฌ์ง€:
    • ๋ฐ”์ดํŠธ ๋ ˆ๋ฒจ ์ฒ˜๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์–ด๋–ค ๋ฌธ์ž ์ธ์ฝ”๋”ฉ์ด๋“  ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • UTF-8, UTF-16 ๋“ฑ ๋ชจ๋“  ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž๋ฅผ ํฌํ•จํ•˜์—ฌ, ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ์•Œ๋ ค์ง€์ง€ ์•Š์€ ๋ฌธ์ž ์ฒ˜๋ฆฌ:
    • ํ•™์Šต ๋ฐ์ดํ„ฐ์— ์—†๋˜ ์ƒˆ๋กœ์šด ๋ฌธ์ž๋‚˜ ์ด๋ชจ์ง€๊ฐ€ ๋“ฑ์žฅํ•ด๋„ ๋ฐ”์ดํŠธ ์‹œํ€€์Šค๋กœ ๋ถ„ํ•ดํ•˜์—ฌ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ๋‹ค๊ตญ์–ด ์ง€์›:
    • ํŠน์ • ์–ธ์–ด์— ๊ตญํ•œ๋˜์ง€ ์•Š๊ณ , ๋ชจ๋“  ์–ธ์–ด์˜ ๋ฌธ์ž๋ฅผ ๋™๋“ฑํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ํ•œ๊ธ€, ํ•œ์ž, ์•„๋ž์–ด, ํ‚ค๋ฆด ๋ฌธ์ž ๋“ฑ ๋ณต์žกํ•œ ๋ฌธ์ž ์ฒด๊ณ„๋„ ๋ฌธ์ œ์—†์ด ๋‹ค๋ฃน๋‹ˆ๋‹ค.
  4. ํšจ์œจ์ ์ธ ํ‘œํ˜„:
    • ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋‹จ์–ด๋‚˜ ์„œ๋ธŒ์›Œ๋“œ๋Š” ๊ทธ๋Œ€๋กœ ์ €์žฅํ•˜์—ฌ ํšจ์œจ์„ฑ์„ ๋†’์ž…๋‹ˆ๋‹ค.
    • ๋œ ํ”ํ•œ ๋ฌธ์ž๋‚˜ ๋‹จ์–ด๋Š” ๋” ์ž‘์€ ๋‹จ์œ„(๋ฐ”์ดํŠธ ์‹œํ€€์Šค)๋กœ ๋ถ„ํ•ดํ•˜์—ฌ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  5. ์œ ์—ฐ์„ฑ:
    • ์ƒˆ๋กœ์šด ์–ธ์–ด๋‚˜ ํŠน์ˆ˜ ๋ฌธ์ž๊ฐ€ ์ถ”๊ฐ€๋˜์–ด๋„ ๋ชจ๋ธ ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด:

  1. ์ผ๋ฐ˜์ ์ธ ์˜์–ด ๋‹จ์–ด: "hello" โ†’ [hello]
  2. ๋œ ํ”ํ•œ ์˜์–ด ๋‹จ์–ด: "antidisestablishmentarianism" โ†’ [anti][dis][establish][ment][arian][ism]
  3. ํ•œ๊ธ€: "์•ˆ๋…•ํ•˜์„ธ์š”" โ†’ [์•ˆ๋…•][ํ•˜์„ธ์š”] ๋˜๋Š” [์•ˆ][๋…•][ํ•˜][์„ธ์š”]
  4. ์ด๋ชจ์ง€: "๐ŸŒ" โ†’ [๋ฐ”์ดํŠธ1][๋ฐ”์ดํŠธ2][๋ฐ”์ดํŠธ3][๋ฐ”์ดํŠธ4]
  5. ํฌ๊ท€ํ•œ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž: "๐ท" (๋ฐ์ €๋ › ์•ŒํŒŒ๋ฒณ) โ†’ [๋ฐ”์ดํŠธ1][๋ฐ”์ดํŠธ2][๋ฐ”์ดํŠธ3][๋ฐ”์ดํŠธ4]

์ด ๋ฐฉ์‹์€ ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ๋ฌธ์ž๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋™์‹œ์— ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ํŒจํ„ด์— ๋Œ€ํ•ด์„œ๋Š” ํšจ์œจ์ ์ธ ํ‘œํ˜„์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์•Œ๋ ค์ง„ ์–ธ์–ด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฏธ๋ž˜์— ๋งŒ๋“ค์–ด์งˆ ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ๋ฌธ์ž๋‚˜ ๊ธฐํ˜ธ๋„ ๋ฌธ์ œ์—†์ด ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์—ฐ์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ, ๊ณผ๊ฑฐ์˜ ํ† ํฐํ™” ๋ฐฉ์‹๊ณผ ํ˜„์žฌ์˜ ๋ฐฉ์‹ ์‚ฌ์ด์—๋Š” ์ค‘์š”ํ•œ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ณ€ํ™”์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์„ค๋ช…๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค:

  1. ๊ณผ๊ฑฐ์˜ ๋ฐฉ์‹ (Unknown ํ† ํฐ ์‚ฌ์šฉ):
    • vocab์— ์—†๋Š” ๋‹จ์–ด๋ฅผ ๋งŒ๋‚˜๋ฉด Unknown ํ† ํฐ([UNK])์œผ๋กœ ๋Œ€์ฒดํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ์ด ๋ฐฉ์‹์˜ ํ•œ๊ณ„:
      • a) ์ •๋ณด ์†์‹ค: Unknown์œผ๋กœ ์ฒ˜๋ฆฌ๋œ ๋‹จ์–ด์˜ ์˜๋ฏธ๊ฐ€ ์™„์ „ํžˆ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค.
      • b) Out-of-Vocabulary (OOV) ๋ฌธ์ œ: ์ƒˆ๋กœ์šด ๋‹จ์–ด๋‚˜ ํฌ๊ท€ ๋‹จ์–ด๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.
      • c) ๋‹ค๊ตญ์–ด ์ฒ˜๋ฆฌ์˜ ์–ด๋ ค์›€: ๋ชจ๋“  ์–ธ์–ด์˜ ๋‹จ์–ด๋ฅผ vocab์— ํฌํ•จ์‹œํ‚ค๊ธฐ ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค.
  2. ํ˜„์žฌ์˜ ๋ฐฉ์‹ (์„œ๋ธŒ์›Œ๋“œ ํ† ํฐํ™” + ๋ฐ”์ดํŠธ ๋ ˆ๋ฒจ ์ฒ˜๋ฆฌ):
    • Unknown ํ† ํฐ์„ ๊ฑฐ์˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์•„์˜ˆ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
    • ๋ชจ๋“  ์ž…๋ ฅ์„ ๋” ์ž‘์€ ๋‹จ์œ„(์„œ๋ธŒ์›Œ๋“œ๋‚˜ ๋ฐ”์ดํŠธ)๋กœ ๋ถ„ํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์žฅ์ :
      • a) ์ •๋ณด ๋ณด์กด: ๋ชจ๋“  ์ž…๋ ฅ์„ ์˜๋ฏธ ์žˆ๋Š” ๋‹จ์œ„๋กœ ๋ถ„ํ•ดํ•˜์—ฌ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
      • b) OOV ๋ฌธ์ œ ํ•ด๊ฒฐ: ์ƒˆ๋กœ์šด ๋‹จ์–ด๋„ ๊ธฐ์กด ์„œ๋ธŒ์›Œ๋“œ๋‚˜ ๋ฐ”์ดํŠธ์˜ ์กฐํ•ฉ์œผ๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
      • c) ์–ธ์–ด ๋…๋ฆฝ์ : ๋ชจ๋“  ๋ฌธ์ž์™€ ์–ธ์–ด๋ฅผ ๋™๋“ฑํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์‹œ:
๊ณผ๊ฑฐ: "antidisestablishmentarianism" โ†’ [UNK]
ํ˜„์žฌ: "antidisestablishmentarianism" โ†’ [anti][dis][establish][ment][arian][ism]

๊ณผ๊ฑฐ: "์ƒˆ๋กœ์šด๋‹จ์–ด" โ†’ [UNK] ํ˜„์žฌ: "์ƒˆ๋กœ์šด๋‹จ์–ด" โ†’ [์ƒˆ][๋กœ์šด][๋‹จ์–ด] ๋˜๋Š” [๋ฐ”์ดํŠธ1][๋ฐ”์ดํŠธ2]...[๋ฐ”์ดํŠธN]

์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ 'ํ›„ํ‡ด(fallback)' ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค:

  1. ํ† ํฐ ์šฐ์„ :
    • ์ž…๋ ฅ ํ…์ŠคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ, ๋จผ์ € vocab์— ์žˆ๋Š” ํ† ํฐ๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
    • ์ผ์น˜ํ•˜๋Š” ํ† ํฐ์ด ์žˆ์œผ๋ฉด ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ฐ”์ดํŠธ ๋ ˆ๋ฒจ ํ›„ํ‡ด:
    • vocab์— ์ผ์น˜ํ•˜๋Š” ํ† ํฐ์ด ์—†์„ ๊ฒฝ์šฐ, ํ•ด๋‹น ๋ถ€๋ถ„์„ ๋ฐ”์ดํŠธ ๋ ˆ๋ฒจ๋กœ ๋ถ„ํ•ดํ•ฉ๋‹ˆ๋‹ค.
  3. ํ˜ผํ•ฉ ์ฒ˜๋ฆฌ:
    • ๊ฒฐ๊ณผ์ ์œผ๋กœ ํ•˜๋‚˜์˜ ์ž…๋ ฅ ๋ฌธ์žฅ์— vocab ํ† ํฐ๊ณผ ๋ฐ”์ดํŠธ ๋ ˆ๋ฒจ ํ† ํฐ์ด ํ˜ผํ•ฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์‹œ๋ฅผ ํ†ตํ•ด ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค:

์ž…๋ ฅ ๋ฌธ์žฅ: "Hello, ์•ˆ๋…•ํ•˜์„ธ์š”!"

์ฒ˜๋ฆฌ ๊ณผ์ •:

  1. "Hello": vocab์— ์žˆ์œผ๋ฏ€๋กœ ๋‹จ์ผ ํ† ํฐ์œผ๋กœ ์ฒ˜๋ฆฌ
  2. ",": vocab์— ์žˆ๋Š” ๊ตฌ๋‘์  ํ† ํฐ์œผ๋กœ ์ฒ˜๋ฆฌ
  3. " ": ๊ณต๋ฐฑ ํ† ํฐ์œผ๋กœ ์ฒ˜๋ฆฌ
  4. "์•ˆ๋…•ํ•˜์„ธ์š”": vocab์— ์—†๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด, UTF-8 ๋ฐ”์ดํŠธ๋กœ ๋ถ„ํ•ด
  5. "!": vocab์— ์žˆ๋Š” ๊ตฌ๋‘์  ํ† ํฐ์œผ๋กœ ์ฒ˜๋ฆฌ``

๊ฒฐ๊ณผ: [Hello] [,] [ ] [E3 95 88] [EB 85 95] [ED 95 98] [EC 84 B8] [EC 9A 94] [!]

์ด ๋ฐฉ์‹์˜ ์žฅ์ :

  1. ํšจ์œจ์„ฑ: ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋‹จ์–ด๋‚˜ ์„œ๋ธŒ์›Œ๋“œ๋Š” ๋‹จ์ผ ํ† ํฐ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜์–ด ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค.
  2. ์œ ์—ฐ์„ฑ: vocab์— ์—†๋Š” ์ƒˆ๋กœ์šด ๋‹จ์–ด๋‚˜ ํฌ๊ท€ ๋‹จ์–ด๋„ ๋ฐ”์ดํŠธ ๋ ˆ๋ฒจ์—์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ์••์ถ•: ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ํŒจํ„ด์€ ๋” ์งง์€ ํ‘œํ˜„(๋‹จ์ผ ํ† ํฐ)์œผ๋กœ ์••์ถ•๋ฉ๋‹ˆ๋‹ค.
  4. ์–ธ์–ด ๋…๋ฆฝ์„ฑ: ๋ชจ๋“  ์–ธ์–ด์™€ ๋ฌธ์ž๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์ ‘๊ทผ ๋ฐฉ์‹์„ ํ†ตํ•ด ๋ชจ๋ธ์€ ์•Œ๋ ค์ง„ ํŒจํ„ด(vocab ํ† ํฐ)์„ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋ฉด์„œ๋„, ๋™์‹œ์— ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ์ž…๋ ฅ(๋ฐ”์ดํŠธ ๋ ˆ๋ฒจ)์„ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์„ ๊ฐ–๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํŠนํžˆ ๋‹ค๊ตญ์–ด ์ฒ˜๋ฆฌ์™€ ๋ฏธ์ง€์˜ ๋‹จ์–ด ์ฒ˜๋ฆฌ์— ๋งค์šฐ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.

ํ† ํฌ๋‚˜์ด์ €/ํ† ํฐํ™” ๋„๊ตฌ๐Ÿงฐ

  1. SentencePiece: ๊ตฌ๊ธ€์—์„œ ๊ฐœ๋ฐœํ•œ ์˜คํ”ˆ ์†Œ์Šค ํ† ํฌ๋‚˜์ด์ €๋กœ, BPE์™€ Unigram ๋ชจ๋ธ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์–ธ์–ด์— ์ƒ๊ด€์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํŠนํžˆ ๋‹ค๊ตญ์–ด ๋ฐ์ดํ„ฐ์— ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.
  2. BPE: OpenNMT ๋ฐ ๋‹ค๋ฅธ ์—ฌ๋Ÿฌ NLP ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์‚ฌ์šฉ๋˜๋Š” BPE ํ† ํฌ๋‚˜์ด์ €์ž…๋‹ˆ๋‹ค.
  3. Hugging Face Tokenizers: Hugging Face์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ณ ์„ฑ๋Šฅ ํ† ํฌ๋‚˜์ด์ € ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, BERT, GPT-2, RoBERTa ๋“ฑ์˜ ๋ชจ๋ธ์„ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ํ† ํฌ๋‚˜์ด์ €๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
  4. tiktoken: OpenAI์—์„œ ์ œ๊ณตํ•˜๋Š” ํ† ํฌ๋‚˜์ด์ € ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ํŠนํžˆ GPT-3์™€ ๊ฐ™์€ ๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ์„ ์œ„ํ•ด ์ตœ์ ํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  5. spaCy: ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ธ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ํ…์ŠคํŠธ์˜ ํ† ํฐํ™”, ๊ตฌ๋ฌธ ๋ถ„์„, ๊ฐœ์ฒด ์ธ์‹ ๋“ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  6. NLTK: ๊ต์œก๊ณผ ์—ฐ๊ตฌ๋ฅผ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ๋‹ค์–‘ํ•œ ํ…์ŠคํŠธ ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋งˆ๋ฌด๋ฆฌ ๋ฐ ์ •๋ฆฌ ๐ŸŽ‰

์ด ๊ธ€์—์„œ๋Š” ์ž์—ฐ์–ด์ฒ˜๋ฆฌ์˜ ์ค‘์š”ํ•œ ๊ฐœ๋… ์ค‘ ํ•˜๋‚˜์ธ ํ† ํฌํ™”์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ํ† ํฐํ™”๋ž€ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ปดํ“จํ„ฐ๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž‘์€ ๋‹จ์œ„๋กœ ๋ถ„ํ• ํ•˜๋Š” ๊ณผ์ •์œผ๋กœ, ๋‹ค์–‘ํ•œ ๊ธฐ๋ฒ•์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ค‘์—์„œ ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Subword ํ…Œํฌ๋‹‰๋“ค ์ค‘ ๋Œ€ํ‘œ์ ์ธ BPE(Byte Pair Encoding), Byte-Level BPE, WordPiece, Unigram ๋“ฑ์— ๋Œ€ํ•ด ์ž์„ธํ•˜๊ฒŒ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

์ด์ƒ์ž…๋‹ˆ๋‹ค!

์ถœ์ฒ˜
 
728x90
๋ฐ˜์‘ํ˜•
Liky