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

Tokenization (BPE / WordPiece / Unigram): 解释词表大小对模型的影响与取舍。

📐 Mathematical Definition
paramsemb=V⋅d;FLOPs∝Lrcomp (bytes per token);V↑⇒Lr↓, params↑\text{params}_{\text{emb}}=V\cdot d;\qquad \text{FLOPs}\propto \frac{L}{r_{\text{comp}}}\ (\text{bytes per token});\qquad V\uparrow\Rightarrow \frac{L}{r}\downarrow,\ \text{params}\uparrow
⚡ Executive Summary
Core Concept: 词表大 → 序列短(推理省)但 embedding/softmax 参数多;词表小 → 参数少但序列长;经验值 32k~128k。

📌 Key Takeaways

  • •
    参数:embedding + 输出层 ∝ V×d(可能占大量参数)
  • •
    计算:序列长度 ∝ 1/压缩率 → V 大则推理更快
  • •
    经验:多语言 128k+,单语言 32k~64k 常见

📐 Mathematical Derivations

数学机理:<strong>词表大小 V 影响两个方向</strong>。<strong>(1) 参数与显存</strong>——输入 embedding 与输出投影(若 tied 则共享)各为 V×d;对小模型,这部分可能占<strong>总参数的可观比例</strong>(如 d=768、V=50k 时 V×d≈38M,占 100M 参数模型的 38%);V 增大直接增加参数与显存。<strong>(2) 序列长度与计算</strong>——同一段文本,V 越大则<strong>压缩率越高</strong>(每 token 覆盖更多字节)、序列越短。由于注意力的计算 ∝L²、KV cache ∝L、FFN ∝L,<strong>序列变短直接降低推理成本</strong>(这是大词表的核心收益)。<strong>定量直觉</strong>——若压缩率从 3 字节/token 提到 4 字节/token(V 增大 33%),则同文本的 token 数降 25%,注意力成本降约 44%((0.75)²)、KV cache 降 25%;而参数增加 V×d(相对增量可能只有几个百分点)。故对<strong>大模型</strong>,增大 V 通常是<strong>净收益</strong>(因为参数增量占比小、计算节省显著)。<strong>其他影响</strong>:(a) <strong>稀有 token 训练不足</strong>——V 大则长尾 token 出现次数少,其 embedding 学得差(故需'高频优先'的词表构造);(b) <strong>输出层 softmax</strong> 计算 ∝V(每 token 一次 V 维 softmax),V 极大时该开销不可忽略(但相比 L² 注意力通常次要);(c) <strong>多语言/代码</strong>需更大 V(覆盖多种文字与符号)。<strong>经验取值</strong>——英文单语言 32k~64k(GPT-2 50k、LLaMA-2 32k);多语言/多模态 128k~256k(LLaMA-3 128k、GPT-4 系约 100k、Qwen 151k)。

🏭 Production Trade-offs

深度剖析与工程权衡:① <strong>'大词表对推理有利'的量化</strong>——这常被忽视:增大 V 是<strong>降低推理成本</strong>的手段(序列变短),而非只是'参数变多'。对推理密集的部署场景,这是重要的优化维度(有工作专门'扩展词表以压缩序列')。② <strong>与模型规模的关系</strong>——小模型(如 <1B)用大词表会'参数被 embedding 吃掉';大模型用大词表则参数增量可忽略。故<strong>词表大小应与模型规模匹配</strong>(这也是 scaling law 研究的一个维度)。③ <strong>tied embedding 的影响</strong>——共享输入/输出 embedding 可省一半 V×d 参数(小模型常用),但限制了表达(大模型常不共享);这使'词表大小的代价'在小模型上被减半。④ <strong>多语言的公平性</strong>——联合词表下,高资源语言占更多 token(压缩率高)、低资源语言被拆得更碎(fertility 高),导致<strong>同义内容的计算成本与上下文占用不均</strong>;这是多语言模型的系统性问题,有'按语言分配词表预算'的改进研究。⑤ <strong>词表扩展(vocabulary expansion)</strong>——给已有模型加新 token(新语言/领域符号)可提升效率,但需<strong>新 token 的 embedding 初始化与训练</strong>(通常用旧 token 的均值初始化 + 继续训练);且会改变分词分布、可能损害原能力(见后续题)。⑥ <strong>面试要点</strong>——被问'词表大小怎么选',应从'<strong>参数(∝V×d)vs 序列长度(∝1/压缩率)</strong>'双向权衡回答,并给出'<strong>大模型偏大词表、小模型偏小词表</strong>'的经验与具体数值;能指出'大词表是降低推理成本的手段'是深度理解的标志。
⚠️ Common Interview Pitfalls
  • ✕
    只考虑参数增加而忽略序列变短带来的计算节省
  • ✕
    小模型用超大词表(参数被 embedding 吃掉)
🎯 Interviewer Follow-ups
  • ?
    为什么大词表能降低推理成本?
  • ?
    大词表的 softmax 计算代价如何?
📚

Associated Knowledge Base Guides & Mindmaps

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

← PreviousM5-002: Tokenization (BPE / WordPiece / Unigram): 比较 BPE、WordPiece 与 Unigram。📋Back to BankNext →M5-004: Tokenization (BPE / WordPiece / Unigram): 解释 tokenizer 对下游指标的影响,为什么跨模型比较 PPL 不公平。