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 方向的重要进展,可能改变语言模型的基础范式