← 최신 논문
💬 NLP

Are you going to finish that? A Practical Study of the Partial Token Problem

이 논문은 토큰 중간에서 끝나는 현실적인 프롬프트가—특히 공백이 없는 언어, 합성어 언어, 그리고 코드의 경우—규모가 커져도 개선되지 않는 대규모 언어 모델의 심각한 확률 왜곡을 유발한다는 점을 입증하며 '부분 토큰 문제(partial token problem)'를 조사하고, 동시에 정확한 추론 시점 해결책의 효과를 검증한다.

원저자: Hao Xu, Alisa Liu, Jonathan Hayase, Yejin Choi, Noah A. Smith

게시일 2026-02-04
📖 4 분 읽기☕ 가벼운 읽기

원저자: Hao Xu, Alisa Liu, Jonathan Hayase, Yejin Choi, Noah A. Smith

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

당신은 아주 똑똑하지만 약간은 융통성이 없는 로봇과 함께 "문장 완성하기" 게임을 하고 있다고 상상해 보세요. 당신이 문장을 입력하면, 로봇은 바로 다음에 올 단어를 맞혀야 합니다.

보통은 완벽하게 작동합니다. 하지만 이 논문은 로봇이 단어를 몰라서가 아니라, 단어를 세는 방식 때문에 혼란에 빠지는 특정 결함을 발견했습니다.

다음은 간단한 비유를 사용하여 문제의 내용, 증거, 그리고 해결책을 정리한 것입니다.

1. 핵심 문제: "반쪽 벽돌" 글리치(Glitch)

로봇의 뇌를 모든 책이 벽돌(토큰)로 만들어진 도서관이라고 생각해 보세요.

  • 사용자의 관점: 당신은 단어(예: "apple" 또는 "is")를 봅니다.
  • 로봇의 관점: 로봇은 벽돌을 봅니다. 때로는 하나의 벽돌이 하나의 단어 전체를 덮기도 하고, 때로는 하나의 벽돌이 두 개의 단어를 덮기도 합니다. 때로는 벽돌이 반으로 잘려 있기도 합니다.

**부분 토큰 문제(Partial Token Problem)**는 당신이 벽돌 하나를 쓰는 도중에 입력을 멈출 때 발생합니다.

  • 비유: 로봇이 "processing"이라는 단어가 하나의 온전하고 단단한 벽돌이라고 기대한다고 가정해 봅시다.
  • 실수: 당신이 "process"까지만 치고 멈춥니다.
  • 혼란: 로봇은 "process"를 보고 생각합니다. "잠깐, 나는 'process'라는 벽돌을 알아. 하지만 나는 또한 'processing'이라는 벽돌도 알아. 만약 내가 다음에 그냥 'ing'를 붙인다면, 'processing'은 하나의 깨지지 않는 벽돌이어야 한다는 내 규칙을 어기게 되는 거야!"

로봇은 전체 벽돌 형태만 보도록 훈련되었기 때문에, 당신이 예상하는 방식대로 단어를 완성하는 것을 두려워합니다. 로봇은 이렇게 생각합니다. "만약 사용자가 'process'에서 멈췄다면, 다음에 'ing'를 붙이고 싶은 게 아니라 완전히 다른 것을 원하고 있는 게 분명해!"

2. 어디에서 발생하는가? (세 가지 함정)

연구진은 이것이 단순히 영어에서 발생하는 드문 글리치가 아님을 발견했습니다. 이는 "단어"와 "벽돌"이 일치하지 않는 세 가지 특정 상황에서 자주 발생합니다.

  • 띄어쓰기가 없는 언어 (중국어 등): 영어에서는 공백(띄어쓰기)이 단어의 끝을 알려줍니다. 하지만 중국어에는 공백이 없습니다. 로봇은 어디서 한 단어가 끝나고 다음 단어가 시작되는지 스스로 추측해야 합니다.
    • 예시: "is a"라는 구절이 하나의 단일 벽돌일 수 있습니다. 만약 당신이 "is"까지만 치고 멈춘다면, 당신은 그 벽돌을 반으로 자른 셈이 됩니다. 로봇은 패닉에 빠집니다.
  • 단어를 결합하는 언어 (독일어 등): 독일어는 종종 두 단어를 하나의 거대한 단어로 합칩니다 (예: 노른자를 뜻하는 "Eigelb").
    • 예시: 로봇이 "Ei"를 보고 있는데 당신이 거기서 멈춘다면, 하지만 로봇은 "Eigelb"를 하나의 벽돌이라고 생각한다면, 로봇은 다음에 무엇이 올지에 대해 혼란을 느낍니다.
  • 컴퓨터 코드: 코드는 ():와 같은 기호들을 사용합니다. 종종 일련의 기호들이 하나의 벽돌을 이룹니다.
    • 예시: 당신이 def main()을 치다가 멈췄는데, 로봇이 ():를 하나의 단일 벽돌이라고 생각한다면, 로봇은 다음 기호를 예측하는 데 어려움을 겪습니다.

3. 얼마나 심각한가? (침묵의 충돌)

연구진은 많은 다양한 로봇(AI 모델)들을 대상으로 테스트했습니다. 결과는 충격적이었습니다.

  • 확률 하락: 로봇이 "반쪽 벽돌" 뒤에서 정답을 추측해야 할 때, 로봇은 정답을 제시해야 한다는 확신이 1,000배에서 10,000배까지 감소합니다. 이는 마치 정답을 알고 있는 학생이 선생님의 채점 규칙이 무서워서 답을 쓰기를 거부하는 것과 같습니다.
  • 정확도 하락: 로봇은 정답을 주는 빈도가 60%에서 95%까지 급감합니다. 로봇은 글자를 빼먹거나, 이상한 공백을 넣거나, 완전히 틀린 단어를 내놓을 수 있습니다.
  • 규모가 커져도 소용없음: "로봇을 더 똑똑하게(더 큰 모델로) 만들면 이 문제가 해결될 것"이라고 생각할 수도 있습니다. 아닙니다. 연구 결과, 더 크고 똑똑한 로봇일수록 이 문제에 더 취약했습니다. 그들은 자신들의 특정 "벽돌" 규칙에 너무나도 잘 훈련되어 있어서, 그 규칙을 깨지 않으려는 고집이 훨씬 더 강했기 때문입니다.

4. 해결책: 글리치를 고치는 방법

논문은 "추론(inference)" 단계에서 이 문제를 해결하는 두 가지 방법을 테스트했습니다.

  • 방법 A: "토큰 힐링(Token Healing)" (후퇴하기):

    • 작동 방식: 당신이 "process"라고 쳤을 때 로봇이 혼란스러워한다면, 이 방법은 로봇에게 "알았어, 마지막 부분은 잊어버려. 'pro'까지만 봤다고 가정하자"라고 말합니다.
    • 결과: 가끔 도움이 되긴 하지만, 운에 맡겨야 합니다. 이는 깨진 꽃병을 고치기 위해 윗부분을 잘라내는 것과 같습니다. 어느 정도 맞을 수는 있지만, 완벽하지는 않습니다.
  • 방법 B: "바이트샘플러(ByteSampler)" (지도 그리기):

    • 작동 방식: 예측하는 대신, 이 방법은 로봇이 당신의 문장을 읽을 수 있는 모든 가능한 방식의 지도를 그립니다. 그리고 당신의 텍스트와 정확히 일치하는 경로를 찾아 그 지점부터 다시 시작합니다.
    • 결과: 완벽하게 작동합니다. 테스트에서 이 방법은 프롬프트가 벽돌 중간에서 끊겼을 때조차 로봇이 정답을 100%의 확률로 맞히도록 만들었습니다. 이는 길을 잘못 들었을 때 즉시 경로를 재탐색하여 목적지에 도달하게 해주는 GPS와 같습니다.

요약

이 논문은 AI 모델이 언어를 이해하는 데는 놀라운 능력을 갖추고 있지만, 동시에 자신들이 단어를 세우도록 배운 특정한 방식(토큰화)의 노예이기도 하다는 결론을 내립니다. 사용자가 로봇의 내부 계산 규칙과 일치하지 않는 방식으로 입력을 멈추면, 로봇의 확신은 무너집니다.

다행인 점은, 로봇을 새로 만들 필요가 없다는 것입니다. 우리가 생각하는 동안 더 똑똑한 "GPS"(ByteSampler와 같은)를 사용하기만 하면, 로봇이 자신의 계산 규칙 때문에 길을 잃지 않도록 보장할 수 있습니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →