토큰이란 무엇인가: 글자와 단어 사이에서 모델이 읽는 단위

토큰이란 무엇인가: 글자와 단어 사이에서 모델이 읽는 단위

토큰은 토크나이저가 텍스트를 정해진 어휘의 ID 열로 바꿀 때 사용하는 단위로, 한 글자나 한 단어와 고정 대응하지 않으며 규칙과 언어에 따라 분절이 달라집니다.

한국어 문장이 부분단어 조각과 정수 토큰 ID의 순서로 변환되는 토큰화 과정

언어 모델은 문장을 그대로 계산하지 않습니다. 먼저 텍스트를 토큰 ID로 바꾸고, 그 순서를 벡터로 처리한 뒤 다시 토큰을 생성해 문자열로 복원합니다.

AI 핵심 지식 52편 중 9편입니다. 제품 화면이 바뀌어도 남는 원리와 판단 기준을 다룹니다.

텍스트를 나누는 대표 단위

단위장점경계와 비용
단어사람이 읽는 의미 단위와 가까움미등록어·활용형·언어별 띄어쓰기 문제
부분단어어휘 크기와 미등록어를 절충같은 단어가 여러 조각으로 나뉠 수 있음
문자새 문자열을 세밀하게 표현시퀀스가 길어져 계산이 늘 수 있음
바이트문자 집합 밖 입력도 폐쇄 없이 표현사람 의미 경계와 더 멀어질 수 있음
원문·정규화·부분단어 분절·토큰 ID·임베딩으로 이어지는 입력 변환

토큰화 결과를 점검하는 순서

  1. 원문 정규화와 공백 처리 규칙을 확인한다.
  2. 토크나이저 어휘에서 문자열 조각을 ID로 변환한다.
  3. 시작·끝·구분 같은 특수 토큰이 추가되는지 본다.
  4. 한국어·숫자·코드·이모지 표본의 분절을 비교한다.
  5. 디코딩 뒤 원문 보존과 경계 손실을 확인한다.

토큰은 모델과 문자열 사이의 약속이다

언어 모델의 행렬 계산은 문자열을 직접 다루지 못하므로 토크나이저가 텍스트를 정수 ID의 순서로 바꾼다. 각 ID는 어휘표에 등록된 문자열 조각이나 특수 의미에 대응하고, 이후 임베딩 층에서 벡터로 변환된다. 이 단위를 토큰이라고 부른다. 토큰은 언어학적 단어와 같을 수도 있지만 흔히 단어 일부, 공백이 붙은 조각, 문장부호, 문자 또는 바이트 묶음이다. 같은 철자도 앞 공백이나 대소문자, 유니코드 정규화에 따라 다른 토큰이 될 수 있다. 시작·끝·역할 구분처럼 원문에 보이지 않는 특수 토큰도 모델 입력 구조를 만든다. 따라서 글자 수를 토큰 수로 단순 환산하거나 화면에 보이는 단어 경계만으로 모델 처리 단위를 추측하면 오차가 생긴다.

단어·부분단어·문자·바이트 토큰의 어휘 크기와 시퀀스 길이 절충 비교

부분단어는 어휘 크기와 시퀀스 길이를 절충한다

모든 단어를 어휘에 넣으면 활용형과 고유명사 때문에 표가 끝없이 커지고 드문 단어는 충분히 학습하기 어렵다. 반대로 글자나 바이트만 쓰면 미등록어는 줄지만 한 문장이 훨씬 긴 시퀀스가 될 수 있다. BPE와 SentencePiece 같은 부분단어 방식은 자주 나타나는 조각을 묶고 드문 문자열은 작은 조각으로 나눠 두 문제를 절충한다. 학습 말뭉치의 빈도와 정규화 규칙이 어휘를 결정하므로 토크나이저도 데이터에서 만들어진 모델 구성요소다. 동일한 알고리즘 이름을 사용해도 학습 자료와 어휘 크기가 다르면 분절 결과가 달라진다. 토큰화는 전처리의 사소한 단계가 아니라 모델이 어떤 패턴을 짧게 표현하고 어떤 표현에 더 긴 계산을 쓰는지 정하는 설계다.

언어와 형식에 따라 분절 효율이 달라진다

어휘가 특정 언어와 문자 분포에 치우치면 다른 언어의 같은 정보가 더 많은 토큰으로 나뉠 수 있다. 한국어는 조사와 어미가 결합하고 띄어쓰기 변동도 있어 학습된 조각에 따라 한 어절이 여러 토큰이 된다. 숫자, 날짜, 소스 코드, 이모지와 결합 문자는 일반 문장과 다른 경계를 보일 수 있다. 토큰 수가 늘면 고정된 컨텍스트 안에 담을 수 있는 원문이 줄고, 어텐션 계산과 생성 단계가 늘 수 있다. 그러나 토큰이 적다는 이유만으로 의미 이해가 더 좋다고 단정할 수는 없다. 중요한 것은 대상 언어와 형식에서 원문 복원이 안정적이고, 지나치게 긴 분절이 특정 집단의 처리 비용이나 품질에 영향을 주지 않는지 평가하는 것이다. 평균값보다 실제 입력 표본을 토크나이저로 직접 확인해야 한다.

토큰 경계는 출력과 평가에도 남는다

자기회귀 언어 모델은 한 번에 다음 토큰의 확률 분포를 예측하고 선택된 토큰을 다시 입력에 붙인다. 사용자가 보는 단어 하나가 여러 토큰이면 생성 중간에 어색한 조각이 후보가 될 수 있고, 금칙어 필터를 문자열과 토큰 중 어디에 적용하는지에 따라 우회 가능성이 달라진다. 출력 길이 제한도 글자나 문장 수가 아니라 생성 토큰 수를 기준으로 동작하는 경우가 많다. 확률과 로그손실 역시 토큰 단위로 계산되므로 서로 다른 토크나이저의 값은 단순 비교하기 어렵다. 모델을 교체하면서 토크나이저가 달라지면 입력 절단 위치, 특수 토큰, 캐시와 평가 파이프라인도 함께 바뀐다. 토큰화 계약을 버전 관리해야 재현성과 안전 점검이 유지된다.

판단 체크리스트

  1. 사용할 모델과 정확히 같은 토크나이저 버전을 고정한다.
  2. 한국어·영어·숫자·코드·이모지 대표 표본을 직접 분절한다.
  3. 특수 토큰과 공백·유니코드 정규화 규칙을 기록한다.
  4. 입력 절단과 출력 제한이 어느 토큰 경계에서 일어나는지 본다.
  5. 보안 필터는 토큰 전후의 문자열과 의미 수준에서 다시 검사한다.

자주 생기는 오해

  • 토큰 하나는 영어 단어 하나다 — 토큰은 단어·부분단어·문자·바이트 조각일 수 있고 공백과 문장부호가 결합되기도 한다.
  • 글자 수가 같으면 토큰 수와 처리량도 같다 — 토크나이저 어휘와 언어·형식에 따라 같은 길이 문자열의 분절 수가 크게 달라질 수 있다.

토큰 수를 곧바로 의미로 읽으면 안 되는 상황

상황해석다음 행동
같은 문장이 모델마다 다른 토큰 수어휘·정규화·분절 규칙이 다름각 모델의 실제 토크나이저로 측정
토큰 수는 적지만 결과 품질이 낮음압축 효율과 의미 학습은 별도 문제대상 언어 과업 평가를 함께 수행
금칙 문자열이 여러 토큰으로 분절토큰 단위 필터만으로 경계를 놓칠 수 있음디코딩 후 문자열·의미 검사를 추가

자주 묻는 질문

토큰 ID 자체에 의미가 있나?

ID는 어휘 항목을 가리키는 인덱스일 뿐 숫자 크기에 의미가 없습니다. 학습된 임베딩과 문맥 처리에서 관계가 형성됩니다.

토큰이 적게 나뉘는 언어가 더 잘 지원되나?

분절 효율은 한 단서지만 품질을 보장하지 않습니다. 학습 데이터, 구조, 평가 과업과 오류 분석을 함께 봐야 합니다.

토크나이저를 나중에 바꿀 수 있나?

가능하지만 어휘 ID와 임베딩이 연결돼 있어 단순 교체가 어렵습니다. 모델 재학습이나 임베딩 적응과 전체 평가가 필요할 수 있습니다.

공백도 토큰이 되나?

구현에 따라 공백이 독립 항목이거나 다음 문자열 조각에 포함될 수 있습니다. 실제 분절 표기와 디코더 규칙을 확인해야 합니다.

관련 좌표

작성·검증 정보

  • 작성·검토: AI좌표 편집부
  • 원문 확인일: 2026-07-27
  • 다음 재검토일: 2027-01-27
  • 재검토 조건: 원 논문의 정정·철회, 표준 정의 변경, 장기 평가에서 핵심 반례가 확인될 때

출처

댓글