1. 词元(Token)的本质与定义
在大语言模型的世界里,词元(Token)扮演着类似"基本货币单位"的角色。这个概念的提出源于计算机处理自然语言的本质需求——计算机无法直接理解人类语言,必须将其转化为数字形式进行处理。
1.1 为什么需要词元这个概念
传统计算机处理文本有两种极端方式:
- 字符级处理:将每个字母/汉字单独编码,这种方法无法捕捉词语间的语义关联
- 整词处理:将完整单词作为最小单位,但会导致词汇表过大且无法处理未登录词
词元巧妙地找到了中间地带。以英文单词"unbelievable"为例:
- 字符级:u-n-b-e-l-i-e-v-a-b-l-e(12个单元)
- 整词级:unbelievable(1个单元)
- 词元级:un-believ-able(3个词元)
这种处理方式既保留了语义信息(通过词根词缀),又控制了词汇表规模。对于中文而言,虽然单个汉字通常已经包含完整语义,但词元化处理仍然有助于模型理解词语组合。
1.2 词元与字符、词语的区别
理解词元需要明确三个层次的概念:
- 字符(Character):书写系统的最小单位,如英文的a-z,中文的单个汉字
- 词语(Word):语言学意义上的完整语义单位
- 词元(Token):工程实现上的处理单位
关键区别在于:
- 一个词可能被拆分为多个词元(如"running"→"run"+"ing")
- 一个词元可能包含多个字符(如中文的"人工智能"可能作为一个词元)
- 标点符号、空格等都可能成为独立词元
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 词元化(Tokenization)技术详解
2.1 BPE算法原理
主流的词元化算法是Byte Pair Encoding(BPE),其核心思想是通过统计学习构建最优词表。具体实现步骤:
-
初始阶段:
- 将所有文本拆分为基础字符
- 统计所有字符对的出现频率
-
迭代合并:
- 每次选择频率最高的字符对合并为新符号
- 更新统计表,重复合并过程
- 直到达到预设词表大小(如GPT-4的10万词元)
-
编码过程:
- 对新文本应用已学习的合并规则
- 从最长可能匹配开始,逐步拆分
实际应用中,BPE算法会进行特殊处理:
- 保留常见单词的完整性(如"th
