바이트 페어 인코딩
처음 보는 단어도 버리지 않을 방법이 있을까요?
생각 바꾸기
단어를 더 작은 조각으로 나눕니다
여기서 사전은 앞 편까지 본 어휘 사전, 곧 토큰과 번호를 짝지은 표입니다. 단어가 통째로는 없어도 조각은 있습니다. 이런 조각을 부분단어라고 합니다.
이 방법이 바이트 페어 인코딩, 줄여서 BPE입니다. 이름의 뜻은 8편에서 봅니다. 챗GPT보다 먼저 나온 GPT-2와 GPT-3이 이 방법으로 글을 나눴습니다.
더 낯선 글자
아무렇게나 친 글자도 나뉩니다
큰 조각이 사전에 없으면 더 작은 조각으로, 끝내는 글자 하나까지 내려갑니다. 그래서 어떤 글이 와도 번호를 붙일 수 있습니다.
조각 아래 숫자는 GPT-2의 사전에서 그 조각이 받은 번호입니다.
되돌리면
원래 글이 그대로 돌아옵니다
5편의 방식은 이 단어를 1131번 하나로 바꿔 버립니다. BPE는 조각 세 개의 번호로 바꾸고, 다시 이으면 원래 단어가 됩니다.
<|unk|>는 모르는 단어를 뜻하는 특수 토큰이었습니다. 이제 필요가 없습니다.
빈칸
빈칸도 버리지 않습니다
4편의 방식은 빈칸을 버려서 되돌릴 때 어긋났습니다. BPE는 빈칸을 뒤 단어 앞에 붙여 한 토큰에 담아 둡니다.
빈칸 혼자 토큰 하나가 되기도 합니다. 앞 장의 220번이 그 예입니다.
사전의 크기
GPT-2의 사전은 50,257개입니다
앞에서 만든 1,132개짜리 사전의 약 44배입니다. 번호를 0부터 세므로 마지막 번호는 50256이고, 그 자리가 끝 표시 <|endoftext|>입니다.
다음 편