跳转至

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 矩阵拆分为基础词和变换两个独立投影。

关键设计

  1. 组合式词表表示:

    • 功能:用共享的基础词和变换向量组合表示所有表面形式,压缩词表
    • 核心思路:定义基础词词表 \(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 嵌入空间中已有的线性形态结构,将冗余的独立嵌入替换为共享的组合表示,同时支持词表内和词表外词汇的统一处理
  2. Patchscopes 验证框架:

    • 功能:验证 LLM 能否将组合式嵌入解读为预期的表面形式
    • 核心思路:对每个可组合的词 \(w\),将其 token 嵌入替换为组合表示 \(e_w\),用 Patchscopes 提示生成文本描述,检查是否匹配目标词。在嵌入层(embed)和早期层去分词(detok)两个阶段分别评估。跨五种语言(英语、阿拉伯语、德语、俄语、西班牙语)和多个模型(Llama-3-8B、Qwen2.5-7B、OLMo-2-7B、ALLaM-7B、EuroLLM-9B)进行实验
    • 设计动机:在将组合式词表投入使用前,需要验证模型是否"天然"理解这种组合——如果模型内部已经将词形变化编码为线性方向,那么组合式嵌入应该能被正确解读
  3. 两阶段知识蒸馏微调:

    • 功能:在已训练模型上轻量适配组合式词表
    • 核心思路:第一阶段冻结输出 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 的词表设计有深远影响,既有理论洞察又有实用方案