패딩 · 묶음마다 길이 맞추기
길이가 제각각인 예제들을 어떻게 한 표로 만들까요?
먼저
글을 토큰 번호로 바꿉니다
모델은 글자가 아니라 번호를 받습니다. 틀에 맞춘 글을 토큰으로 자르고, 토큰마다 정해진 번호로 바꿉니다.
토큰은 글을 잘게 나눈 조각입니다. Below is an instruction은 '아래는 지시입니다'라는 뜻입니다. 3편의 철자 예제는 줄 바꿈과 이름표까지 합쳐 토큰 57개입니다.
문제
예제마다 번호의 개수가 다릅니다
여러 개를 한꺼번에 계산하려면 가로세로가 반듯한 표여야 합니다. 그런데 훈련 세트 맨 앞 여덟 개만 봐도 44개에서 74개까지 제각각입니다.
원본 자료를 직접 토큰으로 바꿔 센 값입니다.
10강에서 쓴 방법
빈자리는 50256번으로 채웁니다
가장 긴 줄에 맞추고, 짧은 줄의 빈자리를 글의 끝 표시인 50256번으로 채웁니다. 이 일을 패딩이라고 합니다.
10강에서 스팸 문자의 길이를 맞출 때 쓴 방법 그대로입니다. 50256번은 <|endoftext|>, '글의 끝'이라는 특수 토큰입니다.
달라진 점
이번에는 묶음마다 따로 맞춥니다
10강에서는 모든 문자를 전체에서 가장 긴 120칸에 맞췄습니다. 이번에는 묶음마다 그 안에서 가장 긴 줄에 맞춥니다.
한꺼번에 모델에 넣는 예제 한 묶음을 배치라고 부릅니다(10강).
이유
채운 자리가 절반쯤으로 줄어듭니다
채운 자리는 배울 것이 없는데 계산은 차지합니다. 앞에서 길이를 잰 여덟 개를 한 묶음으로 치면, 263칸 채울 것을 127칸만 채웁니다.
회색 칸을 직접 센 값입니다. 91은 1,100개 가운데 가장 긴 예제의 토큰 수입니다.
다음 편