专用词汇表如何将 SLM 推理成本降低 77%

来自 Hugging Face · 期号 2026-10-22

摘要

通用模型的词汇表是为多领域多语言设计的,用在单一领域时会产生两种浪费:高频短语被拆成多个 token,而大量用不到的词条每次生成都要参与计算。 生成 token 的成本远高于读取 token。在 Dharma-AI 的作文评分器上,生成一个 token 的成本是读取一个的 7.4 倍。因此,减少输出端的 token 数比减少输入端有效得多。 VocabX 从两个层面优化:在子词层重建领域词汇的切分方式,在多词层将重复出现的整段文本(如 JSON 外壳)合并为单个宏 token。两者都按成本而非频率选择。 在 Qwen3-4B 评分器上,响应 token 从 350 降至 101,推理成本降低 77%,评分准确率从 0.703 升至 0.810。论文即将发表。

深读

导读 通用大模型的词汇表是为多领域多语言设计的,用在单一领域任务上会产生两种浪费:高频短语被拆成多个 token,而大量用不到的词条每次生成都要参与计算。Dharma-AI 团队提出的 VocabX 方法,通过按成本而非频率重建词汇表,在作文评分器上将推理成本降低了 77%,同时评分准确率从 0.703 提升至 0.810。这篇文章详细拆解了 VocabX 的设计思路、与现有方法的对比,以及一个关键教训:压缩不能牺牲模型真正需要决策的 token。 关键信息 - 在 Dharma-AI 的葡萄牙语作文评分器(基于 Qwen3-4B)上,生成一个 token 的成本是读取一个 token 的 7.4 倍,原因是推理的 decode 阶段受内存带宽限制。 - VocabX 在子词层和多词层同时优化:子词层重建领域词汇的切分方式,多词层将重复出现的整段文本(如 JSON 外壳)合并为单个宏 token,两者都按成本而非频率选择。 - 在 Qwen3-4B 评分器上,响应 token 从 350 降至 101,推理成本降低 77.0%,bench score(评分准确率与离题作文筛除准确率的组合指标)从 0.703 升至 0.810。 - VocabX 在五个公开领域(合同、医学论文、科学论文、新闻、Python 代码)和三个模型家族(Qwen3、Llama-3.1、Gemma-3)的 15 种组合中,压缩率均超过最强的参考方法,领先 1.2 到 9.3 个百分点。 - 输出层的词汇表从约 152,000 行降至约 65,000 行,在 Qwen3-4B 中,LM head 矩阵约占模型总参数的 10%。 逐节讲解 通用词汇表在单一领域中的浪费 通用模型的 tokenizer(如 Qwen3-4B 的原始 tokenizer)是在多语言、多领域文本上训练的。当它被用于单一领域(如葡萄牙语作文评分)时,产生两种浪费:一是碎片化,模型最常写的文本(如 JSON 外壳、能力名称、评价短语)被拆成多个 token;二是冗余,词汇表中有大量该领域永远不会用到的词条(如中文 token),但模型在每一步生成时都要为它们计算概率。 生成 token 比读取 token 贵得多 推理分为两个阶段:prefill(预填充)阶段一次性处理整个输入,每个权重被所有输入 token 复用,瓶颈是算力;decode(解码)阶段逐 token 生成,每个 token 需要一次完整的前向传播,权重只被少数 token 复用,GPU 大部分时间在等待数据从内存中读取,瓶颈是内存带宽。小模型加中等批次的场景下,这种效应最明显。在评分器上,生成一个 token 的成本是读取一个的 7.4 倍。此外,LM head 矩阵(输出层)为每个词汇条目持有一行参数,在 Qwen3-4B 中约占模型总参数的 10…

读原文

本站只做摘要与索引,全部内容版权归原作者所有。