ByteFlow:基于自适应字节压缩的无分词器语言建模 ByteFlow: Language Modeling through Adaptive Byte Compression without a Tokenizer
用信息论编码率驱动的动态分块替代固定词表,提出端到端无分词器架构
前置知识
字节对编码(BPE)
BPE 是当前主流语言模型(如 GPT、LLaMA)使用的子词分词算法,通过迭代合并训练语料中出现频率最高的相邻字节/字符对来构建固定词表。该词表在训练前确定、训练后保持不变,因此模型只能在这个固定的粒度上运作。典型的 LLaMA 词表大小约为 32K-128K,序列长度比原始字节序列短 4-6 倍,但代价是引入了非可学习的、静态的归纳偏置。
本文的核心目标是消除 BPE 带来的静态分词限制。理解 BPE 的工作原理及其缺陷(计数困难、对算术不友好、多语言处理不均衡等)是理解 ByteFlow Net 动机的基础。
滑动窗口注意力(SWA)
滑动窗口注意力是标准自注意力的稀疏化变体,每个查询位置只与窗口大小 $w$ 内的历史键值对交互,将计算复杂度从 $O(T^2)$ 降低到 $O(T \cdot w)$。在长序列处理中,SWA 已被 Mistral 等模型采用,能够在保持局部上下文建模能力的同时显著减少计算量。然而,SWA 的视野受窗口大小限制,单独使用时需要堆叠多层才能获得全局感受野。
ByteFlow Net 的局部编码器和解码器都采用 SWA 处理长度为 8192 的字节序列。理解 SWA 的计算复杂度和感受野特性,是理解为什么需要配合 Canon 层使用的关键。
有损编码率(Lossy Coding Rate)
有损编码率源自信息论中率失真理论的 Yu et al. (2020) 的 MCP 推广,对给定噪声容忍度 $\epsilon$ 下的高斯信道容量进行估计。对于表示矩阵 $H \in \mathbb{R}^{T \times d}$,其有损编码率定义为 $R_\epsilon(H) = \frac{1}{2}\log\det(I + \frac{d}{\epsilon^2}HH^\top)$。该值反映了 $H$ 中所含信息量的多少——特征值越大、方向越分散,$R_\epsilon$ 越大,表示信息越丰富。在自监督学习中,编码率常被用作信息多样性的代理指标。
编码率是 ByteFlow Net 分块决策的核心数学工具。通过计算边际编码率 $\Delta R_t = R_\epsilon(h_{1:t}) - R_\epsilon(h_{1:t-1})$,模型能够识别信息增益最大的字节位置并将其选为分块边界。
层次化架构(Hierarchical Architecture)
层次化架构指将模型分为多个处理层级,每层以不同的粒度/序列长度运作,常见于 MegaByte、SpaceByte、AU-Net 等无分词器模型。典型设计包括:局部编码器(短序列、字节级)→ 下采样(压缩为高阶 token)→ 全局 Transformer(长序列、高阶抽象)→ 上采样(恢复到原始长度)→ 解码器(短序列、字节级)。这种设计的核心思想是将大部分算力集中在压缩后的高阶表征上,从而在可控成本下处理长序列。
ByteFlow Net 采用了清晰的五阶段层次化架构。理解局部-全局分工以及算力分配原则,是把握其整体设计思路的关键。
Bits-Per-Byte(BPB)
BPB 是字节级语言模型的标准评估指标,将交叉熵损失按字节数而非 token 数归一化:$\text{BPB}(x) = \frac{\mathcal{L}_{CE}(x)}{\ln(2) \cdot n_{bytes}}$。该指标的优越性在于其与分词方式无关,使得字节级模型和 BPE 模型可以在同一尺度下公平对比。BPB 越低代表模型对字节序列的预测能力越强。
本文所有预训练实验都以 BPB 作为主指标。在 0.6B 规模上 ByteFlow Net 达到 0.86 BPB,显著优于 LLaMA 的 0.89,是论文最重要的实验证据之一。
研究动机
现代语言模型几乎都依赖一个固定、预训练阶段确定的子词词表(主要是 BPE),这一设计虽然在工程上便于实现并行训练,但带来了一系列难以根除的副作用。首先是计数和算术困难:例如 LLaMA 3 在 CUTE 基准的"Spelling Inverse"子任务上仅取得 3.6% 准确率,因为模型看到的是不可逆的子词 ID 而非字符本身。其次是多语言与结构化数据处理的不均衡,词表天然偏向高频语种,稀有字符必须被拆成大量 UTF-8 字节,造成序列长度膨胀和推理效率下降。更根本的问题在于:分词器引入了非可学习的预处理阶段,打破了端到端语言建模的范式,模型只能被动接受人工设计的归纳偏置,无法根据输入复杂度动态调整表征粒度。先前试图消除分词器的工作存在明显短板:基于规则的分块方法(如 MegaByte 的固定步长、SpaceByte 的空格分界、AU-Net 的正则)嵌入了强人工偏置;动态分块方法(如 BLT 的熵阈值、H-Net 的余弦相似度)则引入了训练不稳定因素——随机分块甚至让准确率跌至 41.34%,证明分块策略本身是决定性因素。
本文的目标是本文的核心目标是构建一个端到端、无需分词器的层次化语言模型 ByteFlow Net,并提出一种原则性的、信息论驱动的动态分块策略。具体而言,作者希望达到三个目标:(1)让模型直接从原始 UTF-8 字节流中学习语义单元的边界,避免任何预训练的分词步骤;(2)用编码率(coding rate)这一信息论指标刻画位置的信息增益,替代启发式规则或经验性阈值;(3)通过 Top-K 选择保留固定数量的分块点,保证计算图的静态性,使训练能够高效利用 GPU 并行性。整体上,作者希望证明"端到端无分词器建模不仅可行,而且更优",并验证其在大规模预训练下的可扩展性。
与已有工作不同的是,本文的独特切入角度在于将"在哪里分块"这一架构决策重新表述为一个有原则的信息论优化问题——编码率压缩问题,这与现有动态分块方法(熵阈值、余弦相似度、神经网络门控)有本质区别。具体而言,作者观察到:(1)熵分块依赖外部熵模型的预测质量,BLT 需要先训练一个独立的熵模型再用作分块代理,违背了端到端的精神;(2)余弦相似度(H-Net, 2025)只考虑相邻表征的几何关系,忽略了累积的信息量;(3)神经网络门控(Nawrot et al.)在训练初期信号噪声大,阻碍早期模式发现。而编码率视角的独特性在于:它不是看某个位置"是否重要"或"是否相似",而是问"包含这个位置能为整个序列的信息表征增加多少",即 $\Delta R_t = R_\epsilon(h_{1:t}) - R_\epsilon(h_{1:t-1})$,这一增量直接对应信息论的"自压缩"目标。另一个关键差异是,作者通过 t-SNE 可视化(图3)发现编码率分块是唯一能保持原始潜空间流形几何结构的方法——其他方法(包括余弦相似度)都会把潜在表征空间"打碎",而编码率分块后的表征分布几乎与未分块的原始分布一致,这从几何角度解释了性能优势。
核心方法
ByteFlow Net 是一个五阶段的层次化字节级架构,整体思路是"局部编码 → 智能分块 → 全局建模 → 局部解码",将大部分算力集中在压缩后的高阶表征上。直观上,模型像一位细心的编辑:在处理 8192 长度的原始字节流时,浅层局部编码器(窄通道 $d_{local}$、SWA 注意力)快速提炼每个字节的上下文表示;接着分块器像一个有信息论判断力的读者,跳着阅读——它不是按固定步长或空格机械地切分,而是计算每个位置的边际编码率,选出信息量最大的 $K$ 个位置作为"值得深思"的高阶 token;然后一个深而宽的全局 Transformer 对这 $K$ 个高阶 token 做充分的二次方注意力;最后上采样器把全局语义重新分配回每个原始字节位置,由对称的局部解码器生成下一字节预测。技术路线上,作者沿用了"轻局部 + 重全局"的算力分配原则,全局 Transformer 的宽度 $d_{global} \gg d_{local}$、深度 $G$ 较大,而局部编解码器只是窄而浅的 SWA 块组合。关键的工程创新是用 Canon 层(本质是 kernel=4 的 causal_conv1d)配合 SWA,既保证感受野又能高效 CUDA 加速;同时用 Top-K 选择替代全局阈值,使计算图静态化,便于批处理。
ByteFlow Net 的核心创新是提出基于有损编码率的动态分块策略,这与现有方法在数学基础上完全不同。已有动态分块方法各有缺陷:BLT 的熵阈值依赖外部熵模型、需要分两阶段训练;H-Net 的余弦相似度只考虑相邻局部信息、且打碎潜空间几何;Nawrot et al. 的神经网络门控在预训练早期信号太弱。编码率方法的本质是:定义 $R_\epsilon(h_{1:T}) = \frac{1}{2}\log\det(I + \frac{d_{local}}{\epsilon^2}h_{1:T}h_{1:T}^\top)$ 衡量局部编码器输出所含的总信息量,然后计算边际编码率 $\Delta R_t = R_\epsilon(h_{1:t}) - R_\epsilon(h_{1:t-1})$ 表示加入第 $t$ 个字节带来的信息增益。Top-K 选择这些 $\Delta R_t$ 最大的位置作为分块边界。这种"信息论分块"的本质优势是:(1)保留静态计算图(K 固定),解决了 BLT/H-Net 动态图带来的 OOM 问题;(2)公式无任何超参数需要调节,$\epsilon$ 是唯一噪声尺度参数;(3)消融实验证明它能保持潜空间流形结构(图3),而其他方法都会破坏几何。第二个关键创新是局部编码器中的 SWA + Canon 层组合:SWA 复杂度 $O(T \cdot w_{local})$ 较低,但单独使用需要 $\lceil T/w_{local} \rceil$ 层才能覆盖全局;Canon 层(causal_conv1d, kernel=4)以极低参数开销扩展有效感受野,二者协同实现高效 token mixing。第三个创新是多线性上采样的 bin 共享设计:将 $T$ 个位置分为 $B=16$ 个 bin,同 bin 内的位置共享上采样参数 $W_b$,既保持逐位置的灵活性又把参数量降到 $B \times d_{global} \times d_{local}$,避免完全参数化的巨大开销。
方法步骤详情
方法共分五个严格衔接的阶段。阶段 1:局部编码。输入字节序列 $x_{1:T} \in V^T$($V$ 为 258 大小的字节词表,含 256 个 UTF-8 字节 + 2 个 BOS/EOS)经学习得到的字节嵌入矩阵转为 $\mathbb{R}^{T \times d_{local}}$,再由 $E$ 个 pre-norm Transformer 块处理,每块含 SWA($w_{local}$) + Canon(causal_conv1d, k=4) + SwiGLU,得到 $h_{1:T} \in \mathbb{R}^{T \times d_{local}}$。阶段 2:下采样与编码率分块。计算 $\Delta R_t = R_\epsilon(h_{1:t}) - R_\epsilon(h_{1:t-1})$ 对所有 $t \in \{2,...,T\}$,初始化选中集合 $S=\{1\}$(必含 BOS),取最大的 $K-1$ 个 $\Delta R_t$ 对应位置补入 $S$,按时间排序得 $S=\{s_1=1, s_2, ..., s_K\}$。提取对应表征 $z_{1:K} = [h_{s_1},...,h_{s_K}] W_{proj} \in \mathbb{R}^{K \times d_{global}}$,其中 $W_{proj}$ 是局部到全局的投影矩阵。阶段 3:全局 Transformer。$g_{1:K} = \text{Transformer}_{global}(z_{1:K})$,采用 $G$ 层 full causal attention,因 $K \ll T$(实验中 $T=8192 \to K=3200$,约 2.56× 压缩),$O(K^2 d_{global}^2)$ 计算仍然 tractable。阶段 4:上采样。对每个位置 $t$ 计算所属 chunk $c = \arg\max_i\{s_i: s_i \leq t\}$ 和 bin $b = \lfloor t/(T/B) \rfloor$,得到 $\tilde{s}_t = g_c W_b$($b \in \{1,...,B\}$),最终 $s_t = h_t + \tilde{s}_t$,残差连接保留局部信息。阶段 5:解码器。结构与编码器对称,处理 $s_{1:T}$ 后通过 $W_{out} \in \mathbb{R}^{d_{local} \times |V|}$ 投影到字节词表,softmax 得下一字节分布 $\hat{p}(x_{t+1}|x_{1:t})$。整个前向计算中,编码率分块的 Top-K 决策是确定性的(teacher forcing 时基于完整序列),无需反向传播——但因果掩码保证预测不偷看未来。
技术新颖性
ByteFlow Net 的技术新颖性主要体现在三个层面。第一,分块策略的理论优雅性。现有动态分块本质上是"看哪里像边界",而编码率分块是"看哪里带来最多新信息"——前者是局部启发式,后者是全局信息论优化。这种区别在数学上严格:$\Delta R_t$ 衡量的是 $h_{1:t-1}$ 子空间在加入 $h_t$ 后所张成空间体积的对数增量,对应高斯信道容量增量。论文中作者还在 Appendix A 给出了完整推导,并提供 L2 近似加速(Appendix B),具有理论深度。第二,静态计算图与动态分块的兼顾。BLT 引入熵模型导致图结构动态,H-Net 用余弦相似度同样需要变长序列,两者都依赖特殊 CUDA 算子或冒着 OOM 风险。ByteFlow 通过固定 $K$ 保留 batch 维度静态性,同时分块本身又是自适应的——这是"约束下的灵活",是工程上的重要突破。第三,配套架构设计。SWA + Canon 组合在理论上很有趣:纯 SWA 需要 $\lceil T/w \rceil$ 层才能让首尾相连,纯 Canon 又缺乏全局注意力。两者串行叠加后,前者做高效 token mixing,后者以 $O(d)$ 开销扩展感受野,配合得很巧妙。消融实验(Table 3)也证实编码率分块不是孤立创新——它必须配合这套局部-全局架构才能发挥优势,例如同样用 ByteFlow Net 框架但用随机分块时任务准确率从 50.89% 暴跌至 41.34%。
实验结果
实验结果强力支撑了 ByteFlow Net 的核心主张——无分词器建模不仅可行而且更优。在缩放实验(Figure 2)中,0.6B 模型在 50B 训练字节上,ByteFlow Net 在约 25B 处超过 LLaMA 0.6B 基线,最终验证 BPB 0.86 vs 0.89;1.3B 模型在 500B 训练字节上展现最佳的缩放轨迹,验证 BPB 同样领先。Table 1 的零样本下游任务对比中,ByteFlow Net 0.6B 在 6 个任务(HellaSwag/WinoGrande/BoolQ/PIQA/ARC-e/ARC-c)上的平均准确率达 50.89%,超过 LLaMA 0.6B 的 49.15% 1.74 个百分点;1.3B 规模差距扩大到 3.04 个百分点(63.19% vs 60.15%),其中 HellaSwag 提升 1.30、BoolQ 提升 3.22、ARC-c 提升 3.41,说明架构优势随规模放大。Table 2 的字符级基准 CUTE 上,ByteFlow Net 1.3B 以 500B 训练字节取得 51.2% 平均分,显著超过 Llama 3(1T tokens 训练)的 27.5% 和 Llama 3.1(16T tokens)的 20.0%,数据效率高出 20-32 倍;尤其在 Spelling Inverse 子任务上达到 95.1%(Llama 3.1 仅 3.6%)、Substitute Char 达 45.3%(Llama 3 仅 0.4%),证明字节级建模对字符级结构有本质优势。Table 3 的分块策略消融是最具说服力的实验:在 0.6B 框架下,固定步长 45.27%、词边界 49.38%、神经网络门控 47.13%、熵分块 47.81%、余弦相似度 47.45%、随机分块 41.34%,而编码率分块达到 50.89%,是唯一明显超过 LLaMA 49.15% 基线的方法。Table 4 的训练效率显示 ByteFlow Net 与 AU-Net、LLaMA 的 WPS(每秒词数)和单次迭代时间都相当,FLOPs 预算基本对齐,说明性能提升不是来自更多算力。Figure 3 的 t-SNE 可视化直观展示了编码率分块是唯一保持潜空间流形结构的方法——随机、神经网络门控、余弦相似度等方法都会把原本聚类的表征打散成碎片,而编码率分块后的分布与原始未分块流形几乎重合,从几何角度解释了其优越性。Figure 4 的字符级编码率得分曲线进一步展示模型学会了为语义关键的字符(如词首字母、关键词)分配高编码率,为可预测的字符分配低编码率,证明分块器不仅数学上优雅而且学会了语用学规律。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 0.6B 模型 6 项零样本任务平均 | 平均准确率 (%) | 50.89 ± 0.89 | LLaMA (BPE): 49.15 ± 0.73 | +1.74 个百分点 |
| 1.3B 模型 6 项零样本任务平均 | 平均准确率 (%) | 63.19 ± 1.57 | LLaMA (BPE): 60.15 ± 1.59 | +3.04 个百分点 |
| 0.6B 模型预训练 | Validation BPB | 0.86 | LLaMA (BPE): 0.89 | -0.03 BPB |
| HellaSwag (1.3B) | 零样本准确率 (%) | 55.42 ± 1.44 | LLaMA: 54.12 ± 1.58 | +1.30 个百分点 |
| BoolQ (1.3B) | 零样本准确率 (%) | 76.48 ± 1.38 | LLaMA: 73.26 ± 1.62 | +3.22 个百分点 |
| ARC-Challenge (1.3B) | 零样本准确率 (%) | 40.36 ± 1.74 | LLaMA: 36.95 ± 1.81 | +3.41 个百分点 |
| CUTE 字符级基准平均 | 准确率 (%) | 51.2 ± 2.1 (500B tokens) | Llama 3: 27.5 (1T tokens); Llama 3.1: 20.0 (16T tokens) | +23.7 百分点,且训练数据少 20-32× |
| CUTE Spelling Inverse 子任务 | 准确率 (%) | 95.1 ± 2.4 | Llama 3.1: 3.6 | +91.5 百分点 |
| CUTE Substitute Char 子任务 | 准确率 (%) | 45.3 ± 2.9 | Llama 3: 0.4 | +44.9 百分点 |
| 分块策略消融(6 项任务平均) | 准确率 (%) | Lossy Coding Rate: 50.89 | Random: 41.34; Cosine: 47.45; Entropy: 47.81; Neural: 47.13; Word: 49.38 | 比次优词边界高 1.51,比随机高 9.55 |
局限与改进
作者在论文中坦诚地承认了几个未充分讨论但实际存在的限制。第一,分块器需要完整序列做 Top-K 选择,与"严格自回归流式生成"存在概念矛盾:训练时 teacher forcing 可用全部上下文,但推理时无法预知未来字节,只能改用滑动窗口近似。作者在文中轻描淡写提到 "causal masks ensure predictions never access future byte content",但并未给出推理时的具体处理方案,也未评估其对推理质量的影响。第二,计算开销方面,虽然 Table 4 显示 WPS 与基线相当,但 log-det 计算($\frac{1}{2}\log\det(I + \frac{d_{local}}{\epsilon^2}h_{1:t}h_{1:t}^\top)$)在 $t$ 增长时是 $O(d_{local}^3)$ 的,作者虽在 Appendix B 提供了 L2 近似降低到 $O(T d)$,但其近似精度未与精确 log-det 对比。第三,训练规模与对比的公平性——LLaMA 1.3B 是在 500B 训练字节上 4× Chinchilla 比例,但 CUTE 对比中是 1T 和 16T tokens 的 Llama 3/3.1,这种数据规模差异让 CUTE 上的优势很难纯粹归因于架构。第四,分块粒度 $K$ 是个需要调的超参,论文选 $K=3200$($T=8192$ 时约 2.56× 压缩),但不同语言/模态/数据下的最优 $K$ 未知。第五,从技术观察角度,Canon 层(causal_conv1d, k=4)虽然高效,但其权重与 SWA 输出的相互作用缺乏消融,可能存在冗余;多线性上采样的 bin 共享($B=16$)也是经验值。第六,作者强调"保持潜空间流形几何",但 t-SNE 的可靠性本身有争议,且对比是基于训练 1B 字节后的局部编码器,并非完整训练后的全局表征。
独立分析的弱点
基于独立分析,本文存在以下几个值得改进的弱点。第一,编码率分块的计算成本与可扩展性。$\Delta R_t$ 涉及对 $T \times d_{local}$ 矩阵反复计算 $\log\det(I + \frac{d_{local}}{\epsilon^2}h_{1:t}h_{1:t}^\top)$,虽可借助 L2 近似降到 $O(Td)$,但每步仍需遍历所有 $T$ 个位置才能选出 Top-K。当 $T$ 进一步扩大到 32K 或 64K 时,计算开销会显著上升,附录 B 的 L2 近似与精确 log-det 的性能差距也未充分报告。改进方向是引入增量编码率计算(利用 Sherman-Morrison-Woodbury 递推),或用采样估计替代全序列遍历。第二,分块决策与流式推理的矛盾。Top-K 选择需要先看到完整序列再选 $K$ 个位置,但真实自回归推理是逐字节进行的。论文中的"causal masks"只约束了全局 Transformer 的注意力,并未解决分块器如何在线决策的问题。改进方向是训练一个辅助的"未来预览"轻量模型(类似 BLT 的熵模型但更小),或者在推理时使用滑动窗口 + 局部 Top-K 策略。第三,bin 共享上采样的粒度与灵活度。$B=16$ 是经验值,对短文本可能过粗,对长文本可能过细。改进方向是引入自适应 bin 大小(如根据 chunk 内实际字节数动态调整),或用哈希函数等数据驱动的方式分配 bin。第四,$\epsilon$ 噪声方差参数缺乏系统调优。论文中 $\epsilon$ 的选取依据未明确,可能对不同数据集/语言敏感。改进方向是设计 $\epsilon$ 的自适应调节机制(如根据 $h$ 的方差动态调整)。第五,缺失与 H-Net(真正的同期工作)的直接深度对比。论文虽在 Table 3 中比较了 H-Net 的余弦相似度分块,但 H-Net 的整体架构(包括其路由器设计)与 ByteFlow Net 有差异,无法严格隔离分块策略的贡献。改进方向是在完全相同的 ByteFlow Net 框架上实现余弦相似度分块,并跑完整缩放实验。
未来方向
作者明确提出的未来方向是优化 CUTE 任务的 Completeness 指标(这个指标在某些场景下不如基线)。从成果出发可延伸的方向包括:第一,将编码率分块扩展到多模态场景(图像 patch、音频帧),验证其作为通用自适应分块机制的有效性。第二,研究编码率分块与强化学习的结合——目前分块完全基于编码率最大化,但分块点是否最优还应考虑下游任务表现,可用 RL 端到端微调 $\epsilon$ 和 bin 划分。第三,理论分析编码率分块与最优段落的对应关系。Yu et al. (2020) 证明编码率最大化对应于最小描述长度(MDL),本文的分块可视为 MDL 原则的在线近似,未来可探索其与动态规划最优分块的理论差距。第四,与 MoE 的结合——编码率本质衡量信息密度,可用于动态决定每个 token 应激活哪些专家。第五,向更长序列(100K+ 字节)扩展时,需要重新设计 $K$ 的选择策略(如按 $T$ 的对数比例缩放)。第六,工具生态支持——目前 ByteFlow Net 需要重写训练循环以适配字节级 dataloader,未来可开发与 HuggingFace Transformers 兼容的模块化实现,降低使用门槛。第七,作者在论文结尾提到"代码正在法律审查中",开源后社区可能发现更多工程化改进点。第八,多语言/代码场景的系统评估。论文只在英文 FineWeb-Edu 上评估,未来应测试在中文、阿拉伯文(连写、变音符号)、代码(含缩进结构)、数学公式(LaTeX)等场景下的表现。
复现评估
复现性方面整体处于"接近可复现"水平,但存在几处不确定性。代码方面,作者明确表示"目前正在完成法律审查流程,将代码、配置文件、训练脚本作为补充材料公开发布"(论文 Reproducibility Statement),截至论文发表时 GitHub 仓库尚未发布,第三方需自行实现。训练数据是公开的 FineWeb-Edu-100B(Penedo et al., 2024),可从 HuggingFace 直接下载,BPB 评估遵循 Xue et al. (2022b) 的标准做法。算力方面,Table 4 报告在 8×A100-80GB 上完成 0.6B 训练,50B 字节训练约需数天;1.3B 训练需要更长周期和更多 GPU,论文未提供具体小时数。超参数方面,作者提供了相对完整的模型配置(E、G、$d_{local}$、$d_{global}$、$w_{local}$、$K$、$B$)和训练设置(学习率、warmup、batch size),但 $\epsilon$ 噪声方差和 L2 近似的具体参数未明示,需要从代码或附录中挖掘。技术风险方面,编码率 $\log\det$ 的数值稳定性($\epsilon^2$ 过小可能导致溢出)以及 SWA+Canon 的初始化顺序都是工程难点,没有代码时容易踩坑。下游任务评估基于 lm-eval-harness(Gao et al., 2024),是标准工具,复现风险低。总体而言,对于有经验的研究组(具备字节级训练 pipeline 实现能力),根据论文 Appendix C 应能在 1-2 个月内复现主要结果,但 CUTE 等字符级任务上 LLaMA 3/3.1 的对比因训练数据规模差异(1T vs 500B)会存在公平性挑战。
论文图表