核心要点

  • 字符/词/子词粒度 trade-off

  • BPE 合并过程

  • 中文分词特殊性

简要回答

Tokenizer 负责文本↔token ID 转换。BPE 从字符级开始,反复合并语料中最频繁的相邻符号对,最终得到子词词表,能处理未登录词且词表可控。

标准回答

为什么需要子词:纯词级词表大、OOV 多;纯字符级序列太长。BPE 流程:1) 初始字符级词表;2) 统计相邻符号对频率;3) 合并最高频对为新符号;4) 重复至词表达目标大小。实践:GPT 系用 BPE,SentencePiece 支持多语言统一词表。Tokenizer 与模型绑定,换模型必须换 tokenizer。中文常被切成较多 token,影响计费与上下文长度。

常见误区

⚠️ 常见踩坑

只背概念不会举例;混淆相似术语;忽略工程落地约束(成本、延迟、数据质量)。

追问

追问 1SentencePiece 和 BPE 区别?

题库专题:子词分词:BPE、WordPiece、Unigram 有什么区别?

BPE 多在预分词后的子词上合并;SentencePiece 直接在原始字符流上学习,无需语言特定预分词,中日韩更友好,且把空格也编进词表。LLaMA、T5 常用 SentencePiece。

题库延伸:与本追问相关的专题题 → 子词分词:BPE、WordPiece、Unigram 有什么区别?

追问 2为什么 tokenizer 不能随意更换?

词表与切分规则变了,同一字符串 token id 不同,预训练权重与词嵌入不对齐,等于破坏输入层。换 tokenizer 需重新训练或做 embedding 映射与继续预训练。

🔗 相似问题

同一考点的不同问法,换着练更稳

没找到想看的面试题?把你想看的告诉我们 →

延伸学习

按主题分类的相关资源,便于系统复习