大模型的Token是什么?BPE分词和SentencePiece分词的区别是什么?

发布时间:2026/5/27 18:04:04

大模型的Token是什么?BPE分词和SentencePiece分词的区别是什么? Token这个问题挺基础的但确实很多面试者答不完整。Token简单说就是文本被拆成的最小单元。模型不认字只认数字所以文本得先拆成token再映射成ID才能处理。拆法不一样结果差很多——英文大概1个token等于0.75个单词中文大概1到2个字符一个token。子词分词是现在的主流方案兼顾了词级和字符级的优点。词级分词的问题是词汇表太大、OOV严重字符级的问题是序列太长、建模难。子词分词就是取中间值——常用词保持完整罕见词拆成小块。BPE和SentencePiece的区别这是这道题的核心。BPE的核心是按频率合并——从字符开始每次找到出现最多的相邻token对然后合并成一个。GPT系列在用。优点是简单高效缺点是对所有语言一视同仁中文这种没空格的语言处理起来效率低。SentencePiece的创新是把空格也当作普通字符处理不需要预分词。它内部其实是BPE或Unigram两种算法之一但包装了一层——直接把整个句子当作字符流输入不依赖空格分割。所以它天然适合多语言中文、日文这些没有空格分隔的语言用起来效果更好。LLaMA、ChatGLM都在用。有个坑我踩过LLaMA原生中文分词效率很低一个汉字经常被拆成两三个token就是因为它用的BPE对中文优化不够。国内模型像Qwen、DeepSeek改用了BBPE字节级BPE中文压缩率就好很多。

相关新闻