分词器(Tokenizer)总结(89)
分词器(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)作为填充标记。
- 注意:若填充标记未定义,许多库会默认将结束标记指定为填充标记!