production에선 BPE를 직접 구현할 일이 거의 없어. 두 라이브러리가 대부분 커버해.
tiktoken (OpenAI)
OpenAI 인코딩용 Rust 기반 BPE tokenizer — p50k_base(GPT-3), cl100k_base(GPT-4), o200k_base(GPT-4o), o200k_harmony(GPT-5). 빠름, 단일 코어에서 약 100만 토큰/초. Python 인터페이스는 import 하나 + 메서드 하나:
Hugging Face tokenizers
BPE, WordPiece, SentencePiece 통한 Unigram 다 지원하는 Rust 기반 라이브러리. 전체 파이프라인 구현 — pre-tokenization(공백 split 같은 거), normalization(lowercase, NFKC), 모델 자체(BPE/WordPiece/Unigram), post-processing(special token 추가, chat template 구성). 거의 모든 Hugging Face 모델의 AutoTokenizer가 내부적으로 사용.
속도: 순수 Python tokenizer 대비 10-100배 빠름. 학습 시 corpus에서 vocab 만드는 게 Python으로 몇 시간 걸리던 게 분 단위로 끝나.