deepinfer-moe-gate
deepinfer/deepinfer/model_executor/models/v4_modules/mlp.py · a679bb8 · L379–401 · 固定 commit 上游
这是固定版本源码的只读摘录;可在线阅读,也可通过上游链接查看原文件。
379 eplb_layer = self._eplb_layer()
380
381 gate_kwargs = dict(
382 num_topk=self.num_topk,
383 use_shared_as_routed=False,
384 num_shared_experts=0,
385 routed_scaling_factor=self.routed_scaling_factor,
386 ep_rank=self.ep_rank,
387 mask=input_metadata.valid_token_mask,
388 bias=self.e_score_correction_bias,
389 image_bias=self.e_score_correction_bias_vl if images_seq_mask is not None else None,
390 image_token_mask=images_seq_mask,
391 force_random=gate_force_random,
392 to_physical_map=eplb_layer.logical_to_physical_map,
393 logical_count=eplb_layer.logical_count,
394 scoring_func=self.scoring_func,
395 out=out,
396 )
397 if self.use_mega_gate:
398 topk_idx, topk_weights = deep_gemm.bf16_mega_gate(hidden_states, self.gate.weight, **gate_kwargs)
399 else:
400 topk_idx, topk_weights = moe_topk_gate(self.gate(hidden_states), **gate_kwargs)
401 return topk_idx, topk_weights