位元組對編碼 是什麼?

Byte Pair Encoding — 位元組對編碼 的完整解釋

位元組對編碼(BPE)是一種資料壓縮技術,也常用於自然語言處理中,作為一種詞彙標記化方法,將單詞分解成更小的子詞單元。

容易混淆

BPE vs WordPiece 兩者都切子詞,但合併規則和目標略有不同。

BPE vs SentencePiece SentencePiece 更強調把分詞流程和模型訓練整合起來。

BPE vs 斷詞 傳統斷詞是切詞語,BPE 是切成更細的子詞單元。

記住這句就好

先看它要解決的是什麼問題,再看它是不是最合適的方法。

實際案例

案例 1:罕見人名 即使整個名字沒出現過,子詞拆開後模型仍可能看懂。

案例 2:多語言詞彙表 用子詞可以把不同語言共享部分詞根,減少詞彙表壓力。

算法與應用

面向 重點
核心 把常見字元對反覆合併,形成可重用的子詞。
好處 詞彙表不必無限大,也比較能處理未登錄詞。
注意 切太細會損失語意,切太粗又會增加詞表。

情境判斷

Q1(判斷題): 如果一個新單字模型沒見過,BPE 就完全沒辦法嗎? → 通常不是,它會拆成已知子詞再組回來。

Q2(判斷題): 詞彙表越大就一定越好嗎? → 不一定,詞表大會增加參數和稀疏性。

相關術語

常見問題

BPE 和中文分詞一樣嗎?

不一樣,中文分詞是詞級切分,BPE 是更細的子詞切分。

BPE 怎麼處理 OOV?

把未知詞拆成已知子詞組合。

為什麼大型語言模型愛用子詞?

因為它能平衡詞彙表大小、泛化能力和計算成本。