방식은 달라도 목적은 같아
tokenizer는 텍스트를 모델이 처리할 정수 ID로 나눠. 지금 자주 만나는 계열은 세 가지야.
- Byte-Pair Encoding(BPE)은 자주 붙는 바이트나 문자 쌍을 합쳐. GPT·Llama·Qwen·Mistral 계열에서 널리 쓰이며 바이트 기반이라 다양한 Unicode 입력을 다룰 수 있어.
- WordPiece는 가장 길게 맞는 조각부터 탐욕적으로 고르고 하위 단어를
##로 표시해. BERT와 DistilBERT가 대표적이야. - SentencePiece는 공백까지 포함한 입력을 다루며 단어 경계를
▁로 나타내. T5·mBART·ALBERT·XLM-R에서 볼 수 있어.
실전에서는 네 가지 동작을 먼저 익혀
가능하면 Rust로 구현된 fast tokenizer를 써. 모델이 Python 구현만 제공하는 경우가 아니라면 기본값이며, 속도 차이가 열 배에 이를 수 있어.
tokenizer(text)는input_ids와attention_mask를 만들어.encode()와decode()는 텍스트와 ID 사이를 왕복해.apply_chat_template(messages)는 설정에 든 Jinja 템플릿으로 대화 기록을 모델 형식에 맞춰.- 텍스트 목록을 tokenizer에 넘기면 배치로 처리할 수 있어.