文章《敏感性感知量化详解》的主标题卡片,副标题为《OrcaSAQ 如何决定哪些 MoE 权重获得更多比特——无需校准集》,展示了一个扁平线条图标风格的天平,较重的一侧放着几个大而圆润的蓝色立方体,较轻的一侧放着许多小的灰色立方体。
Guides & Insights

敏感性感知量化详解:OrcaSAQ 如何决定哪些权重获得更多比特

作者

Alistair Wren

发布日期

最新模型 · 20查看全部模型
基准测试:Artificial Analysis · 每日更新
返回全部文章

敏感度感知量化是一种把比特预算花在刀刃上的做法:受量化影响最大的张量会获得更多比特,其余张量则保持在较低的基础位宽。本文介绍 OrcaSAQ——我们随GLM-5.3-Flash量化系列orcarouter/GLM-5.3-Flash-MLX一起发布的免校准、架构感知的混合精度方法——如何决定在拥有 3200 亿参数的混合专家(Mixture-of-Experts,MoE)模型的 37,338 个张量中,哪些值得获得额外比特,整个过程完全无需校准数据集。对于任何正在量化其他 MoE 模型的人来说,可迁移的经验是:共享专家和下行投影值得获得额外比特,而你只需利用上游发布版本自带的量化元数据就能找到它们。

简短的回答

敏感性感知量化是一种带策略的混合精度方法:每个张量的位宽遵循其对量化误差的敏感程度,而非对整个模型使用同一位宽。研究文献通过Hessian矩阵、Fisher信息或原始层输出与量化层输出之间的散度来衡量敏感性,然后将位分配给受影响最大的层。OrcaSAQ属于一个完全跳过这种测量的较小家族。它直接在架构本身中编码敏感性排序:它使用架构先验和张量角色先验来决定哪些权重是脆弱的,然后以目标基础精度量化其余所有内容。

这给你带来的是快速、确定性、零校准的流水线。无需组装校准语料库,无需逐层敏感度搜索,也无需针对每个模型重新调参,因此同一套配方可以在新架构权重发布当天迁移过去。它放弃的是适配性:像 GPTQ 或 AWQ 这类由校准驱动的方法会查看你的模型和数据实际激活分布,并且通常会在相同的平均位宽下挤出更多质量。OrcaSAQ 的赌注是,对于混合专家模型,张量的角色能告诉你大部分校准运行所能提供的信息,而成本只是其一小部分。

找出敏感权重的两种方法

在制定策略之前,问题是:你如何知道量化会损害哪些张量?这两个答案就是整个设计空间。

校准驱动。将一个小型语料库输入模型,测量每个张量或模块造成的误差,并分配比特数以最小化总重构误差。GPTQ 使用基于 Hessian 矩阵的近似来计算每层量化误差;AWQ 使用激活统计信息来识别需要保护的关键权重。其优势在于适应你的实际数据;代价是需要精选语料库、对每一层进行前向传播和逆 Hessian 求解,并且结果会随校准集的变化而发生偏移。

免校准。在查看任何数据之前,根据架构确定敏感性排序。在 MoE 中,你已经知道承重角色:每个 token 都会触发的专家,以及写入残差流的投影。将该排序编码为固定策略,然后机械地执行。

OrcaSAQ 坚定地站在第二阵营,这篇文章就是对 MoE 量化中该阵营的辩护——并清醒地说明了为此你需要放弃什么。

策略:哪些张量获得更多比特

OrcaSAQ 的位分配策略在模型卡中说明,适用于orcarouter/GLM-5.3-Flash-MLX,并且可归结为三条规则加一个例外。该基础精度就是您正在构建的版本——6、4、3 或 2 位——并且该策略会将特定张量角色提升到该精度之上:

共享专家:基础 +2 位。 共享专家在每个 token 上触发,因此其量化误差会重放到模型产生的每一个输出中。它是模型中影响力最大的张量,并且获得最多的位。

down_proj:基础 +1 位。在 SwiGLU MLP 块中,下投影是残差瓶颈——其输出会被直接加到残差流中,而每个更深层都会读取该残差流。此处的误差会直接破坏所有下游层看到的内容。

gate_proj 和 up_proj:基础精度。 这些是扩展路径和门控路径;它们的输出在激活函数内部逐元素相乘。适度的误差会被门控部分抵消,因此它们能容忍基础位宽。

从未量化,以 BF16 格式存储: 34 个线性注意力层、学习到的稀疏索引器、超连接数组、归一化层、embed_tokenslm_head以及整个视觉塔。这些在上游发布版本中并非 FP8,它们保持全精度。

位数向上取整到 MLX 支持的最接近的宽度:{2,3,4,5,6,8}。具体来说,在 GLM-5.3-Flash 上——总参数 320B / 激活 18B,288 个路由专家加 1 个共享专家,采用 top-8 路由,共 45 层——4-bit 版本为共享专家分配 6 位,每个下投影分配 5 位,门控和上投影分配 4 位。6-bit 版本将下投影向上取整到 8 位。4-bit 和 6-bit 版本的组大小为 64,2-bit 和 3-bit 版本为 32,共享专家始终使用 64。

OrcaSAQ bit-allocation policy card titled 'OrcaSAQ — the bit-allocation policy' on GLM-5.3-Flash, listing the rules 'shared expert base +2 bits', 'down_proj base +1 bit', 'gate_proj / up_proj base', 'never FP8 upstream BF16', with a concrete 'At a 4-bit base' column showing shared expert 6 bits, down_proj 5 bits, gate/up projections 4 bits, and BF16 for the linear-attention path, indexer and vision tower, plus a footer citing the orcarouter/GLM-5.3-Flash-MLX model card

共享专家规则值得吗?在2-bit基座下,共享专家占据4位;在6-bit基座下,它占据8位——两种情况下,额外多出的两位所消耗的内存,本来都可以供路由专家使用,而模型卡自己的数据(下文会讨论)表明这种取舍是划算的。这与让2bit-lite构建值得发布的理由相同:始终活跃的专家,正是投入一点额外精度就能换来最大收益的地方。

选择规则:_scale_inv作为自由灵敏度信号

位分配策略假定您已经知道哪些张量是候选对象。选择这一集合正是 OrcaSAQ 最精妙之处,因为该规则是机械式的,无需任何数据:当且仅当 FP8 版本随附了 _scale_inv 伴随张量时,该张量才会被重新量化。

为什么这样可行:上游的 GLM-5.3-Flash 基座是 FP8——按块e4m3,128×128 块,采用动态激活方案。按块 FP8 量化会将每个块的缩放因子及其倒数与权重一同存储;检查点中存在_scale_inv这一持久标记,表明该张量在上游经过了量化流程。上游发布版本已经告诉你哪些张量可以安全量化——无需 Hessian 矩阵、无需校准语料、无需前向传播。

对于 GLM-5.3-Flash,该集合包括 MoE 和 dense-MLP 线性层,以及每个的四个投影deepseek_sparse_attention 块 — q_a_projq_b_projkv_a_proj_with_mqao_proj — 跨越深度 3、7、11 … 43 的 11 个稀疏层,加上 MTP 块,共 12 × 4 = 48 个张量。其他所有内容从未带有该标记,保持 BF16:34 个linear_attention 层、稀疏索引器和视觉塔。MTP 层 — 第 45 层 — 包含在量化权重内部,而不是作为单独模块导出。

值得借鉴的要点在于这个技巧本身。一个在发布流程上游就对权重进行量化的模型,早已完成了大量关于“哪些内容可以被量化”的决策工作;_scale_inv标记就是那个决策,被序列化到文件格式中。OrcaSAQ 将其读回。这正是该流程具有确定性和可移植性的原因——任何发布带有缩放元数据的 FP8 权重的模型,都可以用同一套规则处理,完全无需数据管道。

OrcaSAQ selection-rule card titled 'OrcaSAQ — the mechanical selection rule' showing the rule 'Re-quantize a tensor iff the FP8 release shipped it with a _scale_inv companion', with a 'Quantized (had _scale_inv)' column listing the MoE and dense-MLP linears, 11 sparse layers x 4 projections at depth 3, 7, 11 … 43, the MTP block, 12 x 4 = 48 sparse-attention projection tensors and 37,338 tensors total, and a 'Never FP8 upstream (BF16)' column listing 34 linear-attention layers, the sparse indexer, hyper-connections, norms, embed_tokens, lm_head and the vision tower

陷阱:按模块配置,而非顶层位。

如果你编写自己的MLX量化器——而本节的读者正是这类人——模型卡中最有用的一条信息就是警告:顶层的bitsgroup_sizeconfig.json中是不够的。

总共量化了 37,338 个张量。分配记录于 config.jsonquantization 中,作为按模块的 {group_size, bits} 覆盖项,以 MLX 模块路径为键——例如 model.layers.3.mlp.switch_mlp.down_proj。由于 MLX 会将一层的路由专家融合为一个 switch_mlp,173 个条目涵盖了全部 37,338 个张量。

加载器会在加载时读取这些条目。如果你以基础位宽量化整个文件,每一个被提升精度的张量——基础位宽+2的共享专家、基础位宽+1的每个下投影——都会以错误的位宽出现,导致模型以错误的形状加载。逐模块映射不是可以跳过的优化;它就是加载路径本身。当你编写自己的量化器时,为策略提升的每个张量生成覆盖项,并在发布前对照顶层默认值进行验证。

这份保单能收回成本吗?

这些证据是我们自己的,基于单个模型 GLM-5.3-Flash 测得:每个构建都经过反量化,并通过相同的 glm5_next 前向传播运行,因此唯一的变量就是量化方式。下面的数字来自模型卡,既不是厂商的基准测试,也不是第三方的数字——请把它们视为单一数据点,而非定律。

• 困惑度,与 FP8 参考值 2.7797 相比:6 位 2.7864(+0.24%),4 位 2.8620(+2.96%),3 位 3.0566(+9.96%),2 位 4.3622(+56.9%)。

• Top-1 token 一致率(与参考同序):97.76%、96.13%、92.06%、86.56%。

这一读数正是该策略所预测的。低至3-bit的一切都温和退化——这是比特预算花在正确张量上的标志——而2-bit则是断崖,因为低于某个临界点后,基于角色的提升不再能覆盖损害。在4-bit下,对于一个比FP8参考版本小约38%的构建,+2.96%的困惑度是一个真正划算的权衡;而正是同一策略被更激进地应用,才让102GB的2bit-lite构建得以加载。对同一基础模型进行量化的独立从业者报告了相同的排序——顶层梯级接近噪声底线,4-bit真实但温和——只是不同评估语料库得出的绝对数值不同。

OrcaSAQ quality card titled 'OrcaSAQ — quality versus the FP8 reference' listing perplexity versus the FP8 reference at 2.7797: 6-bit 2.7864 (+0.24%), 4-bit 2.8620 (+2.96%), 3-bit 3.0566 (+9.96%), 2-bit 4.3622 (+56.9%), with top-1 agreement 97.76%, 96.13%, 92.06%, 86.56%, and a footer noting these are OrcaRouter's own measurements on GLM-5.3-Flash, not vendor benchmarks

什么会迁移到你自己的MoE?

可复用的推理,适用于非本方的模型:

找出始终活跃的专家。凡是在每个 token 上都会触发的专家——通常是共享专家或始终被路由到的专家——都应获得你最慷慨的比特分配。它的误差会处处重现。

找出残差瓶颈。写入残差流的投影(通常是每个 MLP 块的向下投影)获得基础值 +1。每个更深层都会看到那里的误差。

将扩展路径和门控路径保持在基线状态。 如果某个输出在激活函数内部按元素相乘,其中的量化误差会被部分吸收。

上游从未量化意味着你也从未量化。如果基础版本以全精度保存这些张量,也请以全精度保存它们。

使用上游版本的缩放元数据作为你的选择规则。如果基础模型对其权重进行量化,它留下的缩放/逆缩放标记就是一张现成的可量化内容地图——无需进行敏感性搜索。

记录每个模块的覆盖项。全局位宽会在加载时使每个被提升的张量形状错乱。编写模块路径映射。

如果你能保有一组校准集,就用它来审计策略——而不是取代策略。以相同的平均比特数运行一次校准驱动的量化,并检查角色先验的排序是否与数据所表明的一致。对于稠密模型或全新架构,这种审计就是可辩护的默认值与猜测之间的差别。

OrcaSAQ 是错误选择的地方

这是应该让方法保持诚实的那一部分,因为无校准的交易是真实存在的。

当质量上限比流水线速度更重要,并且你拥有校准集时。 GPTQ 或 AWQ 风格的方法会适应你的模型和数据的实际激活统计信息,在相同平均比特数下,它们通常会优于固定的基于角色的策略。如果你只对模型量化一次且不再重新量化,额外的校准时间是一次性成本,却能换来可衡量的质量提升。

非MoE密集模型。 角色先验——共享专家、门控/上/下——不存在,因此策略失去了使其可信的结构。你只剩下了“上游量化的一切保持量化”这一较弱的论断。

没有FP8上游发布的模型。_scale_inv选择规则没有任何可参照的依据。你必须以其他方式确定可量化集合,而机械可迁移性的论点也随之崩溃。

全新的架构。先验正是那些可能不成立的假设。校准驱动的方法会检测到基于角色的策略遗漏的脆弱张量;而OrcaSAQ则不会,因为它从不查看。

低于3比特的目标。 该策略救不了你。在2比特下,无论额外比特分配到哪里,模型的困惑度都会增加56.9%;2bit-lite版本的存在是为了适配,而非质量。

当您需要保证时。 逐张量保证、量化感知训练 (QAT) 预算,或者在不考虑流水线成本的情况下为固定大小获得的最佳质量,都属于校准范畴。

底线

敏感性感知量化是这一实践;OrcaSAQ 是它的一种确定性、无需校准的配方。其中持久有效的经验包括共享专家层和下投影层的提升、机械式的 _scale_inv 选择规则,以及加载器真正读取的按模块配置。对于像 GLM-5.3-Flash 这样的 3200 亿参数 MoE,这一配方可生成困惑度仅增加 +2.96% 的 4 位 MLX 构建——而且 orcarouter/GLM-5.3-Flash-MLX 仓库以 2、3、4 和 6 位精度提供相同的策略,并为 128 GB 机器单独提供了 2bit-lite 构建。我们的 GLM-5.3-Flash-MLX 分步指南涵盖了在哪种机器上运行哪个构建版本,一步步操作。

如果您的首要目标是在固定大小下追求最后一点质量,并且您能够构建校准语料库,那么请使用校准驱动的工具,让它们自行适应。如果您的首要目标是可复现、快速、无需数据的量化方案,并且能够迁移到下一代架构——或者您根本不想构建数据流水线——那么基于角色的策略是一个合理的默认选择。而如果您宁愿一开始就不量化,那么全精度 GLM-5.3-Flash 通过 OrcaRouter 提供为 z-ai/glm-5.3-flash。选择的关键在于您愿意运行多少流水线,而不是敏感性感知量化是否值得做。

就是完全不想做任何量化吗?z-ai/glm-5.3-flash是在 OrcaRouter 上按提供商原价提供的全精度模型,零加价。

© 2026 OrcaRouter

推理服务商

运营推理平台?让您的模型上线 OrcaRouter。

providers@orcarouter.ai

加入我们的社区

Discordsupport@orcarouter.aiXGitHubYouTube