分詞及其安全意涵
中級2 分鐘閱讀更新於 2026-03-20
分詞如何運作,以及它為何於語言模型中產生與安全相關的行為。
概覽
分詞——將文字切為模型處理的離散單位——是語言模型管線中最常被忽略但安全相關的階段之一。分詞邊界、Unicode 處理、稀有符元都引入可被利用的行為。本頁涵蓋分詞基礎與其安全意涵。
分詞基礎
常見方案
- BPE(Byte-Pair Encoding):GPT 系列、Llama 使用
- SentencePiece:Gemini、某些 Llama 變體使用
- WordPiece:BERT 使用
- Unigram:某些多語模型使用
子詞分詞
現代分詞器不於字元或字層級——而於子詞層級工作。例如「tokenization」可能被分為「token」+「ization」或「tok」+「en」+「ization」,依分詞器而定。
詞彙大小
典型詞彙大小:
- GPT-3/4:50,000-100,000 符元
- Llama:32,000 符元
- Claude:100,000+ 符元
安全相關分詞行為
符元邊界敏感度
相同文字依不同分詞器可能產生顯著不同的符元序列。此敏感度可被利用:
- 字元級變體改變分詞
- 零寬字元可破壞預期符元邊界
- Unicode 同形字可能分詞為不同序列
稀有符元
低頻符元(於訓練中鮮少出現)可能引發意外模型行為:
- 於安全訓練中稀少 → 弱安全行為
- 於特定模式周圍集群 → 可被利用的觸發
- 對抗性攻擊(GCG)常發掘利用稀有符元
詞彙外(OOV)處理
不在詞彙中的文字必須分解為多個符元。此分解可能:
- 暴露底層字元結構
- 使某些攻擊更明顯(長符元序列)
- 於某些情境削弱安全訓練
Unicode 處理
不同分詞器以不同方式處理 Unicode:
- 某些正規化於分詞前
- 其他於符元層級保留差異
- 過濾器與模型於此可能不一致
基於分詞的攻擊
符元走私
使用利用分詞邊界的字元變體,使關鍵字於符元層級不匹配但於模型理解層級仍有效。
稀有符元利用
辨識使模型進入非預期行為模式的稀有符元。這些常見於 GCG 類對抗攻擊。
分詞器混淆
於過濾器與模型使用不同分詞器時,某些輸入可能一種看到但另一種漏掉。
位元組層級攻擊
某些分詞器(如 BPE)於位元組層級工作——允許以特定位元組序列建構的攻擊,於字元層級看似無害。
防禦意涵
- 於過濾前將輸入規範化為一致形式
- 過濾器與模型使用相同分詞器
- 監控異常符元序列(高熵、稀有符元集群)
- 對具已知不安全關聯的稀有符元進行特殊處理
紅隊演練意涵
- 測試分詞邊界變體(同形字、零寬、分隔變體)
- 考量目標使用的具體分詞器
- 於白箱測試中,使用分詞器資訊最佳化攻擊
- 記錄模型版本與分詞器版本以供重現
相關主題
參考文獻
- Sennrich et al. (2016). "Neural Machine Translation of Rare Words with Subword Units" (BPE)
- Kudo (2018). "Subword Regularization" (SentencePiece)
- Rumbelow & Watkins (2023). Analysis of "glitch tokens" in GPT tokenizers
- MITRE ATLAS —— AI 系統的對抗威脅版圖
Knowledge Check
為何分詞器差異可於 LLM 應用中建立安全漏洞?