Skip to content

Commit 3d0f7d6

Browse files
muziyuhui666CXY-Katrinacywang250805Bill845514379yejj710
authored
[Feature] add MiniMax M3 VL model support (vllm-project#12844)
Migrate the MiniMax M3 vision-language model implementation from vllm-project#12734 into the synced main branch as part of the split MiniMax M3 support. ### What this PR does / why we need it? This PR adds `vllm_ascend/models/minimax_m3/minimax_m3_vl.py`, the vision-language model wrapper for MiniMax M3 on Ascend. This PR only contains the VL model file. The sparse attention ops, text model, model registry, quantization, and worker-side changes are split into separate PRs. ### Does this PR introduce _any_ user-facing change? No standalone user-facing change. This PR adds one implementation file as part of the split MiniMax M3 support. The model becomes user-visible only after the remaining MiniMax M3 components and model registration are merged. ### How was this patch tested? - Validated in the full MiniMax M3 integration branch from vllm-project#12734. - Service startup passed with TP=8 and EP enabled. - Text, image, and video single-request smoke tests passed. - A long-context text request with `usage.prompt_tokens = 3183` passed, covering the >2048-token index-cache scenario discussed in review. - vLLM version: v0.25.1 - vLLM main: vllm-project/vllm@d02df74 Signed-off-by: muziyuhui666 <lijianfu9@huawei.com> Co-authored-by: CXY-Katrina <katrina.cxy@gmail.com> Co-authored-by: cywang250805 <wangchaoyu7@huawei.com> Co-authored-by: Bill845514379 <huangjianbao2@huawei.com> Co-authored-by: yejj710 <yejj710@gmail.com> Co-authored-by: AuroraEmiya <Sakura.iostream@gmail.com> Co-authored-by: HaoxinZong <116423146+HaoxinZong@users.noreply.github.com>
1 parent e462c42 commit 3d0f7d6

3 files changed

Lines changed: 399 additions & 0 deletions

File tree

vllm_ascend/models/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ def register_model():
77
"MiniMaxM3SparseForCausalLM",
88
"vllm_ascend.models.minimax_m3:MiniMaxM3SparseForCausalLM",
99
)
10+
ModelRegistry.register_model(
11+
"MiniMaxM3SparseForConditionalGeneration",
12+
"vllm_ascend.models.minimax_m3:MiniMaxM3SparseForConditionalGeneration",
13+
)
1014
ModelRegistry.register_model("DeepSeekV4MTPModel", "vllm_ascend.models.deepseek_v4_mtp:DeepSeekV4MTP")
1115
ModelRegistry.register_model(
1216
"DSparkDraftModel",

vllm_ascend/models/minimax_m3/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,14 @@
88
_get_rope_parameters,
99
_sparse_attention_layer_ids,
1010
)
11+
from vllm_ascend.models.minimax_m3.minimax_m3_vl import MiniMaxM3SparseForConditionalGeneration
1112

1213
__all__ = [
1314
"MiniMaxM3Attention",
1415
"MiniMaxM3MoE",
1516
"MiniMaxM3SparseAttention",
1617
"MiniMaxM3SparseForCausalLM",
18+
"MiniMaxM3SparseForConditionalGeneration",
1719
"_get_rope_parameters",
1820
"_sparse_attention_layer_ids",
1921
]

0 commit comments

Comments
 (0)