Vocab Diet: Reshaping the Vocabulary of LLMs via Vector Arithmetic¶
会议: ACL 2026
arXiv: 2510.17001
代码: GitHub
领域: 多语言翻译
关键词: 组合式词表, 向量算术, 形态学变换, 词表压缩, 多语言覆盖
一句话总结¶
本文发现 LLM 在嵌入空间中将词形变化(如 walk→walked)编码为线性方向,基于此提出组合式词表设计:用基础词+变换向量的加法组合替代为每个表面形式分配独立 token,在冻结预训练骨干的前提下仅训练小型适配模块,释放 10-40% 的词表槽位用于多语言扩展,同时几乎不影响下游性能。
研究背景与动机¶
领域现状:现代 LLM 普遍使用 BPE 分词算法,词表规模已超过 100K token。词表设计本质是资源分配问题:每个分配给某种语言或领域的槽位,都以其他覆盖范围为代价。近期研究发现词表在不同语言间分配严重失衡,负面影响模型成本和性能。
现有痛点:(1) 冗余分配:标准分词将形态相关的词形(walk, walks, walking, walked)视为独立 token,每个占据一个词表槽位。以 GPT-4 词表为例,24.6K 英语全词 token 去除大小写和屈折/派生变体后仅剩 14.3K 基础形式——42% 的冗余。(2) 多语言覆盖不足:大量词表槽位被高资源语言的表面变体占据,低资源语言覆盖严重不足。(3) OOV 问题:现有 14.3K 基础形式和变换可以组合出 98K 目前词表外的词汇,但标准词表无法利用这一结构。
核心矛盾:词表大小受内存和计算约束限制,但标准分词忽略了 LLM 嵌入空间中已经存在的线性形态结构——模型内部已将词形变化编码为简单的向量偏移,却在词表层面仍为每个变体单独学习嵌入。
本文目标:(1) 验证 LLM 是否能理解"基础词+变换向量"的组合式嵌入;(2) 构建组合式词表,释放冗余槽位;(3) 在后训练适配和从头预训练两种场景下验证可行性。
切入角度:从 word2vec 时代的向量算术(king - man + woman = queen)出发,系统验证 LLM 嵌入空间中形态变换的线性结构,并将其从分析工具提升为实用的词表设计方案。
核心 idea:用组合式词表替代扁平式词表——每个表面形式 \(w\) 由基础词 \(b_w\) 和一组变换 \(T(w)\) 组合而成:\(e_w = e_{b_w} + \sum_{t_i \in T(w)} e_{t_i}\),在输入和输出端同时应用,释放词表空间用于多语言扩展。
方法详解¶
整体框架¶
分为三个阶段:(1) 分析验证——使用 Patchscopes 探针验证 LLM 能否正确解读组合式嵌入;(2) 后训练适配——在已训练模型上用知识蒸馏微调变换向量并加 LoRA 适配器;(3) 从头预训练——验证组合式词表作为新模型设计选择的可行性。输入端将表面形式替换为基础词+变换向量的和,输出端将大 unembedding 矩阵拆分为基础词和变换两个独立投影。
关键设计¶
-
组合式词表表示:
- 功能:用共享的基础词和变换向量组合表示所有表面形式,压缩词表
- 核心思路:定义基础词词表 \(V_b \subset V_{orig}\)(包含规范词形和辅助 token)和变换词表 \(V_t\)(形态操作如时态、数等)。输入端:\(e_w = e_{b_w} + \sum_{t_i \in T(w)} e_{t_i}\);输出端:\(\text{logit}(w) = h \cdot u_{b_w} + \sum_{t_i \in T(w)} h \cdot u_{t_i}\),分别在基础词和变换上做独立投影再求和。变换向量初始化通过平均偏移量计算:\(o_t = \frac{1}{|R(t)|}\sum_{w \in R(t)} (o_w - o_{b(w)})\)
- 设计动机:利用 LLM 嵌入空间中已有的线性形态结构,将冗余的独立嵌入替换为共享的组合表示,同时支持词表内和词表外词汇的统一处理
-
Patchscopes 验证框架:
- 功能:验证 LLM 能否将组合式嵌入解读为预期的表面形式
- 核心思路:对每个可组合的词 \(w\),将其 token 嵌入替换为组合表示 \(e_w\),用 Patchscopes 提示生成文本描述,检查是否匹配目标词。在嵌入层(embed)和早期层去分词(detok)两个阶段分别评估。跨五种语言(英语、阿拉伯语、德语、俄语、西班牙语)和多个模型(Llama-3-8B、Qwen2.5-7B、OLMo-2-7B、ALLaM-7B、EuroLLM-9B)进行实验
- 设计动机:在将组合式词表投入使用前,需要验证模型是否"天然"理解这种组合——如果模型内部已经将词形变化编码为线性方向,那么组合式嵌入应该能被正确解读
-
两阶段知识蒸馏微调:
- 功能:在已训练模型上轻量适配组合式词表
- 核心思路:第一阶段冻结输出 unembedding,仅训练输入变换向量,用原始模型的预测作为蒸馏目标;第二阶段冻结输入嵌入,仅训练输出变换向量,用第一阶段得到的模型作为蒸馏目标。在最后 \(k=8\) 层加 LoRA 适配器(\(r=256\)),其余参数完全冻结。训练数据仅需 FineWeb-Edu 的少量样本(5M tokens)
- 设计动机:分阶段训练避免输入和输出端变换向量同时优化导致的不稳定;LoRA 仅加在最后几层,因为组合式表示主要影响输入/输出映射,中间层表示无需修改
损失函数 / 训练策略¶
使用知识蒸馏损失(KL 散度),以原始模型预测为软目标。后训练适配引入不到 0.001% 额外参数(变换嵌入)。从头预训练场景使用分解式预测:\(p(w|h) = p(b_w|h) \cdot p(T(w)|b_w; h)\),先预测基础词再条件预测变换。
实验关键数据¶
主实验 — 英语后训练适配(Llama-3.1-8B)¶
| 任务类别 | 任务 | 原始模型 | 组合式词表 | 差异 |
|---|---|---|---|---|
| 知识 | MMLU | 65.2 | 64.9 | -0.3 |
| 知识 | ARC | 53.6 | 52.5 | -1.1 |
| 阅读理解 | BoolQ | 83.2 | 83.3 | +0.1 |
| 阅读理解 | TriviaQA | 66.5 | 63.3 | -3.3 |
| 常识 | HellaSwag | 60.6 | 59.5 | -1.1 |
| 常识 | Winogrande | 78.1 | 78.6 | +0.5 |
| 平均 | 66.9 | 65.9 | -1.0 |
从头预训练实验(nanoGPT-124M)¶
| 语言 | 词表压缩 | BPB (基线) | BPB (组合式) | bytes/tok 变化 |
|---|---|---|---|---|
| 英语 | 41.6% | 1.08 | 1.09 | — |
| 西班牙语 | 41.8% | 1.00 | 1.11 | 4.77→4.92 |
关键发现¶
- 英语屈折变换(复数、时态等)在嵌入层即可被正确解读:复数名词 92%、过去时 71%、现在分词 83%
- 早期层去分词后准确率进一步提升:复数 96%、过去时 81%、现在分词 93%
- 关键区分:屈折变换(inflection)效果好,派生变换(derivation)效果差——derivation 在词表中很少作为单 token 出现,模型学到的线性结构较弱
- 多语言结果惊人:俄语大小写 97%、形容词屈折 100%(样本量小),表明非英语语言的线性结构可能更强
- 后训练适配仅损失平均 1.0 个点的下游性能,同时释放约 10K 词表槽位
- 从头预训练可释放 41% 词表槽位,BPB 仅增加 0.01(英语)
- 词表槽位重新分配后,四种语言的 bytes-per-token 平均提升 9.3%
亮点与洞察¶
- 揭示了一个深刻的现象:LLM 嵌入空间中的线性形态结构不仅存在于词表内词汇,对词表外词汇同样有效——模型从未见过 "walkable" 作为单个输入向量,但 "walk + -able" 的组合在早期层也能被正确解读(虽然派生类较弱)
- 词表大小与形态线性结构呈反比关系:词表越小,模型被迫更多地利用线性组合编码词形变化,线性结构越强。这为小词表的合理性提供了理论支撑
- 实用价值突出:释放的 10K 槽位可为每种目标语言分配 2.5K 专用 BPE token,仅此即可显著改善多语言分词效率(平均 +9.3% bytes-per-token)
局限与展望¶
- 派生变换(-able, un-, re- 等)的组合准确率低,当前方案只能处理屈折和大小写变换
- 依赖 UniMorph 形态学数据库构建分解映射,对无标注的语言不适用
- 后训练适配在阅读理解类任务(TriviaQA -3.3, SQuAD -2.1)上损失相对较大,可能因为这些任务更依赖精确的词形匹配
- 从头预训练仅在 124M 参数的小模型上验证,更大规模模型的效果待探索
- 输出端的分解预测增加了计算步骤,虽然实测仅减速 0.8%,但在极端延迟敏感场景仍需关注
相关工作与启发¶
- vs 词表扩展方法(如 Nakash et al., 2025): 这些工作通过直接添加新 token 来改善特定语言覆盖,但受制于词表总大小上限;Vocab Diet 通过压缩已有冗余来"腾出空间",与扩展方法互补
- vs Park et al. (2024) 的线性探针分析: 他们分析了 LLM 嵌入空间的线性结构但仅作为分析工具;Vocab Diet 首次将这种结构用于端到端语言建模的实际系统
- vs BPE 分词改进(如 Tao et al., 2024): 这些工作主张扩大词表以提升性能,但受限于计算成本;Vocab Diet 提供了一种在固定词表预算下提升效率的正交思路
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 从嵌入空间的线性形态结构出发重新设计词表,视角独到且开创性
- 实验充分度: ⭐⭐⭐⭐ 五语言五模型的验证全面,但从头预训练仅在 124M 模型上做
- 写作质量: ⭐⭐⭐⭐⭐ 论证链条清晰,从验证→后训练→预训练层层递进,图表精美
- 价值: ⭐⭐⭐⭐⭐ 对多语言 LLM 的词表设计有深远影响,既有理论洞察又有实用方案