#7443 [vllm] fix: is_fp8_weight() skips fused-MoE expert weights with non-".weight" checkpoint names
原始 PR · 作者 YolandaLyj · 合并时间 2026-08-19 17:26
修复 fused-MoE 专家权重被 fp8 量化过滤遗漏的问题
值得精读,尤其关注 `is_fp8_weight()` 的白名单设计。这是一个典型的“注释意图与实际实现不一致”导致的静默 bug:注释写的是过滤 bias,实际却把所有非 `.weight` 结尾的参数都排除了。修复引入 `_FP8_CANDIDATE_LEAVES` 白名单作为快速路径,同时把真实的 fp8 资格判定留给模块 dtype 检查,设计思路清晰。但建议后续补充:1) 针对 fused-MoE fp8 模型的单元测试(即使只能 mock 模块层级);2) 将 `w13_weight`/`w2_weight` 的属性名也纳入统一的映射常量,避免白名单与属性访问逻辑漂移。