AI VIDEO BRIEFING
토큰화와 바이트 페어 인코딩(BPE) 쉽게 이해하기 - LLM의 첫 단계
루이스 세라노가 설명하는 토큰화와 바이트 페어 인코딩(BPE). LLM이 단어나 글자가 아닌 '토큰'으로 텍스트를 처리하는 이유와, 가장 자주 등장하는 글자쌍을 합쳐 토큰을 만드는 BPE의 작동 원리를 예시로 풀어냅니다.

핵심 메시지
쉽게 이해하기
루이스 세라노(Luis Serrano)는 자신의 트랜스포머 시리즈의 일부로 토큰화(tokenization)와 바이트 페어 인코딩(BPE)을 설명한다. 그는 언어 모델이 'write', 'a', 'story' 같은 단어를 그대로 보지 않고, 이를 토큰이라는 단위로 나눠서 본다고 말한다. 대체로 하나의 단어가 하나의 토큰이 되지만, 'doesn't' 같은 복잡한 단어는 'does'와 'n't'처럼 둘 이상의 토큰으로 쪼개진다.
토큰화에는 두 극단이 있다. 모든 단어를 하나의 토큰으로 두면 모델이 처리해야 할 토큰이 지나치게 많아진다. 반대로 모든 글자를 각각 토큰으로 두면 사전(토큰 종류)은 작아지지만 토큰 하나가 담는 정보가 거의 없어, 짧은 문장도 많은 토큰으로 이뤄지게 된다. 모든 토큰은 매번 신경망 전체를 통과해야 하므로 이는 비용이 큰 방식이다. 따라서 대부분의 단어는 토큰이 되고, 복잡한 단어만 논리적으로 여러 토큰으로 쪼개지는 '중간' 지점을 원한다.
세라노는 BPE의 작동을 'hug, hugs, bug, bugs' 네 단어로 이뤄진 작은 예시로 보여준다. 처음에는 모든 글자를 토큰으로 두고 시작한다. 그다음 현재 토큰들 중 가장 자주 함께 등장하는 쌍을 찾아 하나로 합친다. 예시에서는 'u'와 'g'가 가장 자주 붙어 나오므로 'ug'를 하나의 토큰으로 만든다. 이 과정을 반복하며 'hug', 'bug' 같은 토큰이 차례로 만들어진다.
이렇게 만들어진 토큰은 단순한 압축 이상의 의미를 담는다. 복수형을 나타내는 's'가 별도 토큰으로 남으면 단수·복수 정보를 전달하고, 'walked'·'talked'가 'walk'/'talk' + 'ed'로 쪼개지면 모델은 처음 보는 단어라도 접미사 'ed'를 통해 그것이 과거형임을 추정할 수 있다.
주요 인사이트
- 토큰은 LLM의 '기본 building block'이다. 모델의 성능·비용을 이해하려면 텍스트가 어떻게 토큰으로 나뉘는지부터 알아야 한다.
- BPE의 핵심 아이디어는 단순하다 — 가장 빈번한 인접 쌍을 반복적으로 병합해 '키 입력 수(작업량)'를 줄이는 것이다.
- 동점(빈도가 같은 쌍)이 생기면 무작위로 하나를 고른다는 점에서, 토큰 사전은 학습 코퍼스에 따라 달라질 수 있다.
- 접두사·접미사가 토큰으로 분리되어 남기 때문에, 토큰화는 형태소 수준의 의미 단서를 일부 보존한다.
- 토큰화는 임베딩·위치 인코딩·어텐션·소프트맥스로 이어지는 트랜스포머 파이프라인의 출발점이다.
자주 묻는 질문
LLM은 왜 단어가 아니라 토큰으로 텍스트를 처리하나요?
모든 단어를 통째로 토큰화하면 토큰 수가 너무 많아 처리 비용이 커지고, 모든 글자를 토큰으로 두면 토큰당 정보가 너무 적어집니다. 대부분의 단어는 토큰으로 두되 복잡한 단어만 여러 토큰으로 쪼개는 중간 지점이 효율적이기 때문입니다.
바이트 페어 인코딩(BPE)은 어떻게 토큰을 만드나요?
처음에는 모든 글자를 토큰으로 두고 시작해, 현재 토큰들 중 가장 자주 인접해 등장하는 쌍을 하나로 합칩니다. 이 병합을 반복하면서 자주 쓰이는 글자 묶음이 점점 하나의 토큰으로 만들어집니다.
토큰화가 의미 정보를 보존한다는 것은 무슨 뜻인가요?
예를 들어 'walked'가 'walk'와 'ed'로 나뉘면, 모델은 모르는 단어라도 접미사 'ed'를 보고 과거형임을 추정할 수 있습니다. 복수형 's'가 별도 토큰으로 남는 것도 같은 원리입니다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗