M5-004M5: NLP & Large Language ModelsTokenization (BPE / WordPiece / Unigram)Medium
Mastery:

Tokenization (BPE / WordPiece / Unigram): 解释 tokenizer 对下游指标的影响,为什么跨模型比较 PPL 不公平。

📐 Mathematical Definition
PPL=exp⁡ ⁣(−1N∑log⁡p(ti));BPB=PPL per token×NB (bits per byte)\text{PPL}=\exp\!\left(-\frac1N\sum\log p(t_i)\right);\qquad \text{BPB}=\frac{\text{PPL per token}\times N}{B}\ (\text{bits per byte})
⚡ Executive Summary
Core Concept: PPL 是'每 token 的困惑度',与分词粒度强相关;不同 tokenizer 的 PPL 不可直接比较,需按'每字节'归一化。

📌 Key Takeaways

  • •
    PPL 的分母是 token 数,不同分词得到不同的 N
  • •
    粗粒度分词 → 每 token 更难预测 → PPL 更高(但信息量相同)
  • •
    用 BPB(bits-per-byte)归一化才可比

📐 Mathematical Derivations

数学机理:<strong>PPL 的定义</strong>——PPL=exp(−(1/N)Σ_{i=1}^{N} log p(t_i)),其中 N 是<strong>token 数</strong>、p(t_i) 是模型对第 i 个 token 的预测概率。<strong>关键问题</strong>——同一段文本,用<strong>粗粒度</strong>分词(每 token 覆盖更多字节)得到较小的 N,但每个 token 更难预测(p 更小);用<strong>细粒度</strong>分词得到较大的 N,但每个 token 更易预测(p 更大)。两者的 PPL 会<strong>系统性不同</strong>,尽管它们建模的是<strong>同一份数据</strong>。故'PPL=10'对不同 tokenizer 的模型<strong>不可直接比较</strong>——一个用 50k 词表(英文压缩率约 4 字节/token)与一个用 256k 词表(约 5 字节/token)的模型,即使'每字节的建模能力相同',PPL 也会不同。<strong>公平的比较方式</strong>——<strong>BPB(bits per byte)</strong>:把 PPL 转换成'每字节的比特数':BPB = log₂(PPL) × N / B(B 为字节数),或等价地 BPB = −(1/B)Σ log₂ p(t_i)。它把'每 token 的信息量'按'每字节'归一化,从而<strong>与分词无关</strong>(因为分母是字节数)。<strong>同类指标</strong>——(a) <strong>bits per character(BPC)</strong>;(b) <strong>每字节交叉熵</strong>。<strong>其他受影响的下游指标</strong>——(a) <strong>生成任务的 token 级指标</strong>(如 BLEU 不受分词影响,但'每 token 成本'受影响);(b) <strong>上下文有效长度</strong>(同一窗口能容纳的<strong>字节数</strong>不同 → 实际能处理的文本量不同);(c) <strong>推理成本</strong>(token 数决定计算量);(d) <strong>微调/RLHF 的 token 级奖励</strong>(若按 token 平均,分词会影响奖励尺度)。

🏭 Production Trade-offs

深度剖析与工程权衡:① <strong>BPB 是跨模型比较的标准</strong>——在学术论文与模型对比中,报告 BPB(而非 PPL)是<strong>规范做法</strong>;若只报告 PPL,应注明 tokenizer。这是评测素养的体现。② <strong>'PPL 低'的陷阱</strong>——一个模型 PPL 低可能是因为 (a) 它见过测试数据(污染)、(b) tokenizer 更细粒度、或 (c) 测试集与训练集分布接近;故 PPL 低<strong>不等于</strong>能力强。③ <strong>与上下文有效长度的关系</strong>——256k 词表的模型在同一 128k 窗口下能容纳<strong>更多字节</strong>(因为压缩率更高),故'名义上下文长度'相同时<strong>有效信息量</strong>不同;这对长上下文评测有影响(应报告'每窗口字节数')。④ <strong>与推理成本的关系</strong>——分词决定 token 数 → 决定计算与成本;故'同质量下 token 数更少'的 tokenizer 有实际经济价值(这也是大词表的一个卖点)。⑤ <strong>多语言比较的困难</strong>——不同语言的 fertility 差异大(中文/日文每字多 token),故'跨语言 PPL 比较'更需谨慎;应按'每字节'或'每字符'归一化,并分别报告各语言。⑥ <strong>面试要点</strong>——被问'PPL 能否跨模型比较',应明确回答'<strong>不能,因为 PPL 的分母是 token 数、与分词粒度强相关</strong>',并给出 <strong>BPB</strong> 这一归一化方案与公式;能联系到'上下文有效信息量'与'多语言 fertility'是深度理解的标志。
⚠️ Common Interview Pitfalls
  • ✕
    直接比较不同 tokenizer 模型的 PPL
  • ✕
    把 PPL 低等同于模型能力强
🎯 Interviewer Follow-ups
  • ?
    为什么 PPL 低不代表模型强?
  • ?
    如何公平比较不同 tokenizer 的模型?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM5-003: Tokenization (BPE / WordPiece / Unigram): 解释词表大小对模型的影响与取舍。📋Back to BankNext →M5-005: Tokenization (BPE / WordPiece / Unigram): 解释分词对多语言与代码的影响与常见问题。