[Paper] 그걸 끝낼 거야? 토크나이제이션 경계 문제에 대한 실용적 연구

발행: (2026년 1월 31일 오전 02:47 GMT+9)
9 분 소요
원문: arXiv

Source: arXiv - 2601.23223v1

개요

언어 모델은 토큰 단위로 텍스트를 생성하지만, 사용자는 일반 문자로 입력합니다. 프롬프트가 토큰 중간에서 끝날 경우, 모델의 다음 토큰 분포가 크게 부정확해질 수 있는데, 이를 부분 토큰 문제라고 합니다. 이 논문은 실제 입력에서 이러한 불일치가 얼마나 흔한지 (특히 중국어, 복합어가 많은 언어, 그리고 소스 코드에서) 밝혀내고, 최첨단 모델에 미치는 영향을 정량화합니다.

Key Contributions

  • 토큰‑단어 불일치에 대한 실증 조사를 세 가지 고위험 영역(공백이 없는 언어, 복합어 언어, 프로그래밍 코드)에서 수행.
  • 자연스러운 “부분‑토큰” 프롬프트 구축으로, 합성 문자 접두어 대신 개발자와 최종 사용자가 실제로 입력하는 방식을 모방.
  • 대규모 평가 결과, 프롬프트가 토큰‑불일치일 때 최첨단 LM이 올바른 이어지는 문장에 ≈1,000× 적은 확률을 할당하며, 이 격차는 모델 크기가 커질수록 지속되거나 심화됨.
  • 추론‑시간 수정에 대한 체계적 평가, 최근 정확한 토크나이징 방법(예: 바이트‑레벨 폴백, 동적 토큰 재분할)이 손실된 확률 질량을 효과적으로 회복함을 확인.
  • 실행 가능한 가이드라인을 API 제공자와 하위 개발자에게 제공하여, 프로덕션 파이프라인에서 문제를 감지하고 완화하는 방법을 제시.

방법론

  1. Token‑Word Alignment Analysis – 저자들은 중국어, 독일어, 핀란드어 및 여러 프로그래밍 언어의 대규모 코퍼스를 동일한 BPE/WordPiece 어휘집을 사용해 토큰화했습니다. 그 후 단어 경계가 토큰 내부에 위치하는 비율을 측정했습니다.

  2. Prompt Generation – 각 도메인별로 자연스럽게 발생하는 문장을 수집한 뒤, 다음 토큰 경계 바로 에서 문장을 잘라냈습니다. 이렇게 하면 생성된 프롬프트가 부분 토큰으로 끝나게 됩니다(예: “我想去北”, 다음 토큰은 “北京”).

  3. Probability Measurement – 1 B에서 175 B 파라미터 규모의 모델을 사용해 ground‑truth 연속을 조건부 확률로 계산했습니다. 두 조건은 (a) 원본 부분 토큰 프롬프트, (b) 프롬프트를 패딩하거나 재분할해 토큰에 정렬된 “백오프(backed‑off)” 버전입니다.

  4. Mitigation Experiments – 세 가지 추론 시 전략을 테스트했습니다: (i) 탐욕적인 문자 수준 폴백, (ii) 각 전방 패스 전 프롬프트를 동적으로 재토큰화, (iii) 최근 연구에서 제안된 정확한 토큰화 알고리즘(예: Exact Tokenizer)을 적용.

  5. Statistical Analysis – 결과를 도메인, 모델 크기, 프롬프트 길이별로 집계하고, 무작위 변동을 배제하기 위해 신뢰 구간을 보고했습니다.

결과 및 발견

도메인토큰과 정렬되지 않은 단어 경계 비율 (%)평균 확률 감소 (부분 vs. 정렬)
중국어~25 %10⁻³ (≈3 orders of magnitude)
독일어 (복합어)~12 %10⁻²
핀란드어 (복합어)~9 %10⁻²
파이썬 코드~18 %10⁻³
  • 스케일 불변성: 더 큰 모델(최대 175 B)은 손실된 확률을 회복하지 못했으며; 많은 경우 격차가 약간 증가했으며, 이는 문제가 데이터 부족이 아니라 아키텍처적임을 시사한다.
  • 완화 성공: 정확한 토큰화 폴백이 원래 확률의 > 95 %를 복원했으며, 단순 문자 수준 폴백은 약 60 %만 회복했다.
  • 사용자에게 보이는 영향: 생성 작업(예: 코드 완성)에서 부분 토큰 프롬프트가 모델이 관련 없는 완성이나 심지어 구문 오류를 제안하게 하여, 하위 작업 정확도를 크게 낮추었다.

Practical Implications

  • API 제공자토큰 정렬 검사 (예: 불리언 플래그) 를 제공하거나 모델에 입력하기 전에 들어오는 프롬프트를 자동으로 재토큰화해야 합니다.
  • IDE 및 코드 어시스턴트 플러그인은 불완전한 식별자를 사전 sentinel 토큰으로 패딩하거나 커서가 공백이 아닌 문자 뒤에 있을 때 재토큰화 과정을 트리거할 수 있습니다.
  • 다국어 챗봇으로서 공백이 없는 언어(중국어, 일본어, 태국어)를 대상으로 하는 경우, 무언가가 조용히 성능이 떨어지는 것을 방지하기 위해 바이트 수준 또는 문자 수준의 대체 방식을 포함해야 합니다.
  • 모델 파인튜닝 파이프라인은 부분 토큰 예시를 추가하여 학습 데이터를 보강함으로써, 모델이 이러한 입력에 대해 강인해지도록 할 수 있습니다.
  • 성능 트레이드오프: 정확한 재토큰화는 지연 시간을 약간 증가시킵니다(≈5‑10 ms per request on GPU), 이는 잘못된 답변을 제공하는 비용에 비해 종종 허용 가능한 수준입니다.

제한 사항 및 향후 연구

  • 이 연구는 decoder‑only 언어 모델에 초점을 맞추었으며, encoder‑decoder 또는 retrieval‑augmented 모델은 다른 민감성을 보일 수 있습니다.
  • BPE/WordPiece와 같은 소수의 토크나이저만 조사했으며, 최신 서브워드 방식(예: Unigram, 바이트 폴백을 사용하는 SentencePiece)은 다르게 동작할 수 있습니다.
  • 완화 실험은 추론 시점의 수정에만 국한되었으며, 학습‑시점 솔루션(예: 토큰‑경계 정규화) 탐구는 아직 남아 있는 과제입니다.
  • 실제 사용자 로그에 접근하지 못했기 때문에, 프로덕션 환경에서 부분‑토큰 프롬프트가 발생하는 정확한 빈도는 측정이 아니라 추정됩니다.

핵심: 토크나이징 경계 문제는 이론적인 호기심이 아니라, 사용자 입력 텍스트를 언어 모델에 전달하는 모든 서비스에 대한 구체적인 신뢰성 위험입니다. 권장되는 추론‑시점 보호 조치를 채택함으로써, 개발자는 차세대 모델을 기다리지 않고도 예측 정확성을 크게 향상시킬 수 있습니다.

저자

  • Hao Xu
  • Alisa Liu
  • Jonathan Hayase
  • Yejin Choi
  • Noah A. Smith

논문 정보

  • arXiv ID: 2601.23223v1
  • 분류: cs.CL
  • 출판일: 2026년 1월 30일
  • PDF: PDF 다운로드
Back to Blog

관련 글

더 보기 »

[Paper] Agnostic 언어 식별 및 생성

최근 language identification 및 generation에 관한 연구들은 이러한 작업을 달성할 수 있는 엄격한 statistical rates를 확립했습니다. 이러한 연구들은 일반적으로 …