語言模型在讀取任何內容之前,必須先將文字分割成可計數的片段。這些片段就是詞元(token),而詞元化就是分割文本的過程。一個詞元可以是一個完整的單詞,也可以是一個片段(例如“ing”或“pre”),一個標點符號,甚至是一個單獨的字符。模型看到的永遠不會是原始文字;它看到的是一串映射到這些詞元的整數 ID。
不同的分詞方案各有優缺點。詞級分詞能保持詞義完整,但會產生數百萬個生僻詞,且難以處理拼字錯誤。字符級分詞詞彙量較小,但會產生非常長的序列。子詞分詞方法(例如位元組對編碼)則介於兩者之間:它們從字元開始,反覆合併最常用的字元對,直到達到目標詞彙量。
為什麼這很重要
- 詞彙表大小決定了模型的嵌入表和記憶體佔用。
- 令牌數量決定了上下文視窗以及每次 API 呼叫的成本
- 分詞不當會以損害多語言表現的方式分割詞語。
- 使用非拉丁字母的語言通常每句話需要更多的詞符。
一個英語句子可能只需要 20 個詞元;而同樣的句子,如果使用以西方語言為中心的詞元生成器,用泰語或印地語則可能需要 60 個甚至更多。這種不平衡影響著數十億用戶的處理速度、價格和準確性。
Comments
No comments yet. Be the first to share a thought.
Leave a comment