news 2026/10/30 2:27:09

为什么排除 visual、o_proj 和 mtp?Qwen3.6-35B-A3B-w8a8c8-mxfp8 量化取舍策略完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
为什么排除 visual、o_proj 和 mtp?Qwen3.6-35B-A3B-w8a8c8-mxfp8 量化取舍策略完整指南
  • 大模型
  • 模型量化
  • 人工智能
  • 多模态
  • Qwen
  • Ascend

【免费下载链接】Qwen3.6-35B-A3B-w8a8c8-mxfp8

项目地址:https://ai.gitcode.com/Eco-Tech/Qwen3.6-35B-A3B-w8a8c8-mxfp8
点击查看免费下载

🔍Qwen3.6-35B-A3B-w8a8c8-mxfp8是 Qwen3.6-35B-A3B 的 W8A8C8 MXFP8 量化版本,面向昇腾 NPU 推理场景。在它的量化配置里,有三个模块被特意排除在量化之外:visual(视觉编码器)、o_proj(注意力输出投影)和 mtp(多词元预测层)。为什么是这三个?本文带你一步步看懂这套"取舍策略"背后的逻辑。

量化了什么:先看 include 和 exclude 规则

量化范围全部由 Qwen3.6-35B-A3B_best_practice.yaml 中的linear_quant进程定义。核心规则如下:

配置项规则含义
include*self_attn*量化注意力模块(q/k/v 投影等)
include*mlp.experts*量化 MoE 专家层(模型参数量大头)
exclude*visual*保留视觉编码器为高精度
exclude*self_attn.o_proj*保留注意力输出投影为高精度
exclude*mtp*保留 MTP 层不参与量化

量化策略本身是:权重与激活均为mxfp8,采用per_block 范围 + minmax 对称量化(详见 Qwen3.6-35B-A3B_best_practice.yaml)。

理解取舍的关键在于先认识 Qwen3.6-35B-A3B 的结构(见 config.json):

  • 40 层文本主干:每层含 256 个 MoE 专家(num_experts: 256),每 token 激活 8 个,专家 FFN 是参数量和算力的绝对大头;
  • 27 层视觉塔(vision_config.depth: 27):负责把图像 patch 编码成视觉 token,是多模态理解的第一步;
  • 1 层 MTP 层(mtp_num_hidden_layers: 1):多词元预测辅助层,通常只在投机解码等特定路径使用。

📌 一句话总结:参数多、算力占比大的模块(experts、注意力投影)全力量化;参数少、精度敏感或很少执行的模块(visual、o_proj、mtp)保持高精度。

排除 visual:视觉编码器为何"刀下留情"?

*visual*对应视觉编码器(ViT 结构,27 层)。排除它主要有三点考虑:

  1. 参数量占比小,量化收益低35B 级别 MoE 模型里,视觉塔只占很小一部分参数。量化它节省的显存几乎可以忽略,"投入产出比"很差。

  2. 感知任务对精度敏感视觉编码器做的是图像细节感知(文字、纹理、物体轮廓)。低比特量化会引入系统性数值偏差,很容易导致 OCR、图表理解等细粒度能力明显退化——而这些恰恰是多模态模型的卖点。

  3. 与文本主干的量化收益不对称MoE 专家层每个 token 都会执行,是吞吐瓶颈所在;视觉编码只在输入预处理阶段跑一次。把量化预算集中在"高频执行"的文本层上,才是收益最大化的选择。

💡 效果:视觉侧保精度 + 文本侧提性能,两全其美。

排除 o_proj:注意力输出为何不能"省"?

*self_attn.o_proj*是注意力的输出投影层——q/k/v 完成注意力计算后,结果要经过 o_proj 才能流入下一层。它被排除的原因:

  1. outlier(离群值)的集中地注意力输出是各 token 加权和的结果,数值分布中的离群点会在这里进一步放大。低比特量化对离群值最"吃亏",量化 o_proj 是公认容易掉精度的重灾区。

  2. 误差会逐层放大o_proj 的输出直接进入 LayerNorm 和后续残差流,任何量化噪声都会沿 40 层网络传播放大。相比之下,它本身的参数量(2048×2048 级别的投影)占比很小,省下的收益有限。

  3. 业界通行做法的验证从 LLM.int8() 到各类混合精度方案,"保护输出投影"一直是被反复验证的经验规律。这份 YAML 的排除列表正是该策略在昇腾 MXFP8 路线上的落地。

排除 mtp:用不到 1 次的层,何必量化?

*mtp*指Multi-Token Prediction(多词元预测)层。在 config.json 中可以看到mtp_num_hidden_layers: 1,即模型额外带了 1 层 MTP。排除它的逻辑更直接:

  1. 常规推理路径不执行 MTP 层标准自回归解码只走主干 40 层,MTP 层仅在投机解码等特定场景才被调用。为一个"平时不跑"的模块做量化适配,收益趋近于零。

  2. 避免引入不确定的精度风险保留 MTP 为高精度,既不影响推理性能,也保证了未来启用投机解码时的输出质量。

  3. 降低部署复杂度对推理框架(如 vLLM_Ascend)来说,少一类需要特殊算子支持的量化模块,兼容性和稳定性都更好。

顺带一提:fa3_quant 的精细量化策略

YAML 中还有一个fa3_quant进程(Qwen3.6-35B-A3B_best_practice.yaml),对注意力算子内的 Q/K/V 分别量化:

对象范围(scope)说明
fa_qper_blockmxfp8 块级量化
fa_kper_blockmxfp8 块级量化
fa_vper_channel按通道量化,粒度更细、精度更稳

注意它同样排除了*linear_attn*——该模型采用混合注意力结构(见 config.json 中linear_attention与full_attention交替的 40 层布局,每 4 层一次 full attention),线性注意力层不走 FA3 量化路径。

精度验证:取舍策略换来的"零损失"

这套策略最终效果如何?README.md 给出了 AIME2026 数学基准的测试数据:

模型量化格式数据集测试精度官方精度
Qwen3.6-35B-A3B-w8a8c8-mxfp8W8A8C8-MXFP8AIME202692.67%92.7%

量化后精度与 BF16 官方精度仅差 0.03 个百分点,基本可以视为"无感"量化——这正是精准排除 visual、o_proj、mtp 三个敏感模块的价值所在。

如何复现这套量化(快速上手)

按照 README.md 的说明,只需两步:

  1. 安装依赖版本:pip install transformers==5.2.0
  2. 执行量化命令(NPU 设备):
msmodelslim quant \ --model_path {权重路径} \ --save_path {量化权重路径} \ --device npu \ --model_type Qwen3.6-35B-A3B \ --config_path {yaml配置路径} \ --trust_remote_code True

仓库内已附带完整的量化产物:10 个分片权重文件(quant_model_weights-00001-of-00010.safetensors 至 quant_model_weights-00010-of-00010.safetensors)、权重索引 quant_model_weights.safetensors.index.json、分词器配置(tokenizer.json、vocab.json)以及 generation_config.json 等,拿到即可部署。

总结:三句话记住取舍策略

  • ✅visual 排除:参数量小 + 感知任务精度敏感,量化得不偿失;
  • ✅o_proj 排除:outlier 重灾区 + 误差逐层放大,行业通用的精度保护点;
  • ✅mtp 排除:常规解码路径不执行,量化收益趋近于零。

量化不是"一刀切",而是把每一比特都花在刀刃上——高频执行的 MoE 专家和注意力投影全力压到 mxfp8,敏感且低频的模块保持高精度,最终用 0.03% 的精度代价换来了 NPU 上的高效推理。

📚 相关文件参考:Qwen3.6-35B-A3B_best_practice.yaml(量化规则)、config.json(模型结构)、README.md(复现步骤与精度数据)。

  • 大模型
  • 模型量化
  • 人工智能
  • 多模态
  • Qwen
  • Ascend

【免费下载链接】Qwen3.6-35B-A3B-w8a8c8-mxfp8

项目地址:https://ai.gitcode.com/Eco-Tech/Qwen3.6-35B-A3B-w8a8c8-mxfp8
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/30 2:26:28

浏览器网页加载流程抓包复现

在进入实验室之前,我们已经浅浅学过计算机网络原理,大概了解了网络如何运行,了解TCP/IP四层模型和OSI七层模型,那么,数据从浏览器到服务器经历了哪些层?HTTP请求和响应长什么样?为什么输入网址后…

作者头像 李华
网站建设 2026/10/30 2:25:49

记一次 PGP 驱动残留导致的开机蓝屏修复

输对 BitLocker 48 位恢复密钥,磁盘显示已解锁,然后——蓝屏,无限循环。朋友的笔记本就这么折腾了我一整天,最后发现元凶是一个 2010 年的老软件残留驱动。这篇把从 BCD 重建到 UpperFilters 残留排查的完整过程记下来&#xff0c…

作者头像 李华