跳到内容

技术

字节对编码 (BPE)

Byte Pair Encoding (BPE)

一种 subword tokenizer 算法,反复合并训练数据中出现频率最高的相邻 token 对来建立词汇表。

登入以收藏
BPE(Byte Pair Encoding)从单字符(或 byte)的词汇表开始,反复把出现频率最高的相邻 token 对合并成新 token。经过几千次合并后,你得到一张词汇表:常见字是单一 token、罕见字会切成可识别的 subword,但任何字符串都还能编码——遇到 emoji、罕见文字、typo 就退回到 byte。 它重要的原因是:BPE 是 GPT、Llama、Mistral、多数现代 open-source LLM 的 tokenizer。这套算法在几个指标间取得平衡:词汇表大小可控(通常 32k-128k)、常见 pattern 编码效率高、没有东西是不能表示的。Byte-level 变体(GPT-2 之后)让连随机二进制数据都能 tokenize。 举个例子:用英文数据训练的 BPE tokenizer,「tokenization」可能编成 ["token", "ization"]——两个 token。同样的字在中文导向 tokenizer(例如 Qwen)里,中文处理会很有效率,但「tokenization」可能切成 4-5 块。选对应领域的 tokenizer 是重要的。 值得知道的变体:SentencePiece(Llama 和多数多语模型用,把空白当成普通字符)、WordPiece(BERT 用,类似但 scoring 不同)、Unigram(概率版的替代方案)。延伸阅读:tokenization、vocabulary、subword。

最后更新: 2026-04-29

We use cookies

Anonymous analytics help us improve the site. You can opt out anytime. Learn more

字节对编码 (BPE) · BuilderWorld