资讯动态

如何读懂GLM-5.3-Quark-MXFP4-AttnFP8的quantization_config:FP8 128×128分块与MXFP4 e8m0微缩放完整指南

发布时间:2026/10/20 4:06:18 来源:尧图企业网站定制
人工智能大模型基础模型模型量化模型优化【免费下载链接】GLM-5.3-Quark-MXFP4-AttnFP8项目地址https://ai.gitcode.com/hf_mirrors/amd/GLM-5.3-Quark-MXFP4-AttnFP8点击查看免费下载 本文带你逐行拆解GLM-5.3-Quark-MXFP4-AttnFP8的quantization_config这是 AMD 用 Quark 量化工具制作的 GLM-5.3 混合精度模型注意力层采用FP8 128×128 分块量化AttnFP8MoE 专家权重采用MXFP4 e8m0 微缩放。看懂这份配置你就能知道模型每一部分用什么精度存储、推理时激活值如何动态量化、哪些层被刻意排除在量化之外。 先认识这个模型混合精度从何而来项目说明架构GlmMoeDsaForCausalLM78 层前 3 层 dense其余 sparse MoE基础模型zai-org/GLM-5.3bfloat16 原始权重量化工具AMD Quarkquant_method: quark目标硬件AMD MI350/MI355ROCm 7.1.1vLLM 推理混合精度方案self_attn → FP8 128×128 per-blockrouter 专家 / 共享专家 → MXFP4名字本身就是答案MXFP4指 MoE 专家权重的 4-bit 微缩放格式AttnFP8指注意力投影层单独使用 FP8。整个策略写死在 config.json 的quantization_config字段里推理框架读取它就知道该怎么加载张量。 quantization_config 顶层结构6 个字段速览{ quant_method: quark, quant_mode: eager_mode, version: 0.13590e6247fae, global_quant_config: { ... }, layer_quant_config: { ... }, exclude: [ lm_head, model.layers.10.mlp.gate, ... ] }各字段职责一句话概括quant_method: quark— 声明量化后端vLLM 据此选择 Quark 量化器对应 vLLM 参数quantizationquark。quant_mode: eager_mode— 权重已真实量化export.weight_format: real_quantized加载即可用无需运行时转换。global_quant_config— 全局默认量化方案MXFP4未单独配置的层全部套用它。layer_quant_config— 逐层覆盖配置共439 条全部针对 self_attn 投影层改为 FP8。exclude— 排除清单共100 条这些层保持 bfloat16 原精度。layer_type_quant_config/kv_cache_quant_config— 本模型中均为空{}说明 KV cache 不做量化。配置解析遵循exclude → layer_quant_config → global_quant_config的优先级下面从全局默认方案讲起。 全局默认方案MXFP4 是什么配置字段逐行解读全局方案对权重和输入激活同时启用见 config.json{ dtype: fp4, qscheme: per_group, group_size: 32, scale_format: e8m0, round_method: half_even, observer_cls: PerBlockMXObserver, is_dynamic: false }1. dtype: fp4 — 4-bit 浮点权重MXFP4Microscaling FP4中每个权重只用4 个 bit表示e2m1 格式体积只有 bfloat16 的 1/4。对 256 个 routed 专家的 MoE 模型来说这是把超大模型塞进显存的关键。2. scale_format: e8m0 — 微缩放的核心这是 MXFP4 与普通 4-bit 量化最大的区别每32 个元素group_size: 32共享一个缩放因子该缩放因子不用普通浮点存储而是e8m0 格式——8 位指数、0 位尾数即缩放因子被对齐到最近的 2 的整数次幂好处是硬件可以直接用移位实现乘除无需查表GPU 上执行效率极高这正是 AMD MI350 一代硬件的强项。32 个 fp4 权重 ──共享──▶ 1 个 e8m0 缩放因子2 的整数次幂 ┌────────── block (32 elements) ──────────┐ ┌────────┐ │ w0 w1 w2 ... w31 (各 4 bit) │ │ e8m0 │ └─────────────────────────────────────────┘ │ scale │ └────────┘3. 其余字段含义字段值含义qscheme: per_group分组量化按group_size分组而非整张量一个 scalech_axis: -1分组方向沿最后一维输出通道维分组round_method: half_even舍入方式IEEE 754半值取偶量化误差更均匀observer_cls: PerBlockMXObserver观察器训练量化参数时按 MX 规则统计每个 32 元素块的范围scale_calculation_mode: evenscale 计算按 MX 规范取 2 的幂is_dynamic权重false/ 输入true关键差异权重 scale 是离线算好、随权重一起保存的静态输入激活的 scale 在每次推理时实时计算动态max_input_numel: 41943044194304 2^22单次动态量化张量的元素上限超过则分块处理为什么激活要动态量化输入激活分布随输入内容剧烈变化离线算好的 scale 必然失准而权重的分布在推理期间固定静态 scale 完全够用。is_dynamic一对布尔值就划清了这条线。 layer_quant_config439 条覆盖项如何把注意力换成 FP8全局方案是兜底layer_quant_config里的439 条逐层配置则把所有注意力投影层改成了FP8 128×128 二维分块量化。439 76 个 sparse 层 × 5 个注意力投影380 条 22 层 indexer 的wq_b/wk44 条。以 model.layers.23.self_attn.o_proj 为例{ input_tensors: { dtype: fp8_e4m3, qscheme: per_group, group_size: 128, is_dynamic: true, observer_cls: PerGroupMinMaxObserver }, weight: { dtype: fp8_e4m3, qscheme: per_block, block_size: [128, 128], scale_type: float32, observer_cls: PerBlock2DMinMaxObserver } }FP8 e4m3 权重block_size [128, 128] 二维分块fp8_e4m38-bit 浮点4 位指数 3 位尾数动态范围比 MXFP4 的 4-bit 大得多数值稳定性更好——注意力层对精度敏感所以这里加码用 FP8block_size: [128, 128]把 2D 权重矩阵切成 128×128 的小方块每块拥有独立 float32 scale。相比每行一个 scale二维分块能更贴合权重分布observer_cls: PerBlock2DMinMaxObserver离线按 2D 块统计 min/max 生成 scale。FP8 激活per_group 128 动态量化输入激活同样是fp8_e4m3但走per_group group_size 128的一维分组动态量化PerGroupMinMaxObserverscale 在每次前向时实时计算。为什么注意力必须用 FP8GLM-5.3 的注意力用了低秩分解q_lora_rank: 2048、kv_lora_rank: 512信号先被压缩再还原4-bit 量化噪声会被这个瓶颈放大。把 5 个投影矩阵q_a_proj/q_b_proj/kv_a_proj_with_mqa/kv_b_proj/o_proj单独提到 FP8是精度与显存之间的工程平衡点。 exclude 清单这 100 个层为什么保持 bfloat16exclude 列表 共 100 条分三类类别数量为什么排除mlp.gateMoE 路由门76 条路由决定激活哪 8 个专家sigmoid 分数上一点点量化噪声就可能改变专家选择必须高精度self_attn.indexer.weights_proj22 条属于 full 类型 indexer 层长上下文索引的精度敏感lm_headeh_proj2 条输出词表投影决定最终 token 分布是量化中最先出胡言乱语的地方这解释了模型名的由来exclude保住了路由 输出头的精度layer_quant_config保住了注意力的精度剩下的 MoE 专家权重才放心大胆地压到 MXFP4。 部署验证配置如何被 vLLM 消费按 README.md 的说明该模型在 vLLM 上以quantizationquark加载quantization_config中的 439 条层配置和 100 条排除项会被 Quark 量化器逐条应用。评估时使用export VLLM_ROCM_USE_AITER1 export VLLM_ROCM_USE_AITER_FP8BMM0 export VLLM_ROCM_USE_AITER_FP4BMM0 lm_eval --model vllm \ --model_args pretrainedamd/GLM-5.3-Quark-MXFP4,tensor_parallel_size4,dtypeauto,quantizationquark,max_model_len32768,trust_remote_codeTrue,max_num_seqs32 \ --tasks gsm8k --batch_size auto量化代价很小GSM8K 从 91.89 降到 91.28精度保持99.34%。⚠️ 两个环境细节FP8 128×128 分块与 MXFP4 的 e8m0 缩放都依赖 MI350/MI355 的硬件矩阵核CPU 或其他 GPU 上无法享受完整性能仓库中的.safetensors通过 LFS 分发clone 后需执行git lfs pull拉取真实权重。 总结一张表看懂整个量化方案层类别权重输入激活配置来源MoE 专家router sharedMXFP4group 32 e8m0 scaleMXFP4 动态group 32global_quant_config默认self_attn 5 个投影 indexer wq_b/wk439 条FP8 e4m3128×128 二维分块FP8 e4m3group 128 动态layer_quant_config覆盖lm_head / mlp.gate / indexer.weights_proj / eh_proj100 条bfloat16 原精度—exclude排除核心记忆点quantization_config是一个三层覆盖结构——exclude先划出保护区layer_quant_config再精调敏感层global_quant_config兜底压体积。读懂这三个字段任何 Quark 量化模型的 config.json 你都能拆解。 相关文件config.json全部量化配置 · README.md量化脚本与部署 · generation_config.json生成参数 · tokenizer.json词表 154880赞分享人工智能大模型基础模型模型量化模型优化【免费下载链接】GLM-5.3-Quark-MXFP4-AttnFP8项目地址https://ai.gitcode.com/hf_mirrors/amd/GLM-5.3-Quark-MXFP4-AttnFP8点击查看免费下载相关推荐MXFP4 AttnFP8混合量化原理解析GLM-5.3-Quark-MXFP4-AttnFP8如何兼顾显存与精度MXFP4 AttnFP8混合量化原理解析GLM 5.3 Quark MXFP4 AttnFP8如何兼顾显存与精度 GLM 5.3 Quark MXFP4人工智能大模型基础模型模型量化模型优化GLM-5.3-Quark-MXFP4-AttnFP8完整指南快速看懂AMD官方发布的700B级MoE量化模型GLM 5.3 Quark MXFP4 AttnFP8完整指南快速看懂AMD官方发布的700B级MoE量化模型 GLM 5.3 Quark MXFP4 Att人工智能大模型基础模型模型量化模型优化运行前必知的10个关键参数GLM-5.3-Quark-MXFP4-AttnFP8 config.json全解读运行前必知的10个关键参数GLM 5.3 Quark MXFP4 AttnFP8 config.json全解读 GLM 5.3 Quark MXFP4 Att人工智能大模型基础模型模型量化模型优化创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑