Skip to content

Conversation

@ZYang6263
Copy link
Contributor

@ZYang6263 ZYang6263 commented Nov 19, 2025

What this PR does / why we need it?

Currently, MTP does not support the DeepSeekV3.2 model. In this PR, we have enabled this feature.

Does this PR introduce any user-facing change?

How was this patch tested?

Signed-off-by: ZYang6263 <[email protected]>
@github-actions
Copy link

👋 Hi! Thank you for contributing to the vLLM Ascend project. The following points will speed up your PR merge:‌‌

  • A PR should do only one thing, smaller PRs enable faster reviews.
  • Every PR should include unit tests and end-to-end tests ‌to ensure it works and is not broken by other future PRs.
  • Write the commit message by fulfilling the PR description to help reviewer and future developers understand.

If CI fails, you can run linting and testing checks locally according Contributing and Testing.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds MTP support for the DeepSeekV3.2 model by mapping it to the existing DeepSeekMTP implementation. The change is functionally correct. I have provided one comment regarding code duplication to improve long-term maintainability and prevent potential future bugs.

Comment on lines +58 to +59
"DeepseekV32ForCausalLM":
("vllm.model_executor.models.deepseek_mtp", "DeepSeekMTP"),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The MTP implementation for DeepseekV32ForCausalLM is identical to that of DeepseekV3ForCausalLM. This creates code duplication. To enhance maintainability and prevent potential bugs should the implementation path change in the future, it would be better to define this shared implementation path as a constant and reuse it for both model architectures.

For example:

DEEPSEEK_MTP_IMPL = ("vllm.model_executor.models.deepseek_mtp", "DeepSeekMTP")

_MTP_MODELS = {
    "DeepseekV3ForCausalLM": DEEPSEEK_MTP_IMPL,
    "DeepseekV32ForCausalLM": DEEPSEEK_MTP_IMPL,
    "Qwen3NextForCausalLM":
    ("vllm_ascend.models.qwen3_next_mtp", "CustomQwen3NextMTP")
}

Copy link
Collaborator

@whx-sjtu whx-sjtu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@github-actions
Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants