Prhub

#43540 [Quantization] Fix Humming RoutedExperts import

原始 PR 作者 fallintoplace 合并时间 2026-05-28 01:51 文件变更 1 提交数 2 评论 3 代码增减 +1 / -1

执行摘要

修复 Humming MoE 导入路径错误

关联 issue #43539 报告:humming_utils.py 的导入语句 from vllm.model_executor.layers.fused_moe.routed_experts import RoutedExperts 引用了不存在的子模块,导致 Humming MoE 后端在导入时崩溃。这是 #40735 引入的回归,当时将 RoutedExperts 别名移到了 fused_moe.__init__,但本文件未同步更新。

建议合并。改动经过充分 review,修复了明确的 bug,风险低。虽然测试被移除,但改动的简单性使得测试回报较低。可读性方面,导入路径更清晰,与项目其他部分一致。

讨论亮点

review 中主要讨论点是测试文件的必要性。yewentao256 评论:“对于这么小的改动,我们不需要专门的单元测试。” 作者接受并删除了测试文件。此外,reviewer mgoin 也给予了批准。

实现拆解

  1. 修改导入路径:在 vllm/model_executor/layers/quantization/utils/humming_utils.py 中,将 from vllm.model_executor.layers.fused_moe.routed_experts import RoutedExperts 改为 from vllm.model_executor.layers.fused_moe import RoutedExperts
  2. 移除测试文件:PR 最初包含一个新的测试文件 tests/quantization/test_humming_utils.py,但 reviewer yewentao256 认为改动手动过简单,不需要专门测试;作者随后删除了该测试文件。最终 PR 只修改了一个文件,共 1 行增加、1 行删除。
文件 模块 状态 重要度
vllm/model_executor/layers/quantization/utils/humming_utils.py 量化 modified 5.1

关键源码片段

vllm/model_executor/layers/quantization/utils/humming_utils.py data-contract

修复了 Humming MoE 量化工具的导入错误,是本次 PR 的唯一变更文件。

# SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: Copyright contributors to the vLLM projectfrom typing import Anyimport regex as re
import torch
from humming.layer import HummingInputSchema, HummingMethod
from humming.schema import BaseWeightSchemafrom vllm import envs
# 修复:RoutedExperts 从 fused_moe 包本身导出,而非 routed_experts 子模块
# 这是 #40735 引入回归后缺失的同步更新
from vllm.model_executor.layers.fused_moe import RoutedExperts
from vllm.model_executor.layers.fused_moe.config import (
    FusedMoEQuantConfig,
    FusedMoEQuantDesc,
)
from vllm.model_executor.layers.linear import LinearBase
from vllm.model_executor.layers.quantization.utils.quant_utils import GroupShape

评论区精华

测试文件必要性 测试

reviewer `yewentao256` 指出对于单行导入修复不需要专门的单元测试。作者接受并移除了测试文件。

结论:移除测试文件,仅保留源码修改。 · 已解决

风险与影响

风险极低。该 PR 仅修改一行导入路径,且遵循了其他模块一致的导出方式。但由于缺少测试覆盖,如果未来 RoutedExperts 的导出位置再次变动,该模块可能再次静默失效。不过考虑到改动极小,回归风险有限。

直接影响是修复了 Humming MoE 量化后端在导入时的 ModuleNotFoundError,使得用户能够正常使用 Humming/MXFP4 MoE 路径。间接影响是消除了 #40735 引入的回归,保持了量化工具模块的可导入性。影响范围仅限于使用 Humming MoE 量化的场景。

缺少测试覆盖

关联 Issue

#43539 [Quantization] Humming MoE import uses a non-existent RoutedExperts submodule

完整报告

参与讨论