字节级(Byte-Level)模型分析

分类: 预训练与微调 · 难度: 中级 · 关联讲座: L14

字节级(Byte-Level)模型直接以字节作为基本处理单元,词表仅 256 个条目,完全消除了 OOV(Out-of-Vocabulary)问题。本文分析字节级模型的词表结构、序列长度膨胀及其对计算开销的影响。

📐 字节级(Byte-Level)模型的词表与序列分析

UTF-8 编码规则:

  • ASCII 字符(英文、数字、标点)= 1 byte
  • 中文字符 = 3 bytes
  • 大多数 emoji = 4 bytes

纯字节级词表:V=256|V| = 256(所有可能的字节值 0x00–0xFF),零 OOV

代价是序列长度爆炸。序列长度比 BPE 长多少?

length ratio=byte countBPE token count\text{length ratio} = \frac{\text{byte count}}{\text{BPE token count}}

对于英文:BPE 约 1.3 bytes/token → 字节级约长 30%。 对于中文(每字 3 bytes,BPE 约 1 token/字)→ 字节级约长 3倍

MegaByte(Yu et al., 2023)尝试用”小模型处理字节 + 补丁模型(patch model)处理语义块”解决序列过长问题。