vllm_gaudi.ops.hpu_fused_moe ¶
HPUUnquantizedFusedMoEMethod ¶
Bases: UnquantizedFusedMoEMethod
不带量化的 MoE 方法。
源代码在 vllm_gaudi/ops/hpu_fused_moe.py
__init__ ¶
forward_oot ¶
forward_oot(
layer: Module,
x: Tensor,
use_grouped_topk: bool,
top_k: int,
router_logits: Tensor,
renormalize: bool,
topk_group: Optional[int] = None,
num_expert_group: Optional[int] = None,
global_num_experts: int = -1,
expert_map: Optional[Tensor] = None,
custom_routing_function: Optional[Callable] = None,
scoring_func: str = "softmax",
e_score_correction_bias: Optional[Tensor] = None,
apply_router_weight_on_input: bool = False,
activation: str = "silu",
**kwargs,
)
源代码在 vllm_gaudi/ops/hpu_fused_moe.py
process_weights_after_loading ¶
process_weights_after_loading(layer: Module) -> None
源代码在 vllm_gaudi/ops/hpu_fused_moe.py
get_compressed_expert_map ¶
通过移除任何 -1 条目来压缩专家图。
此实现使用标准的 Python 循环,它与不支持动态形状(例如由 torch.where 等操作产生的)的图编译模式兼容。
参数
| 名称 | 类型 | 描述 | 默认值 |
|---|---|---|---|
expert_map
|
Tensor
|
形状为 (global_num_experts,) 的张量,将全局专家索引映射到其局部索引。对于未分配给当前 rank 的专家,包含 -1。 |
required |
返回
| 名称 | 类型 | 描述 |
|---|---|---|
str |
str
|
从局部到全局索引的字符串映射, |
str
|
按全局索引排序。(例如,“0->5, 1->12, 2->23”) |
源代码在 vllm_gaudi/ops/hpu_fused_moe.py
patched_fused_moe_forward ¶
patched_fused_moe_forward(
self, hidden_states: Tensor, router_logits: Tensor
) -> Union[Tensor, tuple[Tensor, Tensor]]
已打补丁的转发方法,绕过自定义 op 以避免重新编译问题。