Zubnet AI学习Wiki › Tokenizer
基础

Tokenizer

Tokenization
在模型能处理之前,把原始文本转换成 tokens 的算法。一个 tokenizer 维护一个固定的 token 类型词表,把任何输入文本切分成这些 token 的序列。不同模型用不同的 tokenizer — 同一个句子在 Claude、GPT、Llama 上 tokenize 的结果不同,这影响上下文使用和成本。

为什么重要

Tokenizer 是你的文本和模型之间那一层看不见的东西。它决定了你的 prompt 花多少 token、为什么某些语言比别的贵、为什么代码有时比散文更快用完上下文。当你撞到上下文限制或者看到意外的 API 账单,tokenizer 往往就是解释。

Deep Dive

Most modern tokenizers use Byte Pair Encoding (BPE) or a variant called SentencePiece. BPE works by starting with individual bytes or characters and repeatedly merging the most frequent adjacent pair into a new token. After thousands of merges, common words like "the" become single tokens, while rare words get split into subword pieces. The word "tokenization" might become ["token", "ization"] or ["token", "iz", "ation"] depending on the specific merge table.

Vocabulary Size Matters

A tokenizer's vocabulary size is a real engineering trade-off. Larger vocabularies (100K+ tokens) compress text more efficiently — common words and phrases get dedicated tokens, so less context is consumed. But larger vocabularies also mean a bigger embedding table at the model's input and output layers. For a model with dimension 4096, each vocabulary entry adds 4096 parameters to both the embedding and the unembedding layers. At 128K vocabulary, that's over a billion parameters just for the token tables. Smaller models feel this overhead proportionally more.

The Multilingual Tax

Tokenizers are trained on a corpus, and the language distribution of that corpus determines efficiency. English text typically tokenizes at roughly 1 token per word. But languages like Chinese, Japanese, Korean, Arabic, and Hindi can require 2–4x more tokens for equivalent meaning, because their characters appear less frequently in English-dominated training data and earn fewer dedicated merges. This isn't just an academic concern — it means non-English users pay more per API call and fit less content in the context window. Some newer tokenizers (like Llama 3's) explicitly train on more balanced multilingual data to reduce this gap.

Tokenizer Artifacts

Quirks in tokenization explain several LLM behaviors people find puzzling. Models struggle with character-level tasks (counting letters in "strawberry") because they see tokens, not characters. They handle some variable names better than others because common names like "result" are single tokens while unusual ones fragment. They sometimes produce slightly different outputs for semantically identical inputs because the token boundaries differ. Understanding the tokenizer helps you understand the model.

相关概念

← 所有术语
← Token Tool Use →