@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / bc0d291bfe
Fork 0

A high-throughput and memory-efficient inference and serving engine for LLMs

Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git

Synced Nov 9, 16:00 UTC

feat: Complete LoRA support for MiniMaxM2 Fixes #32736 (#32763)

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>

david guan committed Jan 24, 2026 at 20:48 UTC bc0d291bfebf0979dbd6e8486de40aa95eb57490
2 files changed +11 -3
docs/models/supported_models.md
+1 -1
@@ -422,7 +422,7 @@ th {
422 | `MiMoV2FlashForCausalLM` | MiMoV2Flash | `XiaomiMiMo/MiMo-V2-Flash`, etc. | ︎| ✅︎ |
423 | `MiniCPMForCausalLM` | MiniCPM | `openbmb/MiniCPM-2B-sft-bf16`, `openbmb/MiniCPM-2B-dpo-bf16`, `openbmb/MiniCPM-S-1B-sft`, etc. | ✅︎ | ✅︎ |
424 | `MiniCPM3ForCausalLM` | MiniCPM3 | `openbmb/MiniCPM3-4B`, etc. | ✅︎ | ✅︎ |
425 -| `MiniMaxM2ForCausalLM` | MiniMax-M2, MiniMax-M2.1 |`MiniMaxAI/MiniMax-M2`, etc. | | ✅︎ |
425 +| `MiniMaxM2ForCausalLM` | MiniMax-M2, MiniMax-M2.1 |`MiniMaxAI/MiniMax-M2`, etc. | ✅︎ | ✅︎ |
426 | `MistralForCausalLM` | Ministral-3, Mistral, Mistral-Instruct | `mistralai/Ministral-3-3B-Instruct-2512`, `mistralai/Mistral-7B-v0.1`, `mistralai/Mistral-7B-Instruct-v0.1`, etc. | ✅︎ | ✅︎ |
427 | `MistralLarge3ForCausalLM` | Mistral-Large-3-675B-Base-2512, Mistral-Large-3-675B-Instruct-2512 | `mistralai/Mistral-Large-3-675B-Base-2512`, `mistralai/Mistral-Large-3-675B-Instruct-2512`, etc. | ✅︎ | ✅︎ |
428 | `MixtralForCausalLM` | Mixtral-8x7B, Mixtral-8x7B-Instruct | `mistralai/Mixtral-8x7B-v0.1`, `mistralai/Mixtral-8x7B-Instruct-v0.1`, `mistral-community/Mixtral-8x22B-v0.1`, etc. | ✅︎ | ✅︎ |
vllm/model_executor/models/minimax_m2.py
+10 -2
@@ -59,7 +59,7 @@ from vllm.model_executor.model_loader.weight_utils import (
59 )
60 from vllm.sequence import IntermediateTensors
61
62 -from .interfaces import SupportsPP
62 +from .interfaces import SupportsLoRA, SupportsPP
63 from .utils import (
64 AutoWeightsLoader,
65 PPMissingLayer,
@@ -484,7 +484,15 @@ class MiniMaxM2Model(nn.Module):
484 return loaded_params
485
486
487 -class MiniMaxM2ForCausalLM(nn.Module, SupportsPP):
487 +class MiniMaxM2ForCausalLM(nn.Module, SupportsLoRA, SupportsPP):
488 + packed_modules_mapping = {
489 + "qkv_proj": [
490 + "q_proj",
491 + "k_proj",
492 + "v_proj",
493 + ],
494 + }
495 +
496 def __init__(self, *, vllm_config: VllmConfig, prefix: str = ""):
497 super().__init__()
498 config = vllm_config.model_config.hf_config