跨分词器大语言模型蒸馏:基于字节级接口的简化方法 Cross-Tokenizer LLM Distillation through a Byte-Level Interface
BLD方法:基于字节级接口的跨分词器蒸馏简化基线
前置知识
知识蒸馏 (Knowledge Distillation)
让小模型(学生)通过匹配大模型(教师)的输出概率分布来学习,而非仅依赖真实标签。标准蒸馏的 KL 散度损失要求师生共享相同的输出空间。
BLD 本身是一种蒸馏方法,理解 KL 损失在词汇表不一致时为何失效是把握本文动机的关键。
BPE 分词器
通过合并高频字节对将文本切分为子词单元的算法。不同模型族(如 Llama、Qwen、Gemma)训练各自的 BPE 词汇表,导致词汇集合和词义边界差异。
不同 BPE 词汇表是 CTD 问题产生的根源,理解分词器如何把字节映射为 token 是看懂跨分词器对齐难度的前提。
字节级概率分布
在所有可能的 256 个字节上的概率分布,可通过对 token 分布中所有能覆盖当前字节序列的 token 化路径求和得到(Phan et al. 2025; Vieira et al. 2025)。
BLD 的核心思想就是把师生概率分布统一投影到字节空间,因而读者需明白如何从 token 模型反推字节级概率。
LoRA 低秩适配
冻结预训练权重,仅训练低秩矩阵 A∈R^{d×r}、B∈R^{r×d}(本文 r=64)来近似参数更新,大幅降低显存与算力。
作者用 LoRA 而非全参数微调,读者需理解 r=64 的低秩更新能且只能逼近部分梯度方向。
研究动机
标准知识蒸馏的 KL 散度建立在师生共享词汇表的前提之上——教师 logit 向量维度(如 50000)与学生(如 32000)若不一致就无法直接对齐,这一限制使 Llama、Qwen、Gemma 等异构模型之间几乎无法蒸馏。现有跨分词器蒸馏(CTD)方案大致分两条路线:其一是 Kim & Rush (2016) 式的从生成样本中蒸馏,丢掉了教师分布的稠密信息;其二是 ULD、知识融合、双空间蒸馏、近似似然匹配等启发式词汇映射,计算昂贵、信息损失显著,且依赖临时对齐损失。在 Llama3.2 3B→Qwen2 分词器替换实验中,仅做 SFT 即可在 MMLU 上达到 57.11,而 DSKD 反而只有 50.48,提示现有 CTD 方案尚远未到「用字节即可简单解决」的成熟度。
本文的目标是本文提出 BLD(Byte-Level Distillation),目标是给跨分词器蒸馏提供一个简单、对齐无关(alignment-free)的强基线:在不构造词汇映射、不引入启发式对齐损失的前提下,仅靠字节级接口让师生在统一输出空间里完成蒸馏。具体覆盖三种场景——BPE→BPE 分词器替换、BPE→字节分词器替换、跨模型跨分词器蒸馏(如 OpenMath2-Llama3.1-8B → Gemma2 2B)。
与已有工作不同的是,BLD 的独特切入角度是把字节当作所有分词器共享的天然通用接口。已有字节级方法(ByT5、MegaByte、BLT、H-Net 等)关注于端到端字节建模本身,而 BLD 不改变学生的主干架构,仅临时挂载一个轻量级字节级 decoder head,蒸馏完成后即可移除,恢复为标准 token 级模型。这种「蒸馏时用字节、推理时扔掉」的非对称设计在 CTD 文献中是新的,避免了 Boizard 等人 ULD 中的最优传输近似和 Minixhofer 等人 f-DISTILL 中的 f 散度估计。
核心方法
BLD 的整体思路非常直觉化:既然不同分词器把同一段字节切分成不同 token 序列,那么字节就是天然的公分母。技术路线分两步——Step 1 给预训练学生模型并联挂载一个字节级 decoder head $O_b: \mathbb{R}^{N \times d} \to \mathbb{R}^{N_b \times |\Sigma|}$,它由 10 个并行的线性层组成,可同时预测一个 token 的最多前 10 个字节;Step 2 用 Vieira 等 (2025) 的快速近似算法把教师 token 级输出分布转换为字节级概率分布 $P_T(b_i|b_{<i})$,然后在字节空间里与学生做 KL 蒸馏,同时保留原 token 级 CE 损失以维持主输出头不退化。
核心创新是用字节空间作为师生对齐媒介,这与已有方法有本质区别:ULD 用最优传输在 token 概率之间做软对齐,Minixhofer 等用 f 散度做近似似然匹配,Wan/Zhang 等做隐藏空间融合,都需要构造词汇间映射;而 BLD 不做任何映射,仅把分布投影到 256 维字节空间——这个空间对所有分词器都一致。蒸馏完成后 $O_b$ 直接丢弃,主干仍是标准 token 模型,因此推理时不会带来额外开销。
方法步骤详情
方法实现分两步。Step 1:给预训练学生 $f_S$ 增加字节级输出头 $O_b$,使其同时具备 token 输出 $f_S(t)$ 与字节输出 $f^{(b)}_S(t,j)=O_b(H(E(t)))[j]$;$O_b$ 由 10 个并行线性层构成,超长 token 仅监督前 10 个字节。Step 2:教师侧 $P_T$ 用 Vieira 等 (2025) beam-search 算法($K=10,\epsilon=0.01$,JSD≈0.0045)离线预计算并缓存到 Tulu-3。联合损失为 $\mathcal{L}=\text{CE}(\delta(t_\ell),f_S)+\text{CE}(\delta(b^{(ℓ)}_j),f^{(b)}_S)+\lambda_{KL}\text{KL}(P_T,f^{(b)}_S)$,三部分同时优化。训练用 LoRA(r=64,作用于 q/k/v/o/gate/up/down 投影)、AdamW(lr=2e-5)、cosine+linear warm-up、5 epoch。蒸馏结束后删除 $O_b$ 即恢复标准 token 模型。
技术新颖性
技术新颖性体现在三个层面:第一,把字节空间作为跨分词器对齐媒介的思路简洁到无需任何近似对齐,避免了 ULD 中的最优传输和 f-DISTILL 中的 f 散度估计;第二,蒸馏用字节、推理扔字节的非对称设计使该方法不增加推理成本,区别于 ByT5、BLT 等需要改造主干的字节级方法;第三,使用 Vieira 等 (2025) 字节概率算法的工程集成(4×RTX 3090 上约 10.4 秒/样本,2 天算完全部 Tulu-3)使该方案首次在真实规模上验证可行。
实验结果
论文在三个任务上实验。BPE→BPE 分词器替换(Llama3.2 3B → Qwen2,Table 1):BLD 在 PiQA 75.68(最佳,超过 SFT 74.54、MinED 75.35、ALM+SFT 75.46)与 AGI-ZH 35.97 上领跑,但 IFEval 仅 30.58,远落后于 MinED 62.83 与 ALM+SFT 58.51,揭示指令遵循上的明显弱点;ALM+SFT 在 ARC-C 45.82、BoolQ 79.36、MMLU 58.86、AGI-EN 36.64 四项占优。BPE→字节替换(Table 2):所有方法相对原模型大幅退化(MMLU 降约 21 点),BLD 仅在 PiQA 67.52 上微弱领先。跨模型蒸馏(Table 3):BLD 在 GSM8K 达 62.55±1.33(最佳),相对 Gemma2 2B IT 基线 51.48 提升 11.07 点,但 MATH 上 20.08 落后 SFT 的 22.40。结论:BLD 简单且具竞争力,但无方法能在所有 benchmark 稳定占优,CTD 仍是开放问题。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| BPE→BPE 分词器替换 (Llama3.2 3B → Qwen2) | PiQA | 75.68 | SFT 74.54; MinED 75.35; ALM+SFT 75.46 | +1.14 vs SFT,最佳 |
| BPE→BPE 分词器替换 | IFEval | 30.58 | SFT 26.74; MinED 62.83; ALM+SFT 58.51 | +3.84 vs SFT,但 -32.25 vs MinED(明显落后) |
| BPE→字节分词器替换 (Llama3.2 3B → Byte) | PiQA | 67.52 | SFT 67.30; MinED 67.41; ALM+SFT 66.32 | +0.11 vs MinED,最佳 |
| BPE→字节分词器替换 | MMLU | 39.06 | SFT 38.95; MinED 39.84; ALM+SFT 39.15 | +0.11 vs SFT,略低于 MinED -0.78 |
| 跨模型蒸馏 (OpenMath2-Llama3.1-8B → Gemma2 2B) | GSM8K (zero-shot CoT) | 62.55 ± 1.33 | Gemma2 2B IT 51.48 ± 1.38; SFT 59.29 ± 1.35; ALM+SFT 61.56 ± 1.34 | +11.07 vs 基线;+1.26 vs ALM+SFT,最佳 |
| 跨模型蒸馏 | MATH (zero-shot CoT) | 20.08 ± 1.82 | Gemma2 2B IT 10.60 ± 1.38; SFT 22.40 ± 1.87; ALM+SFT 19.00 ± 1.76 | +9.48 vs 基线;-2.32 vs SFT |
局限与改进
作者明确承认两点局限:第一,受算力限制,BPE→BPE 与 BPE→字节实验最大仅做到 3B 规模(Llama3.2 3B),跨模型实验也只覆盖 8B 教师→2B 学生组合,远未触及 70B+ 前沿模型;第二,全程使用 LoRA(r=64)微调而非全参数优化,可能限制最终性能上限。读者还应注意 byte-level 概率近似本身引入的 JSD≈0.0045 误差会在多 token 序列上累积放大;此外教师 byte 概率需离线预计算(在 4×RTX 3090 上花约 2 天算完全部 Tulu-3 集),这是工程上的额外负担。BLD 在 IFEval 上的断崖式下降(30.58 vs 原模型 66.31)也提示蒸馏过程对指令格式的结构化输出存在系统性损伤。
独立分析的弱点
独立分析 BLD 存在三个具体弱点。其一,IFEval 弱:在 Llama3.2 3B→Qwen2 实验中 BLD 仅 30.58,而原模型 66.31、MinED 62.83,说明 token 级 CE 与字节级 KL 联合优化时,主输出头对结构化指令格式的学习被字节级梯度挤压——改进方向是降低 KL 权重 $\lambda_{KL}$ 或分阶段先做字节级蒸馏再做 SFT 恢复。其二,结果不一致:BLD 在 GSM8K(62.55)上最佳但 MATH(20.08)落后 SFT 2.32 点,说明字节级对齐对推理结构化但语义浅的任务有利,对复杂符号推理反而可能引入噪声;改进方向是 task-adaptive 蒸馏或对数学语料单独加权。其三,byte-head 容量受限:10 个并行线性层只能预测前 10 个字节,对超长 token(如某些 BPE 子词)的尾部字节无监督,损失了部分 byte 概率信息;改进方向是用小型自回归 byte Transformer 替代 10 个并行线性层。
未来方向
作者明确提出的方向包括:(1)用 byte-level Transformer 替换当前简单的 10 头线性层,以建模 byte 间的序列依赖;(2)把 BLD 扩展到 70B+ 规模验证是否仍保持竞争力;(3)尝试全参数微调而非 LoRA 看是否能进一步缩小与原始模型的差距。基于成果可延伸的方向还包括:把字节级接口与 token 级接口在训练后期融合(如知识蒸馏中的 self-distillation),用 BLD 做 teacher ensemble(不同分词器的多个教师),以及把 Vieira 等 (2025) 的快速 byte-prob 近似算法进一步压缩到 1 秒/样本以内以降低工程门槛。
复现评估
复现评估中等偏难。论文明确公开了训练超参(Table 4:LoRA r=64,AdamW lr=2e-5,5 epoch,bs=2×4 grad-accum,max_seq=512,$\lambda_{KL}=0.1$,$\lambda_b=1.0$)、数据集(Tulu-3 SFT mixture 与 OpenMathInstruct-2)、教师模型(Llama3.2 3B IT、OpenMath2-Llama3.1-8B)、验证集(no-robots split)。但 byte-level 概率估计依赖 Vieira et al. (2025) 的开源实现,其 beam-search 参数 $K=10, \epsilon=0.01$ 与 JSD 评估细节需要在附录 C 自行实现。算力门槛为 4×RTX 3090 上预处理 Tulu-3 需约 2 天,蒸馏训练本身在标准 8×A100 上约 1-2 天/任务——对学术实验室可行但对个人研究者门槛较高。代码方面作者未明确声明开源链接,复现需自行实现 byte 概率算法与 byte-level head。
论文图表
同样的七项 benchmark 上比较五种方法。所有方法相对原模型大幅退化(MMLU 降约 21 点,ARC-C 降约 13 点);BLD 仅在 PiQA (67.52) 上微弱领先,其余方法各领跑一两个 benchmark,差距很小。
展示字节级分词器替换的极限难度,凸显 CTD 仍是未解难题。
在 GSM8K 与 MATH(zero-shot CoT)上比较 SFT、ALM+SFT、BLD(Ours)。BLD 在 GSM8K 达 62.55±1.33 最佳,在 MATH 上 20.08±1.82 落后 SFT 的 22.40±1.87;与教师 OpenMath2-Llama3.1-8B(GSM8K 87.26, MATH 37.60)相比仍有显著差距。
这是论文唯一跨模型、跨分词器的蒸馏实验,体现 BLD 在异构模型间的真实价值。