LLM 토큰 수 계산기 쉽게 이해하기 — 개념과 원리
대규모 언어 모델은 글자나 단어 단위가 아니라 토큰 단위로 글을 읽습니다. 토큰은 짧은 단어 하나, 긴 단어의 일부, 공백이 붙은 단어, 문장 부호 같은 텍스트 조각입니다. API 요금, 사용량 제한, 그리고 모델이 한 번에 참고할 수 있는 분량인 컨텍스트 창이 모두 토큰으로 계산됩니다. 이 계산기는 붙여 넣은 글의 토큰 수를 빠르게 어림하고, 지정한 컨텍스트 창에서 차지하는 비율을 보여 줍니다.
계산 방법
- 추정 토큰 수 = ⌈글자 수 ÷ 4⌉ — 공백과 문장 부호까지 모든 문자를 셉니다.
- 단어 수 = 앞뒤 공백을 지운 뒤 공백으로 나눈 조각의 개수
- 컨텍스트 창 대비 비율 = 추정 토큰 수 ÷ 컨텍스트 창 × 100%
컨텍스트 창은 토큰 단위(예: 200,000)로 입력합니다.
원리
요즘 모델은 대부분 바이트 쌍 인코딩(BPE) 같은 하위 단어 토크나이저를 씁니다. BPE는 낱글자나 바이트에서 출발해 학습 말뭉치에서 자주 붙어 나오는 쌍을 계속 합쳐 나가므로, 흔한 영어 단어는 토큰 하나가 되고 드문 단어는 여러 조각으로 나뉩니다. 그 결과 일반 영어 문장은 평균적으로 토큰 하나에 약 4글자, 단어로는 약 0.75개가 됩니다. 반면 한국어 같은 비라틴 문자, 소스 코드, 숫자, URL은 글자당 토큰이 더 많이 드는 경우가 흔해 ÷4 규칙으로는 적게 잡히기 쉽습니다.
예제 풀이
- 입력 문장 "Paste text here to estimate tokens."는 공백과 마침표를 포함해 35글자입니다.
- 35 ÷ 4 = 8.75이고, 올림하면 9토큰입니다.
- 공백으로 나누면 6단어입니다.
- 200,000토큰 창에서의 비율은 9 ÷ 200,000 × 100 = 0.0045%입니다(유효숫자 3자리로 표시).
결과 해석
이 값은 예산을 잡는 용도이지 정확한 과금 계산용이 아닙니다. 컨텍스트 창에는 시스템 프롬프트, 대화 기록, 첨부 문서, 모델의 답변까지 한 요청의 모든 내용이 들어가야 합니다. 입력만으로 창의 90%를 채우면 답변할 공간이 거의 남지 않습니다. 한도에 가깝거나 정확한 비용이 필요하면 해당 모델의 공식 토크나이저로 확인하는 것이 좋습니다.
흔한 실수
- 한국어, 일본어, 중국어나 코드에 영어 기준을 그대로 적용해 크게 적게 잡는 경우
- 출력 토큰도 창을 차지하고 보통 입력보다 비싸다는 점을 잊는 경우
- 서로 다른 모델이 같은 글을 같은 토큰 수로 센다고 가정하는 경우
- 글자 수와 바이트 수를 혼동하는 경우(UTF-8에서 한글 한 음절은 3바이트)
자주 묻는 질문
영어 1,000단어는 몇 토큰인가요?
토큰 하나에 약 0.75단어라는 규칙으로 대략 1,300~1,400토큰입니다. 정확한 값은 토크나이저에 따라 다릅니다.
이모지나 특수 기호가 여러 토큰이 되는 이유는 무엇인가요?
바이트 단위 토크나이저는 합쳐진 토큰이 없는 드문 기호를 여러 바이트 조각으로 나누기 때문입니다.
공백도 토큰에 포함되나요?
네. 대부분의 토크나이저는 단어 앞의 공백을 그 단어 토큰에 붙여서 처리합니다.
출처: R. Sennrich, B. Haddow and A. Birch, Neural Machine Translation of Rare Words with Subword Units, ACL 2016 · OpenAI Help Center, What are tokens and how to count them?