토큰 번호와 패딩
한마디짜리 문자와 긴 문자를 한꺼번에 모델에 넣을 수 있을까요?
먼저
문자를 토큰 번호로 바꿉니다
모델은 글자가 아니라 번호를 받습니다. 글을 토큰으로 자르고, 토큰마다 정해진 번호로 바꿉니다.
토큰은 글을 잘게 나눈 조각이고, 이 번호를 토큰 ID라고 부릅니다. 원본의 예문이며 '이것은 첫 번째 문자입니다'라는 뜻입니다.
문제
문자마다 번호의 개수가 다릅니다
여러 통을 한꺼번에 넣으려면 가로세로가 반듯한 표가 되어야 합니다. 지금은 줄마다 길이가 달라 빈자리가 생깁니다.
방법은 둘
자를까, 채울까
가장 짧은 줄에 맞춰 자르면 문자의 내용을 잃습니다. 가장 긴 줄에 맞춰 빈자리를 채우면 내용이 그대로 남습니다.
패딩
빈자리는 50256번으로 채웁니다
빈자리를 채우는 일을 패딩이라고 합니다. 채우는 토큰은 글의 끝 표시인 <|endoftext|>이고, 그 번호가 50256입니다.
end of text, '글의 끝'이라는 뜻의 특수 토큰입니다. GPT는 채우는 용도의 토큰을 따로 두지 않고 이것을 씁니다.
실제 문자에서는
가장 긴 문자가 토큰 120개입니다
훈련 세트 1,045통 가운데 가장 긴 문자가 120토큰입니다. 검증과 테스트 세트까지 모든 문자를 120칸으로 맞춥니다.
그림은 훈련 세트 15통의 실제 길이입니다. 검증과 테스트 세트에는 120토큰보다 긴 문자가 없어서 잘려 나가는 내용은 없습니다.
다음 편