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 →