【Token系列】01 | Token不是词:GPT如何切分语言的最小单元

发布于:2025-05-01 ⋅ 阅读:(17) ⋅ 点赞:(0)

文章目录

  • 01 | Token不是词:GPT如何切分语言的最小单元?
    • 一、什么是 Token?
    • 二、Token 是怎么来的?——BPE算法原理
      • BPE核心步骤:
    • 三、为什么不直接用词或字符?
    • 四、Token切分的实际影响
    • 五、中文Token的特殊性
    • 六、Token机制的未来方向
    • 七、总结

01 | Token不是词:GPT如何切分语言的最小单元?

副标题:深入BPE算法,理解token的非线性结构意义


一、什么是 Token?

在 GPT 这类语言模型中,token 是模型处理语言的基本单位。它不是传统意义上的“词”或“字符”,而是更小的、基于统计规律和语义结构的子词片段

示例:

文本内容 Token 切分
ChatGPT Chat, G, PT
playing play, ing
我爱你 我, 爱, 你

英文可能被分成多个片段;中文一般一个字一个 token。


二、Token 是怎么来的?——BPE算法原理

GPT采用的BPE(Byte Pair Encoding)是一种子词分词算法,原本用于压缩,现在被用来平衡词与字符的语义表达。

BPE核心步骤:

  1. 初始化:所有词拆为单字符;
  2. 统计频次:找出最常见的字符对;
  3. 合并字符对:变成新的token;
  4. 重复合并,直到构建出固定大小的词表(如GPT-3为50257个token)。

BPE最终形成的token词表中,高频词可整体保留,低频词被拆解重构。


三、为什么不直接用词或字符?

粒度 优点 缺点
字符 泛化强 语义弱
单词 语义强 新词不识别
子词(Token) 平衡泛化与语义 实现复杂

token 是字符和词之间的平衡结构,便于模型学习和泛化。


四、Token切分的实际影响

  • 模型限制:如 GPT-3 最大支持 2048 token,不是 2048 字;
  • API计费:OpenAI 计费基于 token 数,而非字数;
  • 上下文控制:token 越多,占用上下文窗口越快,需控制生成长度。

五、中文Token的特殊性

中文通常一字一 token,但模型会根据语料频率进行调整:

  • “清华大学” 可能为 [“清”, “华”, “大学”] 或 [“清华”, “大学”];
  • “ChatGPT” 可被切为 [“Chat”, “G”, “PT”],因非高频复合词。

六、Token机制的未来方向

  1. Unigram分词(如T5);
  2. 多语言共享词表(如mBERT);
  3. 动态tokenization:模型运行时自适应切分。

七、总结

token 不是词,它是语言模型的语言单位,是语义压缩与泛化效率之间的产物。理解 token 的切分方式,是深入理解GPT系列语言模型结构的第一步。



网站公告

今日签到

点亮在社区的每一天
去签到