跳到內容

技術

位元組對編碼 (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