Tokenization with Split Trees
본 논문은 분할 트리와 정수 프로그래밍을 활용하여 최소 토큰 수를 위한 어휘 선택을 최적화하는 새로운 서브워드 토큰화 방법인 ToaST 를 소개하며, BPE 와 WordPiece 와 같은 기존 베이스라인 대비 압축 효율성과 언어 모델 성능에서 상당한 개선을 달성합니다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
인터넷을 통해 방대한 도서관의 책들을 전송하려 한다고 상상해 보세요. 하지만 인터넷 연결 속도가 느립니다. 전송 속도를 높이기 위해 책들의 의미를 잃지 않으면서 가능한 한 가장 적은 수의 "조각"(토큰) 으로 책들을 압축하고 싶습니다.
오랫동안 이를 수행하는 표준 방식은 레고 조립공과 같았습니다. 이 조립공은 작은 개별 벽돌 (문자) 로 시작하여, 두 개의 벽돌이 자주 붙어 있는 경우에만 하나씩 붙여 나갑니다. 이 방법을 BPE라고 부르며, 빠르고 탐욕적이지만 항상 가장 효율적인 것은 아닙니다. 이 방법은 실제로 어울리지 않는 두 개의 벽돌을 붙이거나, 더 작은 조각에 먼저 매몰되어 전체 단어를 붙일 기회를 놓칠 수도 있습니다.
이 논문은 ToaST(Split Trees 를 이용한 토큰화) 라는 새로운 방법을 소개합니다. 간단한 비유를 통해 작동 방식을 설명해 보겠습니다:
1. "가능성의 나무"(Split Trees)
무언가를 붙이는 대신, ToaST 는 전체 단어 (예: "Kentucky") 로 시작하여 *"이 단어를 반으로 자른다면, 어디가 가장 좋은 위치일까?"*라고 묻습니다.
이는 실제 세계에서 단어의 다양한 부분이 얼마나 자주 나타나는지에 대한 방대한 데이터베이스를 살펴봅니다. 그리고 단어를 두 조각으로 나누되, 두 조각 모두 매우 흔하게 나타나는 자르기를 선택합니다. 그런 다음 그 두 조각을 가져와서 같은 질문을 다시 던집니다. 단일 문자에 도달할 때까지 이 과정을 반복합니다.
- 비유: 거대한 잘리지 않은 빵 한 덩어리가 있다고 상상해 보세요. 무작위로 자르는 대신, 사람들이 보통 빵을 먹는 위치를 보여주는 지도를 살펴봅니다. 두 반쪽 모두 인기 있는 크기가 되도록 빵을 자를 완벽한 지점을 찾습니다. 그런 다음 그 반쪽들을 가져와 가장 인기 있는 지점에서 다시 자릅니다. 결국 거대한 빵 덩어리에서 개별 빵 부스러기까지 그 단어를 자를 수 있는 모든 가능한 방식에 대한 가족 관계도를 갖게 됩니다.
2. "스마트 메뉴"(어휘 선택)
이제 수백만 개의 가능한 자르기 나무를 갖게 되었습니다. 모두 사용할 수는 없습니다. 특정 수의 "메뉴 항목"(예: 40,000 개의 어휘 크기) 만 공간에 담을 수 있습니다.
기존 방법은 가장 인기 있는 자르기만 선택했습니다. ToaST 는 수학적 최적화 도구(정수 계획법) 를 사용하여 "만약?" 게임을 합니다.
- "Kentucky"라는 큰 덩어리를 단일 토큰으로 선택하면 총 몇 개의 조각을 절약할 수 있을까?
- "Kent"와 "ucky"를 별도로 선택하면 다른 곳에서 더 많은 공간을 절약할 수 있을까?
전체 도서관을 작성하는 데 필요한 최소한의 총 조각 수를 산출하는 자르기들의 완벽한 조합을 계산합니다. 이는 인기 있는 메뉴만 기반으로 하는 것이 아니라, 가장 적은 수의 접시로 최대한 많은 고객을 서비스할 수 있도록 메뉴를 계획하는 요리사와 같습니다.
3. "마술"(추론)
메뉴가 설정되면 텍스트를 읽는 속도가 빠릅니다. 컴퓨터가 "Kentucky"를 보면 나무의 꼭대기를 살펴봅니다.
- "Kentucky"가 메뉴에 있나요? 예? 좋습니다. 하나의 토큰으로 전송합니다.
- "Kentucky"가 메뉴에 있나요? 아니오? 그렇다면 다음 단계로 내려갑니다. "Kent"가 메뉴에 있나요? 예? "Kent"를 전송한 다음, 다른 쪽에서 "ucky"를 찾습니다.
나무가 메뉴가 선택되기 전에 구축되었기 때문에 경로는 항상 명확합니다. 혼란스러운 규칙이나 "이것을 바꾸면 어떻게 될까?"라는 시나리오가 없습니다.
왜 이것이 더 나은가요?
이 논문은 대규모 도서관 (40,000 개 이상의 어휘 크기) 의 경우 ToaST 가 기존 방법보다 훨씬 우수하다고 주장합니다:
- 압축: 필요한 조각 수를 11% 이상 줄입니다. 이는 단 한 마디도 잃지 않고 100 페이지짜리 문서를 89 페이지로 축소하는 것과 같습니다.
- 효율성: "단일 문자" 토큰 (예: 'y'나 'u' 문자만 전송) 사용을 줄입니다. 이로 인해 데이터 흐름이 더욱 매끄럽고 효율적으로 이루어집니다.
- 성능: 이 새로운 방법을 사용하여 언어 모델 (말을 배우는 뇌) 을 훈련시켰을 때, 모델은 테스트에서 더 좋은 성적을 거두었습니다. 기존 방법으로 훈련된 모델에 비해 추론 및 논리 작업에서 더 높은 점수를 받았습니다.
결론
ToaST 는 텍스트를 분해하는 새로운 방식입니다. 맹목적으로 조각들을 붙이는 대신, 단어를 자를 수 있는 모든 가능한 방식을 매핑한 다음, 강력한 수학 솔버를 사용하여 총 데이터 양을 최소화하는 절대적으로 최상의 자르기 세트를 선택합니다. 그 결과 컴퓨터가 언어를 읽고 쓰는 더 효율적이고 빠르며 지능적인 방식이 됩니다.
참고: 이 논문은 영어 텍스트에 대해서만 이를 테스트했습니다. 이러한 결과가 다른 언어에도 적용된다고 주장하지 않으며, 의학적 또는 임상적 용도에 대해서도 논의하지 않습니다. 개선 사항은 텍스트가 얼마나 효율적으로 처리되는지와 언어 모델이 표준 벤치마크에서 얼마나 잘 수행되는지에만 국한됩니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.