位元組對編碼
位元組對編碼 (BPE) 是一種受壓縮啟發的演算法,它透過重複合併最頻繁的符號對來建立詞彙表。
概述
It is the tokenizer behind GPT models, balancing tiny vocabularies of characters against huge vocabularies of whole words.
深入探討
BPE 首先將文字視為單一字元(或原始位元組)的序列。然後,它對每個相鄰的符號對進行計數,將最常見的符號對合併為一個新的標記,並重複此操作數千次。每次合併都會被記錄為規則。常見的字母序列(如“th”、“ing”)或整個頻繁出現的單字逐漸變成單一標記,而罕見的單字則保持分割成較小的部分。它最初是 1994 年的一種資料壓縮方法,後來由 Sennrich 等人改編為 NLP。 2016年機器翻譯。 GPT-2 和 GPT-4 使用位元組級 BPE,它在 UTF-8 位元組上運行,因此任何字元、表情符號或語言始終可以以零詞彙外故障進行編碼。
技術洞察
訓練 BPE 會產生合併規則的有序清單。為了標記新文本,演算法將其拆分為字節/字符,並以相同的優先順序貪婪地應用合併,直到沒有規則匹配為止。位元組級 BPE 保證了回退:即使是看不見的符號也會分解為其組成字節,因此 256 位元組的詞彙表加上學習的合併涵蓋了沒有 UNK 令牌的所有內容。
戰略影響
速度與規模
語言工作流程可以在不犧牲一致性的情況下更快地移動。
交通與覆蓋範圍
它擴展了跨語言和溝通方式的訪問。
更明確的決策
團隊可以花更多時間進行判斷,而自動化則可以處理重複。
位元組對編碼的未來
BPE 仍然是主標記器,但位元組或字元級模型的壓力越來越大,這些模型跳過明確標記化,避免程式碼、數學或非英語腳本中尷尬的分割等怪癖。無 token 架構和學習 tokenizer 的研究旨在修復 BPE 的偏見。儘管如此,其速度和壓縮效率意味著 BPE 風格的詞彙表將在不久的將來為大多數生產法學碩士提供支援。
現實世界的實施
GPT-2 和 GPT-4 使用位元組級 BPE,因此任何 Unicode 字元或表情符號都可以毫無錯誤地進行編碼。
機器翻譯系統使用 BPE 將稀有詞或複合詞分割成跨語言共享的可重複使用子詞片段。
Hugging Face 的標記器庫為生物醫學或法律文本等自訂領域訓練 BPE 詞彙表。
程式碼模型使用 BPE 對標識符和關鍵字進行標記,將“def”或“==”等頻繁模式合併為單一標記。
風險與防護欄
幻覺的事實可以悄悄地進入報告、支持流程或研究成果。
及時的敏感性可能會在類似的請求中產生不一致的結果。
如果存取控制薄弱,敏感文字資料可能會暴露。
實施路線圖
在推出之前定義輸出格式、語氣和品質標準。
當準確性很重要時,請使用可信任來源進行地面回應。
為高風險輸出保留人工審查檢查點。
追蹤故障模式並定期重新訓練提示或工作流程。
不斷探索
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Byte-Pair Encoding quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
常見問題
What is Byte-Pair Encoding?
位元組對編碼 (BPE) 是一種受壓縮啟發的演算法,它透過重複合併最頻繁的符號對來建立詞彙表。它是 GPT 模型背後的分詞器,平衡微小的字符詞彙表和龐大的整個單字詞彙表。
BPE 重複建構詞彙表的核心操作是什麼?
BPE 對相鄰的符號對進行計數,並將最常見的單一符號合併為一個新的符號,重複數千次。
BPE 在開始訓練時將文字視為什麼?
BPE 從最小的單元(字元或原始位元組)開始,並透過合併增長更大的令牌。
為什麼位元組級 BPE 可以避免詞彙外 (UNK) 錯誤?
由於基本詞彙表包含全部 256 個位元組,因此即使是看不見的符號也會回退到其位元組表示形式。
在 NLP 採用 BPE 演算法之前,它最初來自哪裡?
BPE 於 1994 年作為一種資料壓縮技術引入,後來於 2016 年適用於子字標記化。
當對新文本進行標記時,BPE 如何應用其學到的規則?
合併規則是有序的,標記化按優先事項貪婪地應用它們,直到沒有其他規則匹配為止。