低比特N-Gram嵌入:为语言模型节省75%表格内存

低比特量化n-gram嵌入表可节省75%内存并保留99%性能增益。
本文介绍了一项针对大模型 n-gram 嵌入表内存开销过大的研究。n-gram 嵌入表存储短 token 序列的学习表示,参数量极其庞大,如 DeepSeek-V4.1-Flash 的 Engram 模块就占用 1960 亿参数。研究提出用低精度存储 n-gram 嵌入,系统考察了不同量化方法和跨表比特分配策略。实验表明,四比特表可节省约 75% 的表格内存,同时保留超过 99% 的验证损失改善;更低比特会带来性能下降,但短暂微调可恢复相当一部分损失。将节省的内存再投资于更大的表,甚至能超越原始全精度表的表现。在 DeepSeek-V4.1-Flash 和 Qwen3.8-Flash-Next 上,低比特表节省了 47% 至 55% 的表格内存,困惑度上升不到 1.2%,下游任务表现基本保持。该研究为内存敏感场景提供了实用的压缩与再分配方案。
语言模型的性能提升往往伴随着内存开销的急剧增长,n-gram嵌入表就是其中一个典型代表。DeepSeek-V4.1-Flash 的 Engram n-gram 记忆模块就占用了 1960 亿参数,这种规模让不少研究者和开发者望而却步。一项新研究提出用低精度存储 n-gram 嵌入,在保持性能的同时大幅压缩内存占用,为这一矛盾提供了可行的解决路径。
为什么 n-gram 嵌入表如此耗内存?
许多近期开源的权重模型会使用 n-gram 嵌入表来提升表现。这类表存储的是短 token 序列(比如连续两个或三个 token)的学习表示,模型在处理时按需检索。问题在于,这些表的参数量极其庞大。原文数据显示,DeepSeek广告-V4.1-Flash 为其 Engram n-gram 记忆分配了 1960 亿参数——这已经接近甚至超过许多完整模型的规模。
研究团队的核心问题是:能否在保留 n-gram 表带来的性能增益的前提下,降低这部分内存成本?他们的答案是肯定的,思路是将 n-gram 嵌入以低精度存储,并系统性地考察不同量化方法和跨表的比特分配策略。

n-gram 嵌入表与 Transformer 中常见的词嵌入表在机制上相似,但规模差异巨大。词嵌入表的大小约为词表大小乘以嵌入维度,通常在数万到数十万行量级;而 n-gram 表需要覆盖 token 序列的组合空间,二元组(bigram)的潜在组合数可达词表大小的平方,三元组则更高。因此,即便对高频组合做裁剪,n-gram 表的行数也常常达到数十亿甚至上千亿级别,每行再乘以嵌入维度,参数量便迅速膨胀。此外,这类表通常以全精度(如 FP16 或 BF16)存储,进一步放大了内存占用。这正是低比特量化能够带来显著收益的根本原因:表的参数量本身极大,且其中大量条目在训练中出现频次较低,对精度损失的容忍度相对较高。
四比特量化:保留99%性能,节省75%内存
研究在 nanochat、Llama 和 GPT-2 系列模型上从头训练,验证了低比特 n-gram 表的实际效果。结论相当直接:四比特表节省了约 75% 的表格内存,同时保留了加入 n-gram 表所带来的验证损失改善的 99% 以上。
这意味着,原本需要大量内存才能换来的性能提升,现在可以用四分之一的存储成本获得。对于资源受限的训练和部署场景,这个比例足以改变模型设计的取舍。
进一步降低比特数会带来更明显的性能下降。不过研究也发现,短暂的微调阶段能够恢复相当一部分损失。这为极端内存受限的场景留出了操作空间——先以更低精度存储,再通过少量微调把性能拉回来。
量化是将模型参数从高精度浮点数(如 FP16)映射到低精度表示(如 4 比特整数)的过程,通常配合缩放因子和零点来实现。4 比特意味着每个参数仅占 0.5 字节,相比 FP16 的 2 字节,理论压缩比为 4 倍,对应约 75% 的内存节省,这与文中数据一致。量化方法大致分为训练后量化(PTQ)和量化感知训练(QAT)两类:前者直接对已训练好的表做低精度转换,成本低但可能损失精度;后者在训练中模拟量化误差,效果更好但需要额外训练。文中提到的“短暂微调恢复损失”属于一种轻量级的后处理补偿,通过在低精度表上继续训练少量步数,让模型适应量化带来的扰动。跨表比特分配则是指在多个 n-gram 表之间不均匀地分配比特预算,例如对更重要的表使用 4 比特、次要的表使用 2 比特,从而在总内存约束下优化整体性能。
把省下的内存再投资:更大的表反而更强
低比特量化不只是省钱的手段,还能转化为性能优势。研究指出,将节省下来的内存重新投入到更大的表中,可以取得超越原始全精度表的表现,同时整体内存占用仍然更低。
这个思路值得关注:内存预算不变的情况下,用低精度换来的空间扩大表规模,等于用同样的成本买到了更强的 n-gram 记忆能力。对于模型架构设计而言,这提供了一种新的分配策略——不是单纯压缩,而是重新分配。
在现有大模型上的验证:节省47-55%表格内存
研究没有停留在从头训练的小模型上。在 DeepSeek-V4.1-Flash 和 Qwen3.8-Flash-Next 这两个已有大模型上,低比特表节省了 47% 到 55% 的表格内存,困惑度上升不到 1.2%,下游任务表现基本保持。
这个结果的意义在于,低比特 n-gram 嵌入不只是一项训练时的优化技巧,也可以直接应用于已有模型的压缩和改造。困惑度增幅控制在 1.2% 以内,对于大多数实际应用来说是可以接受的代价。
对模型设计的启示
这项研究把低比特精度确立为降低 n-gram 嵌入内存需求的实用方法,并且展示了用节省出的容量提升模型性能的路径。结合四比特保留 99% 性能增益、大模型上节省近半内存且困惑度微增的数据,可以预见低比特 n-gram 表会成为内存敏感场景下的常规选项。
对于关注模型效率的团队,值得进一步探索的方向包括:不同表之间的比特分配策略如何随模型规模变化,微调恢复损失的最短时长,以及在更多模型家族上的泛化表现。原文在这些方面给出了系统性实验,为后续工作提供了可复现的基线。
相关推荐

M&M's斥资数百万换掉人工蓝色素,为什么这么难?
玛氏公司投入数百万美元,试图用螺旋藻天然色素替代M&M豆中的人工蓝色素,却因物料浓稠堵塞管道、残留物引发霉菌风险而被迫改造整条产线。本文解析这场配方迁移背后的工程难题、消费者与监管推力,以及"无人工色素不等于健康"的清醒判断。

Meta全球AI开发者黑客松组队需求:计算机视觉与医疗AI方向
Reddit开发者发帖为Meta Global AI Developer Hackathon招募队友,方向聚焦计算机视觉与医疗AI。本文分析这一组队信号背后的赛道逻辑、技能互补需求与黑客松选题策略。

Claude 多个模型报错:Fable 5.1、Sonnet 5.5、Haiku 5.5 故障复盘
Claude Fable 5.1、Sonnet 5.5、Haiku 5.5 及 Opus 5.5 fast mode 出现错误率升高,官方 17 分钟内完成定位与恢复。本文梳理故障时间线、多模型连带故障的技术原因,以及对开发者重试与降级策略的实际启示。