토크나이저는 모델의 필수 구성요소야
모델은 텍스트를 직접 보지 않고 정수만 받아. 토크나이저가 문자열을 하위 단어 조각으로 나누고 각 조각을 모델의 고정 어휘에 있는 ID로 바꾸는 다리 역할을 해. 어휘가 가중치의 임베딩과 맞물리므로 토크나이저와 모델은 반드시 같은 짝이어야 해. 한쪽만 바꾸면 ID가 엉뚱한 임베딩을 가리키고 오류 없이 그럴듯한 잘못된 출력이 나올 수 있어.
세 알고리즘은 같은 문제를 다르게 풀어
모델 계열마다 WordPiece(BERT), BytePair/BPE(GPT 계열), SentencePiece(T5, Llama, Gemma)를 사용해. 모두 어휘에 없는 단어를 더 작은 조각으로 나눠 어떤 문자열도 표현하지만 분할 규칙이 달라. 현대 KerasHub 구현은 순수 Python으로 실행돼 TensorFlow에 의존하지 않으므로 PyTorch나 JAX 프로젝트에 토크나이저 때문에 TensorFlow 묶음을 추가할 필요가 없어.
실전에서는 토크나이저를 직접 만드는 경우가 드물어. Preprocessor.from_preset()을 불러오면 짝이 맞는 토크나이저가 안에 따라와. 원시 vocabulary=로 직접 만드는 방식은 새 어휘를 처음부터 학습하는 특별한 경우에만 사용해.