What is Tokenizer(分詞器)?
將原始文字轉換為語言模型可處理的數值 token 序列的組件。
Definition
分詞器是連接人類可讀文字和神經網路操作的數值表示之間的預處理層。它將輸入文字分割為 token——可能是完整詞、子詞或個別字元——並將每個 token 映射到固定詞彙表中的唯一整數 ID。模型透過其層處理這些整數序列並產生輸出 token ID,然後分詞器將其解碼回文字。
現代 LLM 主要使用子詞分詞演算法,如位元組對編碼(BPE)、WordPiece 或 SentencePiece。這些演算法從訓練語料庫中學習常見字元序列的詞彙。常見詞如 "the" 獲得單一 token,而罕見詞被分解為多個子詞 token。例如,"unhappiness" 可能被分詞為 ["un",
Why It Matters
分詞直接影響模型的效能、成本和能力。一個將常見領域特定術語碎片化為許多子詞的分詞器迫使模型「 浪費」上下文視窗容量,並可能降低理解能力。Token 計數也驅動雲端託管模型的 API 成本(按 token 計費),並決定給定輸入是否適合模型的上下文視窗。理解分詞幫助實踐者估算成本、除錯意外的模型行為,以及對資料格式和提示設計做出知情的決策。
How It Works
分詞管線通常分階段工作:首先,原始文字被正規化(轉小寫、Unicode 正規化等,取決於分詞器)。然後,預分詞步驟將文字分割為粗略的分塊(通常按空格和標點符號)。最後,子詞演算法(如 BPE)應用學習到的合併規則將每個分塊分解為來自詞彙表的 token。每個 token 被映射到其整數 ID,並根據需要添加特殊 token(如序列開始、序列結束或填充 token)。反向過程(解碼)將 ID 映射回其文字表示並將它們連接成可讀字串。
Example Use Case
一個為醫療微調專案準備訓練資料的團隊發現 Llama 分詞器將 "acetaminophen" 分割為 4 個子詞 token,"ibuprofen" 分割為 3 個。這意味著醫療文字比一般英語文字每個詞消耗更多 token,減少了其使用場景的有效上下文視窗。他們將此納入提示設計中,保持系統提示簡潔以最大化臨床內容的可用上下文。他們還在資料管線中使用 token 計數來確保沒有訓練範例超過模型的上下文長度。
Key Takeaways
- 分詞器使用學習到的子詞詞彙(BPE、WordPiece、SentencePiece)將文字轉換為數值 ID。
- 每個模型系列都有自己的分詞器——使用錯誤的會產生垃圾輸出。
- Token 計數決定上下文視窗使用、API 成本和有效輸入長度。
- 領域特定文字可能分詞效率較低,每個詞消耗更多 token。
- 微調基礎模型時必須完全保留分詞器。
How Ertas Helps
Ertas Studio 自動為使用者選擇的基礎模型載入正確的分詞器,消除了微調錯誤的常見來源。平台的資料預覽功能顯示每個範例的 token 計數,幫助使用者識別可能超過模型上下文視窗的過長範例。在訓練期間,Ertas 透明地處理所有分詞、填充和特殊 token 插入,讓使用者可以專注於資料品質而非底層的預處理細節。
Related Resources
Base Model
Chat Template
Context Window
Embedding
Training Data
Getting Started with Ertas: Fine-Tune and Deploy Custom AI Models
Privacy-Conscious AI Development: Fine-Tune in the Cloud, Run on Your Terms
Hugging Face
Ertas for Healthcare
Ertas for SaaS Product Teams
Ship AI that runs on your users' devices.
Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.