논리적 사고

같은 문장인데 토큰 수는 왜 다를까?

‘올빼미는 논리를 배운다’를 서로 다른 조각 목록으로 나눕니다. 글자·단어·토큰을 구분하고, 개수가 달라져도 그대로 남는 정보를 찾습니다.

같은 한국어 문장을 긴 조각 목록으로 나누면 공백 포함 5개, 작은 조각 목록으로 나누면 8개가 되는 비교 그림
같은 한국어 문장을 긴 조각 목록으로 나누면 공백 포함 5개, 작은 조각 목록으로 나누면 8개가 되는 비교 그림
그림 크게 열기 ↗SVG 저장

그림에서 무엇을 볼까요?

같은 한국어 문장을 긴 조각 목록으로 나누면 공백 포함 5개, 작은 조각 목록으로 나누면 8개가 되는 비교 그림

음성 편집자가 ‘올빼미는 논리를 배운다’라는 짧은 자막을 정리합니다. 띄어쓰기 기준으로는 세 어절이고, 공백 두 칸을 포함하면 이 예시의 문자는 열두 개입니다. 그런데 컴퓨터가 모델에 전달할 단위인 토큰은 이 두 수와 같아야 할 이유가 없습니다. 토큰화는 정해진 규칙과 어휘 목록에 따라 텍스트를 조각으로 나누고, 그 조각을 처리할 수 있는 번호와 연결하는 과정입니다.

허깅페이스의 공개 교육 자료는 단어 단위, 문자 단위, 부분단어 단위의 분할을 비교합니다. 어떤 조각 목록과 규칙을 쓰느냐에 따라 같은 표현도 다르게 나뉩니다. 모델을 사용할 때에는 학습 때 함께 사용한 토크나이저와 어휘를 맞추어야 합니다. 다른 분할기의 번호를 그대로 넣어도 같은 뜻으로 처리될 것이라고 기대할 수는 없습니다. 번호는 그 목록 안에서 조각을 가리키는 표식이기 때문입니다.

함께 확인할 점

자체 제작한 최장 일치 분할 규칙을 실제로 실행합니다. 왼쪽부터 목록의 가장 긴 조각을 고르고, 없으면 유니코드 문자 하나를 사용합니다. 공백도 한 조각입니다. 실제 언어모델·BPE 학습·모델 내부 사고를 실행하거나 관찰하는 기능이 아닙니다.

생각해 볼 질문

공백이나 문장부호 하나를 바꾼 두 입력을 비교해 보세요. 바뀐 원문, 조각 목록, 토큰 수, 그대로 남은 정보를 나누어 적어 보세요.

← 논리적 사고 그림 더 보기