分詞器(Tokenizer)總結
- 分詞器(Tokenizer)
-
- 分詞器的詞表(vocabulary)長度通常短于模型嵌入層(embedding layer)的長度。
- 結束標記(EOS token)應僅用于標記文本結尾,不可用于其他用途。
- 填充標記(PAD token)通常未預先定義,但你仍可能需要用到它:
- 對于生成式模型,應在**左側**進行填充(padding)操作。
- 若你創建了新的特殊標記,理論上還應微調嵌入層(因為你使用了那些“空白位置”)。
- 關鍵術語說明
分詞器(Tokenizer)
分詞器的詞表(vocabulary)長度通常短于模型嵌入層(embedding layer)的長度。
- 二者的長度差值本質上是由“空白位置(empty slots)”構成的,無需調整嵌入層大小,你就可以利用這些空白位置創建新的 tokens。
- 為優化內存分配,嵌入層的長度通常是2的冪次(如32、64等)的倍數。
結束標記(EOS token)應僅用于標記文本結尾,不可用于其他用途。
- 將結束標記用作填充標記(PAD token)可能導致模型無限生成 tokens。
填充標記(PAD token)通常未預先定義,但你仍可能需要用到它:
- 切勿將結束標記指定為填充標記。
- 若未知標記(UNK token)已定義,可將其指定為填充標記,此操作可行。
- 若未知標記未定義,則需創建一個新的特殊標記(special token)作為填充標記。
- 注意:若填充標記未定義,許多庫會默認將結束標記指定為填充標記!