AI Sparkup

최신 AI 쉽게 깊게 따라잡기⚡

Gigatoken – GB/s 처리량을 목표로 한 초고속 언어 모델 토크나이저

Gigatoken은 언어 모델 학습·평가용 대규모 텍스트를 빠르게 토큰화하기 위한 오픈소스 토크나이저 라이브러리다. Hugging Face tokenizers나 tiktoken을 쓰던 코드에 가깝게 붙일 수 있으면서, 대형 CPU 서버에서는 모델별 토크나이저를 GB/s 단위 처리량으로 실행하는 것을 목표로 한다.

왜 필요한가

LLM 파이프라인에서 토큰화는 종종 “작은 전처리”로 취급되지만, 실제 대규모 학습 데이터에서는 I/O와 CPU 병목이 된다. 수십 GB 이상의 웹 텍스트, 코드 데이터, 합성 데이터셋을 반복 처리할 때 토크나이저가 느리면 GPU 학습 전에 데이터 준비 단계가 지연된다.

Gigatoken의 README 벤치마크는 OpenWebText 계열 11.9GB 파일을 AMD EPYC 9565 2소켓 서버에서 인코딩한 결과를 제시한다. GPT-2, Phi-4, Qwen, Llama, DeepSeek 계열 토크나이저에서 수 GB/s에서 20GB/s대 처리량을 보고하며, Hugging Face tokenizer 대비 수백 배 높은 수치를 제시한다.

사용 방식

가장 쉬운 방식은 기존 토크나이저 객체를 감싸는 호환 모드다.

from transformers import AutoTokenizer
from gigatoken import Tokenizer

hf_tokenizer = AutoTokenizer.from_pretrained("openai-community/gpt2")
tokenizer = Tokenizer.from_hf_tokenizer(hf_tokenizer)

ids = tokenizer.encode("hello world")

더 높은 처리량이 필요하면 Gigatoken API를 직접 사용한다. 데이터셋 전체를 배치 단위로 밀어 넣는 전처리 작업에서는 이 방식이 더 적합하다.

어디에 맞는가

사용처적합한 이유
대규모 사전학습 데이터 전처리수십 GB 이상 텍스트를 반복 토큰화할 때 CPU 시간을 줄인다
모델별 토크나이저 벤치마크GPT-2, Llama, Qwen, DeepSeek 등 여러 vocabulary를 같은 기준으로 비교할 수 있다
데이터 품질 필터링 파이프라인토큰 수 기반 필터, 길이 분포 분석, chunking 전에 빠른 인코딩이 필요하다
기존 Hugging Face 코드호환 모드로 교체 비용을 낮출 수 있다

주의할 점

README의 최고 처리량은 대형 서버 CPU 기준이다. 일반 노트북이나 단일 소켓 워크스테이션에서는 절대 수치가 낮아질 수 있다. 또한 토크나이저 교체는 “같은 문자열이 같은 토큰 ID로 변환되는가”가 중요하므로, 학습·평가 파이프라인에 넣기 전에는 기존 tokenizer와 샘플 단위 동등성 테스트를 먼저 해야 한다.

관련 문서

  • llm-inference — LLM 추론의 기본 연산 흐름
  • unified-memory — 로컬 LLM 하드웨어에서 용량과 속도를 가르는 메모리 구조
  • qwen-code — Qwen 계열 코딩 모델 활용

참고 자료



AI Sparkup 구독하기

최신 게시물 요약과 더 심층적인 정보를 이메일로 받아 보세요! (무료)