跳转至

ByteFlow: Language Modeling through Adaptive Byte Compression without a Tokenizer

会议: ICLR 2026
arXiv: 2603.03583
代码: 未公开
领域: NLP / tokenizer-free LM(被分到 segmentation 分区)
关键词: byte-level LM, tokenizer-free, coding rate, hierarchical architecture, self-tokenization

一句话总结

提出 ByteFlow Net,一种无需分词器的分层字节级语言模型,利用信息论中的编码率(coding rate)自适应地将原始字节流压缩为语义单元,在预训练损失和下游任务上超越 BPE 基线和已有字节级架构。

背景与动机

解决思路

本文目标领域现状:1. 现代 LLM 依赖固定的 BPE 分词器,一旦训练完成只能在固定粒度上操作 2. 固定分词导致计数、算术、结构化数据、多语言等场景下的脆弱行为 3. 分词是流水线中唯一不可学习的阶段,打破了端到端建模 4. 已有无分词方案:纯字节级模型(序列太长计算昂贵)、启发式分块(固定步长/空格边界,inductive bias 强) 5. 动态分块方法(BLT 用熵阈值)需要多阶段训练,非真正端到端 6. 缺乏原则性的方法来引导 FLOPs 的动态分配

方法详解

架构: 五阶段分层结构——Local Encoder → Downsampling → Global Transformer → Upsampling → Decoder

Local Encoder: - 浅而窄的 Transformer,使用滑动窗口注意力(SWA) + Canon Layer 实现高效字节级 token mixing - Canon Layer: 类似 kernel=4 的 causal conv1d,促进局部信息传播

Coding-Rate Chunking (核心创新): - 计算每个位置的边际编码率 \(\Delta R_t = R_\varepsilon(h_{1:t}) - R_\varepsilon(h_{1:t-1})\) - 编码率高的位置 = 信息增益大 = 自然分割边界 - 选择 Top-K 个最高 \(\Delta R_t\) 位置作为 chunk 边界,保持静态计算图 - 避免了全局阈值带来的动态长度和 OOM 问题

Global Transformer: 深而宽,在压缩后的 \(K \ll T\) 序列上做全注意力(主要 FLOPs 集中于此)

Upsampling: 多线性重构 + 大残差连接,将全局表示映射回字节级

Decoder: 与 Local Encoder 对称,做 next-byte prediction

方法详解

整体框架

五阶段分层流水线:字节嵌入 → Local Encoder(字节级上下文化)→ Downsampling(编码率分块)→ Global Transformer(高层抽象建模)→ Upsampling + Decoder(字节级预测)

关键设计 1: Local Encoder(浅/窄)

  • 多层小型 Transformer,使用滑动窗口注意力(SWA)+ Canon Layer
  • SWA 将复杂度从 \(O(T^2)\) 降到 \(O(T \cdot w_{local})\)
  • Canon Layer(\(\approx\) kernel=4 的 causal conv1d):\(Canon(h_t) = w_0 \odot h_t + w_1 \odot h_{t-1} + w_2 \odot h_{t-2} + w_3 \odot h_{t-3}\),促进局部 token mixing
  • 为什么需要 Canon Layer:单靠 SWA 需要 \(T/w_{local}\) 层才能保证全局连通,Canon Layer 用极低开销弥补这一不足

关键设计 2: Coding-Rate Chunking(核心创新)

  • 目标:从 \(T\) 个字节位置中选出 \(K \ll T\) 个作为高层 token
  • 编码率 \(R_\varepsilon(h_{1:T}) = \frac{1}{2} \log \det(I + \frac{d_{local}}{\varepsilon^2} h_{1:T} h_{1:T}^\top)\)
    • 编码率大 → 表征在特征空间跨越多样方向 → 信息量大 → 应作为分割边界
  • 边际编码率 \(\Delta R_t = R_\varepsilon(h_{1:t}) - R_\varepsilon(h_{1:t-1})\):度量第 \(t\) 个字节的信息增益
  • Top-K 选择(而非全局阈值):保持固定长度 \(K\),维护静态计算图,避免动态长度导致的 OOM 和 ragged tensor 问题
  • 设计动机:从信息编码成本角度判定哪些位置值得提升到更高计算层级——这将分割决策转化为信息论在线优化问题

关键设计 3: Global Transformer(深/宽)

  • 在压缩后的 \(K\) 序列上做全因果注意力:\(g_{1:K} = \text{Transformer}_{global}(z_{1:K})\)
  • 由于 \(K \ll T\),可使用更深更宽的架构集中计算资源做高层推理
  • FLOPs \(\approx O(G \cdot K^2 \cdot d_{global}^2)\)

关键设计 4: Upsampling + Decoder

  • 多线性重构:每个字节位置根据所属 chunk 和 bin 选择对应投影矩阵 \(W_{bin(t)}\)
  • 大残差连接 \(s_t = h_t + \tilde{s}_t\):局部编码器特征 + 全局上采样信息
  • Decoder 与 Local Encoder 对称:SWA + Canon,做 next-byte prediction

损失函数 / 训练策略

  • 标准交叉熵损失,按字节归一化为 Bits-Per-Byte (BPB)
  • AdamW optimizer, lr=1e-3, gradient clipping=1.0, batch size 8, sequence length 8192→3200→8192
  • 在 FineWeb-Edu-100B(~500B bytes)上预训练

实验关键数据

主实验

模型 (1.3B, 500B tokens) HellaSwag WinoGrande BoolQ PIQA ARC-e ARC-c Avg
LLaMA (BPE) 54.12 53.74 73.26 70.43 72.38 36.95 60.15
MambaByte 49.21 52.97 72.48 69.67 71.53 36.42 58.71
SpaceByte 48.76 53.15 72.04 69.18 71.12 36.05 58.38
AU-Net 50.34 54.12 73.85 74.87 72.91 37.43 60.59
ByteFlow Net 55.42 56.93 76.48 74.25 75.87 40.36 63.19

消融实验

分块策略 BPB Avg Score 说明
固定步长 0.75 57.2 MegaByte 风格
空格分词 0.73 58.4 SpaceByte 风格
余弦相似度 0.71 60.1 H-Net 风格
编码率 (ByteFlow) 0.68 63.2 信息论驱动最优

关键发现

  • ByteFlow 在 1.3B 规模上不仅超越所有字节级方法,还超越 BPE 基线 LLaMA(+3.04 平均分)
  • Scaling 行为优越:从 600M→1.3B 的提升幅度大于其他方法
  • 编码率分块在消融中大幅优于启发式分块(+3-6 分),证明信息论驱动的分割确实产生了更好的语义单元
  • Top-K 选择策略保证了训练时内存分配一致,避免了动态分块方法的 OOM 问题

亮点与洞察

  • 原则性分块:编码率是一个有理论基础的信息度量——不是"感觉这里应该切"而是"信息论告诉我们这里应该切"
  • 完全端到端:无需预训练分词器或熵模型,整个流水线从字节到预测一体化
  • 计算效率:通过分层设计将大部分 FLOPs 分配给处理压缩表示的 Global Transformer,字节级处理保持轻量
  • 流形保持:作者分析发现编码率目标独有地保持了数据表示的几何结构(latent manifold),避免了其他分块方法的碎片化问题

局限与展望

  • 仅在学术规模(≤1.3B, 500B tokens)验证,与工业级 BPE LLM 的差距在大规模下能否缩窄仍未知
  • 只在 FineWeb-Edu 上预训练,多语言/代码/结构化数据等场景的表现待验证
  • 编码率计算涉及 log det 运算(\(O(T^3)\) 或近似),实际训练开销和近似误差未详细量化
  • 下游评估仅覆盖 6 个零样本任务,缺少 MMLU/GSM8K 等更全面的评估
  • Top-K 固定分块率可能不是所有输入的最优选择——信息密集的段落和冗余段落可能需要不同的压缩比

相关工作与启发

  • vs MegaByte/SpaceByte/AU-Net:启发式分块方法,固定步长或空格边界;ByteFlow 的编码率分块是首个有原则性的方案
  • vs BLT:BLT 用预训练熵模型做动态分块+全局阈值,是两阶段非端到端方案;ByteFlow 完全端到端
  • vs H-Net(并行工作):用余弦相似度做自适应分块;ByteFlow 用信息论编码率,保持了更好的流形几何
  • vs MambaByte:纯字节级 SSM 模型,无分层结构;ByteFlow 分层设计效率更高

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 编码率驱动的自分割方案在理论和实践上都很优雅
  • 实验充分度: ⭐⭐⭐ 规模较小(≤1.3B),下游 benchmark 有限,期待更大规模验证
  • 写作质量: ⭐⭐⭐⭐ 清晰系统,理论动机阐述充分
  • 价值: ⭐⭐⭐⭐ 无分词器 LM 方向的重要进展,可能改变语言模型的基础范式