Hugging Face Blog

How Specializing the Vocabulary of SLMs Can Cut Inference Cost by 77% in Real Applications

7.1内容质量

TL;DR · AI 摘要

How Specializing the Vocabulary of SLMs Can Cut Inference Cost by 77% in Real Applications Back to Articles 0 Team Artic...

核心要点

  • 主题聚焦:How Specializing the Vocabulary of SLMs Can Cut
  • 来源:Hugging Face Blog,建议结合原文判断细节。
  • AI 分析暂不可用,本条为保底评分与摘要。
#AI#编程#前端#后端#安全
打开原文

通过专门化大语言模型的词汇表,实际应用中推理成本可降低77%

返回文章列表

[0

团队

]

文章

2026年10月21日发布

[-1

点赞

14

[

  • +8

Bernardo França de Aguiar

bernardoaguiar

关注

Dharma-AI

Gabriel Pimenta de Freitas Cardoso

GabrielPimenta99

Bruno Duarte

brunoduarte01

Francisco de Almeida Rocha Alves

falves9101

通过微调通用开源模型(如Qwen和Gemma)来专门化某个领域或任务的模型,会继承一个为多个领域和通用应用场景构建的词汇表。

在我们实际运行的作文评分系统中,这个词汇表会将模型生成的文本分割成大量标记。本文将提前展示VocabX论文的一些研究结果(我们即将发布该论文):我们如何围绕每个标记的成本而非频率来专门化词汇表,并在不改变基础模型的情况下将可测量的推理成本降低了77%。

分词器通常被视为基础模型的固定属性,被继承且保持不变。对于专注于单一领域的模型,它可能是影响成本的重要杠杆之一,并且在任何训练步骤之前就已经确定。

我们在生产环境中运行的系统之一是基于Qwen3-4B的葡萄牙语作文自动评分系统。它接收作文、提示和参考文本,并返回一个包含每个能力项评分和评语的JSON评估结果。

该模型本身已经很小,仅有40亿参数,并且已经针对该任务进行了训练。然而,它的分词器仍然是原始的Qwen3-4B分词器,该分词器是为多种语言和多种类型的文本构建的。在评分系统中,它仅用于单一语言(葡萄牙语)和单一响应格式。这带来了两个成本问题:评分器在每次请求中生成的文本需要的标记数量远多于实际需要的数量,而且在每次生成标记时,模型都需要对包含151,669个条目的词汇表进行计算,其中许多条目在该任务中几乎从不使用。

我们通过一种称为VocabX的方法重建了这个词汇表,同时保持了相同的基础模型、相同的数据和相同的训练方案。本文中的数字来自论文的当前版本(仍在审阅中),在出版前可能会有所更改。

为所有人构建的词汇表

领先的语言模型通过标记进行读写,而分词器决定了文本如何转换为标记。主流通用模型的分词器是在来自多种领域和语言的大量文本集合上训练得到的,从源代码到合同再到中文。对于通用模型来说,这种选择是合理的。

但对于用于单一领域的模型,这会同时产生两种浪费。

第一种是碎片化。分词器将领域中最常重复的内容分割成许多片段。在评分系统中,每个响应都以相同的JSON信封、相同的能力项名称和相同的评估短语开头。在合同中,这表现为标准条款;在代码中,这表现为标识符。这些序列本可以用一个标记表示,却需要多个标记,而模型在每次请求中都需要为每个标记付费。

第二种是冗余。词汇表中包含了该领域从不使用的数万个条目,而模型在每次生成标记时都需要为所有这些条目计算概率。一个专门用于评分美国学校生物考试的模型几乎不会使用中文,但会在每一步计算所有中文标记的概率。词汇表将领域中最常重复的内容分割成许多片段,同时携带了该领域从不使用的条目。

阅读成本低,生成成本高

自然的反应是统计令牌数量并尝试减少数量。但数量并不等于账单金额。

要理解为何生成的令牌成本更高,需要了解推理过程。它分为两个阶段。在预填充阶段,模型通过网络进行一次完整遍历处理整个输入:每个从GPU内存中读取的权重都会被每个输入令牌重复使用,限制因素是计算能力。在解码阶段,模型逐个生成响应令牌,每个令牌都需要完整遍历。每个权重读取仅被使用几次,GPU大部分时间都在等待内存中的数据:此时限制因素变为内存带宽。

这种效应在我们实际操作的场景中最为明显:小型模型以中等批量进行服务。批量处理请求会将权重读取分散到各个请求中,缓解问题但无法彻底解决。在每个解码步骤中,模型还会读取KV缓存(保存已处理上下文的注意力内存),该内存会随着处理过程增长。在我们测试的评分器案例中,生成的令牌成本是读取令牌的7.4倍,但这一比例会因硬件、问题类型、批量大小、上下文长度等因素而变化,有时甚至会更高。总体而言,这个趋势是成立的:生成成本高于读取成本。

设想一家航运公司,按箱子收费,但出库箱子的费用是入库箱子的七倍。减少总箱数有帮助,但减少出库箱子能带来七倍的节省效果。一种对输入和输出同等压缩的方法会错失大部分可能的节省机会。

账单的第三个组成部分是词汇表本身。模型的最后一层(LM头)将内部状态转换为每个可能令牌的得分。为此,它为词汇表中的每个条目保存一行参数。在Qwen3-4B规模的模型中,这个矩阵占参数总量的近10%。大型模型对此习以为常,但对小型模型来说却是个沉重负担。

而且成本并非只支付一次。输入层只需查找正在读取的令牌对应行,但LM头会在每个生成的令牌上读取并乘以整个矩阵。由于解码阶段已受内存带宽限制,每个额外行都会在每个步骤增加数据移动量。领域中从未使用过的词汇条目与高频词汇条目产生的成本完全相同。这就是为什么增加令牌数量可能同时降低数量统计却提高账单金额。VocabX在选择标准中未包含这一因素,但通过两步控制词汇量:子词合并用更小的领域专用词汇表替换基础词汇表,宏指令在固定预算下引入。在评分器案例中,输出层的行数从约152,000减少到约65,000。

现有方案的局限性

调整模型词汇表并非新概念。文献中已有的参考方法,如快速词汇迁移(FVT)、多词分词(MWT)以及Liquid AI的原地分词器扩展(in-place BPE,从原始词汇表继续BPE训练),已能减少碎片化。当我们在自己的问题上测试这些方法时,发现了两个局限性。

它们根据频率而非成本选择令牌。对于输入中高频出现的表达式,它们的估值高于响应中出现频率较低但服务成本更高的表达式。

他们仅在单一层面上进行操作。它们要么调整词语如何被分割成片段,要么将整个短语合并为一个标记。这三个方法在相同标准下均不会同时执行这两种操作。评分器最大的资源浪费恰恰出现在长且重复的片段中,例如 JSON 封装结构,而子词方法只有在逐一合并每个部分后才能覆盖这些内容。

我们如何解决这个问题

VocabX 同时解决了这两个限制,以及在解决第一个问题的明显路径上出现的第三个问题。

首先,我们改变了问题的定义。我们不再询问候选方案能节省多少标记,而是询问能节省多少成本和时间。每个被消除的标记都会乘以它所在字段的价格:系统提示、用户消息或模型响应。在我们测量的案例中,评分器上节省一个响应标记的价值是输入中节省一个标记的 7.4 倍,因此词表是根据这一比例构建的。

其次,我们同时在两个层面上进行操作。回到货运公司案例:你可以通过更优地打包每个物品来切割箱子,也可以通过识别每周都会运输的相同十二件套件并将其装入单个箱子来优化。VocabX 两者都做。在子词层面,它重新构建了领域词汇的分割方式。在多词层面,它寻找重复的完整片段,从简短表达到整行文本和 JSON 封装结构,将每个片段转换为单个标记,我们称之为宏标记。这两个层面的选择均基于相同的成本标准,各自拥有独立的预算。

为了找到这些片段,我们使用了五种挖掘工具,它们会自动搜索在语料库中重复出现的片段,每种工具专门针对某一类重复:长单词、整行文本、表达式、完整句子以及包含标点的结构(如 JSON 和标签)。在八个语料库的平均表现中,最后一种工具贡献最大,在代码语料库中单独贡献了 17.5 分。如果没有这五种工具,评分器的标记减少量将下降 55.6 分。

第三,我们估算样本无法看到的内容。按成本选择标记需要知道每个候选方案在已选标记之后仍能节省多少。精确测量这一点需要在每次选择后重新处理整个语料库,重复数万次。在大规模处理中常见的做法是基于文档样本进行测量,未被样本包含的候选方案则获得零收益。

一个在 50,000 篇文档中出现 37 次的表达式,在 400 篇文档的样本中仅约 26% 的概率会被包含。在合同语料库中,仅有 16.6% 的候选方案出现在 400 篇文档的样本中,其余从未被评估。

候选方案的收益包含两个部分。一部分是其在整个语料库中节省的总量,这部分可以精确计算,无需样本。另一部分是这部分节省中尚未被已选标记覆盖的部分,仅需对这一部分进行估算。对于样本无法看到的候选方案,我们基于样本中能看到的方案的行为进行统计估算,而非直接设为零。在样本中罕见但在语料库中频繁出现的候选方案将重新获得竞争力。

仅凭这一改变,在相同样本和相同预算下,合同语料库的标记减少率从 44.7% 提升至 52.8%。

评分器的改进

为了衡量实际效果,我们使用相同的基座模型、相同的数据、相同的训练方案和相同的随机种子,训练了七个版本的评分器。它们之间的唯一差异在于分词器。所有版本都在配备RTX 5090 GPU的相同测试机器上运行相同的500个请求,并使用vLLM推理服务器,成本根据实际运行时间计算。

模型的响应长度平均从350个标记降至101个。成本下降了77.0%。质量通过基准得分衡量,该指标结合了评分准确性和过滤离题或违反规则文章的准确性,从0.703提升至0.810。

实现这一目标需要调整方向。第一版词汇表将每个能力的评分与周围JSON合并为一个宏标记。这是最紧凑的方案,但质量下降:其基准得分为0.689,低于生产环境评分器的0.703。由于评分包含在宏标记中,每个评分与结构的组合都成为相同标记的不同变体,模型在单步操作中会同时选择所有变体。为评分单独分配标记使每个响应增加2个额外标记,但将基准得分提升至0.810,且在测量中成本更低:77.0%的降幅,优于融合版本的73.3%降幅。

这一经验教训不仅适用于评分器。当压缩的文本段包含模型存在的目的所作出的关键决策时,压缩会产生成本。目标不是最便宜的词汇表,而是能保留关键标记的最便宜词汇表。

超越评分器

为了验证收益是否具有普遍性,我们将VocabX与三种参考方法在五个公开领域(合同、医学论文、科学论文、新闻和Python代码)和三个模型家族(Qwen3、Llama-3.1和Gemma-3)上进行了比较。所有方法使用相同的挖掘文档、测试文档和词汇表上限。

在所有十五种组合中,VocabX的压缩效果都优于最强参考方法,压缩幅度为1.2到9.3个点。在预估推理成本方面,VocabX的精简版本在所有十五种组合中均领先,Qwen3平均领先10.2个点,Llama-3.1领先7.5个点,Gemma-3领先13.6个点。在合同领域,VocabX的精简版本在113,426个词汇表条目下实现了62.6%的标记减少率,优于最佳在位BPE配置(使用207,803个条目时的61.8%)。

仅为关键标记付费

VocabX不会让模型变得更聪明。它让模型停止为不需要逐字生成的文本付费,停止对永远不会使用的词汇表进行评分。在我们的评分器中,这在相同基座模型和相同训练方案下将测量推理成本降低了77%。

专业化通常从数据和权重开始。它也可以从更早的一层开始,即词汇表。

完整方法、所有实验的表格以及被弃用的干预措施将包含在即将发布的VocabX论文中。

参考文献

  • Dharma-AI. "VocabX: Cost-Weighted Vocabulary Adaptation for Domain-Specific Language Models." In preparation (2026).
  • Gee, Leonidas, et al. " Fast vocabulary transfer for language model compression ." EMNLP Industry Track (2022).
  • Gee, Leonidas, et al. "Multi-word tokenization for sequence compression." EMNLP Industry Track (2023).
  • Smith, Jimmy T.H., et al. " In-Place Tokenizer Expansion for Pre-trained LLMs ." arXiv:2607.15232 (2026).

进一步阅读

  • 同一集群,利用率提升33点:改变的是顺序
  • GPU管理:闲置GPU成为新的"地面飞机"
  • 为什么专业化是不可避免的
  • 专业化胜过规模:大多数AI采购决策忽视的战略变量
  • 文本退化:大多数基准测试未追踪的生产故障模式

在Hugging Face上探索Dharma AI,尝试我们的演示,下载开源模型,了解专用AI系统如何在实际企业应用中超越通用模型。

更多该作者的文章

同一集群,利用率高出33点:发生变化的是顺序

20

2026年8月17日

GPU管理:闲置GPU是新的“停飞飞机”

97

2026年7月30日

社区

编辑

预览

通过拖拽到文本输入框、粘贴或

点击此处

上传图片、音频和视频。

轻点或粘贴此处上传图片

评论

· 注册或登录以评论

  • +2