토크나이저
이 페이지는 AI 에이전트 문맥에서 자주 쓰이는 토크나이저의 뜻과 쓰임을 중급 난이도 기준으로 정리한 AI 용어사전 항목입니다. 정의와 맥락, 관련 용어 7개, 관련 글 2개 순서로 묶었으니, 아래 설명을 먼저 읽고 연결된 개념과 글까지 이어서 보면 이해가 빨라집니다.
토크나이저(Tokenizer)는 텍스트를 모델이 처리할 토큰 조각으로 나누고, 그 조각을 정수 ID로 바꾸는 구성 요소입니다. 같은 문장도 모델에 맞는 토크나이저에 따라 토큰 수와 ID가 달라질 수 있습니다.
분할에서 ID까지
언어 모델은 문장을 글자 모양 그대로 계산하지 않습니다. 먼저 토크나이저가 입력을 정규화하거나 규칙에 따라 나눈 뒤, 어휘표에 있는 토큰과 숫자 ID의 대응을 찾아 모델에 전달합니다. 모델은 이 ID들의 순서를 처리해 다음 ID를 예측합니다. 출력 단계에서는 전체 토크나이저의 디코드 절차가 ID 열을 다시 읽을 수 있는 텍스트로 바꿉니다. Hugging Face의 Tokenizers 구성 문서는 토크나이저에 정규화, 사전 분할, 토큰화 모델, 후처리, 디코더가 결합될 수 있으며, 디코더 구성 요소가 토큰 조각을 문자열로 되돌리는 일을 맡는다고 설명합니다.
간단한 예로 ‘바다를 봅니다’라는 문장이 있을 때, 어느 토크나이저는 띄어쓰기와 함께 여러 부분 문자열로 나누고 각 부분에 ID를 붙일 수 있습니다. 여기서 ID 42가 언제나 같은 글자를 뜻하는 것은 아닙니다. 그 수의 뜻은 어휘표와 규칙을 함께 가진 특정 토크나이저 안에서만 정해집니다. 공백, 줄바꿈, 이모지, URL, 코드 기호도 입력의 일부이므로 예상보다 토큰을 늘릴 수 있습니다. 텍스트를 나누는 일이 단순히 공백을 기준으로 단어를 자르는 작업이라는 생각은 이 단계에서 맞지 않습니다.
방식과 한국어
BPE(Byte Pair Encoding)는 널리 쓰이는 서브워드 방식 가운데 하나입니다. 자주 함께 등장한 문자나 바이트 조각을 반복해서 합쳐 어휘를 만들고, 처음 보는 단어도 여러 조각으로 표현할 수 있습니다. 그렇다고 모든 토크나이저가 BPE인 것은 아닙니다. Hugging Face 문서는 BPE 외에 WordPiece와 Unigram을 별도 서브워드 방식으로 설명하고, 단어 전체를 ID에 대응시키는 WordLevel 방식도 소개합니다. Google이 공개한 SentencePiece 역시 BPE와 unigram 언어 모델을 구현하며, 원시 Unicode 문자열에서 학습할 수 있다고 밝힙니다.
한국어를 처리한다고 해서 특정 알고리즘 하나가 반드시 더 적은 토큰을 만든다고 말할 수는 없습니다. 학습에 쓰인 데이터, 어휘표 크기, 정규화 규칙, 바이트 단위 처리, 문장에 섞인 기호가 결과를 함께 바꿉니다. 한국어는 조사와 어미가 붙고 띄어쓰기 변형도 있어 단어 수만으로 분할 결과를 예측하기 어렵습니다. 같은 문장을 영어와 비교해 고정된 토큰 비율로 비용을 계산하는 방법도 신뢰하기 어렵습니다. 대상 모델의 토크나이저로 대표 프롬프트와 실제 문서를 재는 방법이 안전합니다.
토큰화 뒤에는 문장 앞뒤에 특별한 표지를 더하는 단계도 있을 수 있습니다. 두 문장을 한 쌍으로 넣을 때 구분 표지를 넣거나, 대화 형식에서 역할을 나타내는 표지를 넣는 방식입니다. Hugging Face 문서에서는 이 일을 후처리 단계로 설명합니다. 이런 표지는 눈에 보이는 본문에는 없지만 모델 입력과 토큰 수에는 포함될 수 있습니다. 긴 문서의 청크 크기를 정할 때 본문만 한도에 맞추고 이 여유를 빼먹지 않아야 합니다.
모델과 비용을 확인하는 법
토크나이저는 모델과 호환되어야 합니다. 토큰과 ID의 대응은 모델이 학습할 때 사용한 대응과 맞아야 하므로, A 모델용 ID 배열을 B 모델에 그대로 보내면 보통 같은 문장을 뜻하지 않습니다. 같은 원문을 서로 다른 토크나이저로 세면 토큰 수가 달라지는 이유도 여기에 있습니다. OpenAI의 tiktoken 안내는 서로 다른 모델이 서로 다른 인코딩을 사용한다고 설명하고, encoding_for_model로 모델에 맞는 인코딩을 선택하는 예시를 제공합니다. 모델을 바꾸거나 별칭 모델을 쓸 때는 이전 추정값을 그대로 옮기지 말고 다시 확인해야 합니다.
토크나이저는 토큰당 단가를 정하지 않지만, 비용에 영향을 주는 토큰 수를 정하고 사용량을 미리 재게 해 줍니다. 개발 단계에서는 입력 텍스트를 토큰화해 긴 문서를 나눌 기준과 컨텍스트 여유를 정할 수 있습니다. 운영 단계에서는 로컬 계산값과 API 응답의 실제 usage 값을 비교합니다. 채팅 메시지 형식, 시스템 지시, 도구 정의처럼 애플리케이션이 덧붙이는 내용은 단순 텍스트 계산에서 빠질 수 있기 때문입니다. OpenAI의 안내도 메시지 토큰 계산은 모델마다 달라질 수 있으므로 추정치로 보라고 적습니다. 비용은 토큰 수에 각 서비스의 입력·출력·캐시·멀티모달 가격 규칙을 적용해 계산하므로, 토크나이저의 숫자만으로 최종 청구액을 확정할 수는 없습니다.
관련 용어
토크나이저와 함께 자주 언급되는 개념들입니다. 비슷한 말처럼 보여도 역할과 쓰임은 다를 수 있습니다.
관련 글
glossary에서 개념을 잡고 관련 글로 넘어가면 실제 문맥 이해가 쉬워집니다.
