기능적 분해를 통한 손실 없는 서브워드 토큰화
The Functionalizer: Lossless Functional Decomposition for Subword Tokenization
arXiv기존 토크나이저가 단어의 철자 및 구조적 변화를 처리하지 못하는 한계를 극복하기 위해, Functionalizer라는 손실 없는 전처리 프레임워크가 제안되었습니다. 이 방식은 단어를 기본 형태(operand)와 변환 규칙(opcode)으로 분해하여 전처리합니다.
- 이 기술을 적용한 결과, 기존 대비 훨씬 작은 어휘 크기로 전체 코퍼스 커버리지를 달성했으며, GPT-2 규모 모델에서 코드 구문 유효성과 문자 퍼플렉서비 개선 효과가 입증되었습니다.
- Functionalizer는 단순히 단어를 나누는 것을 넘어, 텍스트의 구조적 특성까지 고려해 어휘 효율성과 문법적 정확도를 동시에 높이는 혁신적인 언어 모델링 접근 방식입니다.
- 다만, 들여쓰기가 많은 코드와 일반 산문 텍스트에서 압축 및 시퀀스 길이 증가 등 도메인별 트레이드오프가 관찰되므로, 실제 상용 규모에서의 추가 검증이 필수적입니다.
기존의 표준 서브워드 는 단어의 철자 변형(예: hello, Hello)이나 구조적 변화를 독립적인 어휘 항목으로 처리하거나 손실성 정규화를 통해 무시하는 한계가 있습니다. 이에 대한 대안으로 Functionalizer라는 손실 없는 전처리 프레임워크가 제안되었습니다. 이 방식은 단어의 형태적 및 구조적 변형을 캐노니컬 기본 (operand)과 변환 연산자(opcode)로 분해하여 구성적인 opcode/operand 접두사 스트림으로 처리합니다.
Functionalizer는 대소문자 변경(CAPITALIZE), 악센트 부호(13개의 전용 opcode), 문자 반복(REPEAT, MULTIREPEAT) 등을 포함하는 가역적인 연산자를 도입했습니다. 이 기술을 여섯 가지 자연어 및 코드 코퍼스에 적용한 결과, 제약이 없는 조건에서 실제 어휘 슬롯 요구량을 최대 16%까지 줄이며 전체 코퍼스 커버리지를 달성할 수 있었습니다.
GPT-2 규모의 모델을 사용한 예비 평가에서는 Functionalizer가 코드 구문 유효성을 크게 개선하고 문자 퍼플렉서비를 향상시키는 동시에, 산문 텍스트의 일관성은 유지하는 것으로 나타났습니다. 다만, 들여쓰기가 많은 코드는 압축되는 반면 일반적인 산문 텍스트는 시퀀스 길이가 증가하는 등 도메인에 따른 트레이드오프가 관찰되었으며, 상용 규모에서의 추가 검증이 필요합니다.
용어 풀이
- 토크나이저
- 글을 모델이 처리할 토큰으로 잘라 주는 도구.
- 토큰
- AI 모델이 글을 처리하는 단위. 단어보다 작은 조각이며 사용량과 요금을 셀 때 기준이 돼요.
- 매개변수
- 모델이 학습하면서 조정한 내부 숫자. 개수가 많을수록 대체로 모델이 크고 무거워요.