Token是大模型处理文本前的必要预处理步骤中产生的最小语义单元,将连续文本切分为模型可计算的离散化单元。这一过程称为分词(Tokenization),平衡语义完整性与计算效率:既保留足够语义信息,又避免因词汇表过大导致计算成本激增。Token的产生不依赖人工规则,而是通过算法自动从海量语料中统计学习,最终形成模型专属的词汇表。

Token产生的核心流程
1. 原子单元拆分
- 将原始文本按字符级切分(如英文拆为字母,中文拆为单字),并添加边界标记(如
</w>表示词尾)。 - 示例:
句子"ChatGPT is amazing"→ 拆分为["C", "h", "a", "t", "G", "P", "T", " ", "i", "s", " ", "a", "m", "a", "z", "i", "n", "g"]。
2. 高频模式合并
- 算法统计相邻单元共现频率,迭代合并高频组合(如
"a"+"m"+"a"+"z"+"i"+"n"+"g"→"amazing")。 - 关键原则:
- 高频优先:合并出现次数最多的相邻单元对(如英文中
"ing"比"xz"更可能被合并)。 - 语义保留:优先合并能形成完整语义的片段(如
"New"+"York"而非"ew"+"Yo")。
- 高频优先:合并出现次数最多的相邻单元对(如英文中
3. 词汇表生成与编码
- 当合并达到预设词汇表大小(如GPT-4的10万)时停止,生成最终词汇表。
- 新文本输入时,按词汇表进行最长匹配切分,输出Token ID序列。
示例:"ChatGPT is amazing"→["Chat", "G", "PT", " is", " amazing"]→ 对应ID[37101, 71, 12766, 318, 6178]。
主流分词算法原理
1. BPE(字节对编码)
- 核心逻辑:基于频率合并,每次选择语料中共现频率最高的相邻字符对进行合并。
- 特点:
- 高效压缩:高频词(如
"the")直接成为独立Token,显著缩短序列长度。 - 泛化性强:生僻词可拆解为子词组合(如
"unhappiness"→["un", "happi", "ness"])。
- 高效压缩:高频词(如
- 典型应用:GPT系列、RoBERTa。
2. WordPiece(词片)
- 核心逻辑:基于概率合并,选择使语言模型似然提升最大的片段进行合并。
- 特点:
- 语义优先:更倾向合并能提升语言模型预测准确率的单元(如
"playing"→["play", "##ing"])。 - 中文处理:通常按单字切分(因中文无天然词边界),但会合并高频词组(如
"人工智能"→ 单Token)。
- 语义优先:更倾向合并能提升语言模型预测准确率的单元(如
- 典型应用:BERT系列。
3. Unigram LM(无语言模型)
- 核心逻辑:从大词汇表反向裁剪,移除对语言模型概率贡献最小的Token。
- 特点:
- 多路径分词:允许同一文本有多种合法切分方式,并赋予概率权重。
- 鲁棒性高:对未登录词(OOV)的容错能力更强。
- 典型应用:T5、ALBERT。
特殊场景的处理机制
1. 中文分词挑战
- 单字切分局限:若仅按字切分(如
"我爱北京"→["我", "爱", "北", "京"]),会丢失词级语义。 - 解决方案:
- 高频词合并:将
"北京"、"人工智能"等高频词纳入词汇表作为独立Token。 - 子词回退:未登录词拆解为子词(如
"区块链"未收录时 →["区", "块", "链"])。
- 高频词合并:将
2. 多语言与特殊字符
- 字节级BPE(Byte-level BPE):
- 将文本先转为UTF-8字节序列,再执行BPE合并。
- 优势:100%覆盖所有字符(包括Emoji、生僻字),避免
<UNK>(未知Token)错误。
- 多语言优化:
扩大词汇表至10万+,纳入跨语言高频组合(如中英混排时保留"AI"为单Token)。
3. 空格与标点处理
- 空格保留:部分算法将空格视为独立单元(如
" is"包含前导空格),确保分词可逆。 - 标点独立:逗号、句号等通常作为单独Token(如
","、"."),避免语义混淆。
为什么需要Token化?
1. 解决开放词汇问题
- 语言具有无限组合性(如新词
"元宇宙"),直接以单词为单位建模会导致词汇表爆炸。 - Token化通过子词拆分,用有限词汇表覆盖无限表达(任何词均可由子词组合表示)。
2. 提升模型效率与泛化
- 缩短序列长度:高频词合并为单Token,减少计算量(如
"unhappiness"从11字符→3 Token)。 - 语义共享:子词(如
"ing")在不同单词中复用,加速低频词的学习。
3. 适配模型输入要求
- 大模型需将文本转为离散ID序列,Token是连接原始文本与向量表示的关键桥梁。
- 后续流程:Token ID → 嵌入向量 → 模型计算。
Token的产生是数据驱动的自动化过程,其本质是通过统计学习在语义完整性与计算效率间取得平衡。不同算法的选择取决于任务需求:BPE适合通用场景,WordPiece侧重语义连贯性,而字节级BPE则彻底消除未知词风险。对于中文用户,需注意主流模型仍以单字为基础单元,但会通过高频词合并优化语义表达。理解Token化机制,有助于更合理地设计输入格式(如避免生造词导致过度拆分)并解读模型行为。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...



