NLP高频面试题(五十)——大模型(LLMs)分词(Tokenizer)详解
在自然语言处理(NLP)任务中,将文本转换为模型可处理的数字序列是必不可少的一步。这一步通常称为分词(tokenization),即把原始文本拆分成一个个词元(token)。对于**大型语言模型(LLM,Large Language Model,大型语言模型)**而言,选择合适的分词方案至关重要:分词的质量直接影响模型的词汇表大小、表示能力以及对未知词汇的处理能力。
早期的做法是以“单词”为基本单位进行分词,即通过空格或规则将文本切分成独立的单词。但是纯单词级分词存在明显缺陷:**词汇表(vocabulary)可能非常庞大(尤其对多语言或大量专业术语的场景),这会导致模型参数量增加(每个词元对应的嵌入向量)且无法覆盖所有可能出现的单词。当模型遇到未登录词(OOV,Out-Of-Vocabulary)**时(即不在词汇表中的新词),传统处理方式只能将其标记为一个特殊的“未知”符号,完全丢失该词的信息。
另一种极端是字符级分词,即将每个字符作为基本词元。字符级方法将词汇表缩小到字母表大小(例如英语26个字母再加标点、空格等),从而彻底避免了