바이트 페어 인코딩

처음 보는 단어도 버리지 않을 방법이 있을까요?

생각 바꾸기

단어를 더 작은 조각으로 나눕니다

여기서 사전은 앞 편까지 본 어휘 사전, 곧 토큰과 번호를 짝지은 표입니다. 단어가 통째로는 없어도 조각은 있습니다. 이런 조각을 부분단어라고 합니다.

이 방법이 바이트 페어 인코딩, 줄여서 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|>입니다.

다음 편

이 조각들은 누가, 어떻게 정했을까요?

8편조각은 누가 정할까? 2강 목록