M5-001M5: NLP & Large Language ModelsTokenization (BPE / WordPiece / Unigram)Easy
Mastery:
Tokenization (BPE / WordPiece / Unigram): 解释 BPE 算法,并说明它为什么被广泛使用。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: 从字符开始,反复合并最高频的相邻符号对,直到达到目标词表;兼顾高频词整体化与未登录词可分解。
📌 Key Takeaways
- •从字符(或字节)起步,每步贪心合并最高频的相邻对
- •合并次数 = 目标词表大小 − 初始符号数
- •高频词被合并为整体 token,罕见词被拆成子词
📐 Mathematical Derivations
数学机理:<strong>BPE(Byte-Pair Encoding)</strong> 原本是数据压缩算法,被 Sennrich 等(2016)引入 NLP 分词。<strong>训练流程</strong>:(1) 把语料初始化为<strong>字符序列</strong>(或字节序列);(2) 统计所有相邻符号对的频次,选择<strong>频次最高</strong>的一对 (a,b) 合并为新符号 ab;(3) 重复 (2),直到词表达到目标大小 V(或合并次数用尽)。<strong>核心性质</strong>:(a) <strong>贪心</strong>——每步只做局部最优合并,不保证全局最优分词(这是它的局限,也是 Unigram 语言模型方法出现的动机);(b) <strong>确定性与可逆</strong>——训练得到的合并规则(有序列表)确定性地定义了分词过程(推理时按合并顺序依次应用),且分词结果可无损还原原文;(c) <strong>子词共享</strong>——高频词(如 <code>the</code>、<code>ing</code>)被合并为整体 token,罕见词被拆成子词组合,从而<strong>兼顾词表效率与未登录词(OOV)覆盖</strong>——任何字符串都可被分解为已知子词,故 <strong>OOV 问题被消除</strong>(这是相对词级分词的关键优势)。<strong>为什么被广泛使用</strong>:(a) 消除 OOV、词表可控(固定 V);(b) 子词单元在'字符级(序列过长)'与'词级(词表爆炸)'之间取得平衡;(c) 实现简单、速度快(可用并行统计加速);(d) 与字节级结合(<strong>BBPE</strong>,GPT-2 起广泛使用)后,可无损编码<strong>任意 Unicode 文本</strong>(包括 emoji、罕见字符、代码),彻底解决'字符集覆盖'问题。
🏭 Production Trade-offs
深度剖析与工程权衡:① <strong>字节级 BPE(BBPE)的关键意义</strong>——先在 UTF-8 字节层面做 BPE(初始符号 256 个字节);这使词表<strong>天然覆盖任意文本</strong>(因为任何字符都是字节序列),且不同语言/emoji/代码共享字节表示。代价是'一个非 ASCII 字符需多个字节'(如中文一字常 3 字节),故<strong>多语言/中文的 token 效率低</strong>(同一段中文需更多 token)。② <strong>词表大小与序列长度的权衡</strong>——V 越大则序列越短(推理成本低)但 embedding 与 softmax 参数越多(V×d,可能占大量参数);V 越小则序列越长(推理成本高)。这是'参数 vs 计算'的经典权衡(见下一题)。③ <strong>贪心合并的局限</strong>——BPE 的贪心性可能产生'次优'的分词(如把高频但语义不相关的组合合并);Unigram 用概率模型 + EM 优化,理论上更优但更慢。④ <strong>压缩率指标</strong>——用'每 token 平均字节数'或'fertility(每词 token 数)'衡量 tokenizer 效率;中文/日文/韩文的 fertility 显著高于英文(同义内容需更多 token),这直接影响<strong>推理成本与上下文有效长度</strong>(对多语言公平性有影响)。⑤ <strong>与下游任务的关系</strong>——分词影响 (a) 算术能力(数字被切成不规则 token,损害数位对齐)、(b) 代码(缩进与符号)、(c) 形态丰富的语言(黏着语);故有'按数字切分'、'代码专用 tokenizer'等改进。⑥ <strong>面试要点</strong>——被问'BPE 是什么',应给出'<strong>从字符/字节起、反复合并最高频相邻对、直到 V</strong>'与'<strong>消除 OOV + 词表可控 + 子词平衡</strong>';能指出'BBPE 覆盖任意文本但中文效率低'是深度理解的标志。
⚠️ Common Interview Pitfalls
- ✕以为 BPE 的贪心合并是全局最优
- ✕忽略字节级 BPE 对中文/多语言的 token 效率影响
🎯 Interviewer Follow-ups
- ?BPE 的贪心合并是全局最优吗?
- ?BPE 与字节级 BPE(BBPE)的关系?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.