한국어 sLM 비교에서 가장 조용히 결과를 왜곡하는 교란변수가 토크나이저다. 결론부터: 토크나이저가 다르면 토큰은 텍스트의 단위가 아니다 — 비용·지연·컨텍스트 비교는 글자(음절)나 쿼리 단위로 정규화하라.
토큰 수는 언어마다 거짓말한다
Petrov et al. (NeurIPS 2023): 같은 내용을 언어만 바꿔 토크나이즈하면 최대 15배 길이 차이 — 다국어 지원을 표방한 토크나이저조차 그렇다. 이 격차가 API 비용, 요청당 지연, 유효 컨텍스트 창을 그대로 왜곡한다(Do All Languages Cost the Same?은 이를 "이중 불이익"으로 정량화 — 더 내고 더 나쁜 품질을 받는다). 실전 예: SKT A.X 4.0은 "같은 한국어 입력에서 GPT-4o보다 ~33% 적은 토큰"을 명시한다 — 즉 A.X의 "1M 토큰당 가격"과 "tokens/sec"는 GPT-4o의 같은 숫자보다 ~1.5배 많은 한국어 텍스트를 의미한다. 토큰 단위 비교표는 모델이 아니라 어휘집을 재고 있는 것이다.
fertility — 측정 어휘
Rust et al. (ACL 2021)이 표준화한 지표: fertility = 단어(또는 글자)당 평균 서브워드 수. mBERT의 토크나이저를 단일어 토크나이저로 바꾸는 것만으로 거의 모든 태스크가 개선됐다 — 토크나이저 품질이 사전학습 데이터 양만큼 중요했다. 한국어 특화 결과 둘: Park et al. (AACL 2020) — 자모/음절/형태소/BPE/형태소+BPE 하이브리드를 전 태스크 비교, 최적 전략이 태스크 의존적(하이브리드가 대체로 승리, BPE는 QA에서 승리)이라 BPE는 한국어의 보편 기본값이 아니다. Thunder-Tok (서울대, 2025) — 형태소/어절 경계를 존중하는 설계로 BPE 대비 fertility 1.370 vs 1.509, ~10% 추론 속도 향상을 다운스트림 손실 없이 — 그것도 360M~1.5B, 정확히 sLM 체급에서 검증. 단 주의(Tokenizer Choice, NAACL 2024): fertility가 낮다고 정확도가 좋은 건 아니다 — fertility는 효율 논거로만, 모델 선택은 태스크 정확도로.
임베딩 세금 — "1B 모델"은 같은 1B가 아니다
sub-1B에서 어휘 크기는 1차 설계 변수다(MobileLLM이 임베딩 공유를 쓰는 이유). 실측: Gemma 3 1B는 262K 어휘의 임베딩이 파라미터의 30%(302M/1,000M), HyperCLOVA X SEED 0.5B는 타이드 임베딩인데도 ~21%. 어휘 스케일링 법칙(NeurIPS 2024)은 "작은 모델엔 작은 어휘가 최적"을 시사 — 0.5B에 260K 다국어 어휘는 연산 최적 곡선 밖이다. 처방: 모델 비교표에 비임베딩 파라미터 수를 병기하라. "Gemma 3 1B vs Kanana 2.1B vs EXAONE 2.4B"는 이 보정 없이는 동일 용량 비교가 아니다.
논문용 프로토콜
- 후보 모델 각각의 내 한국어 질의 분포에서의 글자당 토큰 수를 측정해 표로(HF tokenizers 10줄 스크립트).
- 비용·지연은 쿼리당 또는 1,000자당으로 보고 — 절대 토큰당으로 하지 말 것.
- max_new_tokens는 모델별 출력 fertility 실측으로 설정 — 어떤 모델도 조용히 잘리지 않게.
- 모델 크기는 비임베딩 파라미터 병기.
한 줄 요약: 토크나이저를 통제하지 않은 한국어 모델 비교는 모델이 아니라 어휘집을 비교한 것이다.
— sLM 평가 방법론 시리즈 ⑦ / 다음 글: 파인튜닝된 sLM 평가 — 베이스라인 사다리와 망각
댓글 없음:
댓글 쓰기
국정원의 댓글 공작을 지탄합니다.