[Refactor] Normalize DeepSeek V4.1 model package naming (#56741)
Signed-off-by: Bugen Zhao <i@bugenzhao.com>
Bugen Zhao committed
Sep 14, 2026 at 14:17 UTC
cf1584f373d06f03c5662608fb80cf66c03fcb1d
44 files changed
+71
-72
.buildkite/test_areas/distributed.yaml
+1
-1
@@ -208,7 +208,7 @@ steps:
208
- tests/distributed/test_utils
209
- tests/distributed/test_engram_dp_shard.py
210
- vllm/config/engram.py
211
- - vllm/models/deepseek_v4_1/
211
+ - vllm/models/deepseek_v41/
212
commands:
213
# https://github.com/NVIDIA/nccl/issues/1838
214
- export NCCL_CUMEM_HOST_ENABLE=0
.github/mergify.yml
+2
-3
@@ -343,9 +343,8 @@ pull_request_rules:
343
conditions:
344
- label != stale
345
- or:
346
- # The 4.1 sources spell the model three ways: deepseek_v4_1 (models),
347
- # deepseek_v41 (most) and deepseekv41 (tool parsers).
348
- - files~=^vllm/models/deepseek_v4_1/
346
+ # The 4.1 sources use deepseek_v41 and deepseekv41 (tool parsers).
347
+ - files~=^vllm/models/deepseek_v41/
348
- files~=^vllm/(?:parser|tokenizers|reasoning|transformers_utils/configs)/deepseek_v41.*\.py
349
- files~=^vllm/tool_parsers/deepseekv41.*\.py
350
- files~=^rust/src/(?:chat|parser)/src/.*deepseek_v41
tests/distributed/test_engram_dp_shard.py
+5
-5
@@ -39,9 +39,9 @@ from vllm.distributed.parallel_state import (
39
initialize_model_parallel,
40
)
41
from vllm.forward_context import set_forward_context
42
-from vllm.models.deepseek_v4_1.common.engram import EngramLayout
43
-from vllm.models.deepseek_v4_1.nvidia import engram as engram_ops
44
-from vllm.models.deepseek_v4_1.nvidia.engram import (
42
+from vllm.models.deepseek_v41.common.engram import EngramLayout
43
+from vllm.models.deepseek_v41.nvidia import engram as engram_ops
44
+from vllm.models.deepseek_v41.nvidia.engram import (
45
Engram,
46
ParallelEngramEmbedding,
47
engram_head_shard_rank,
@@ -473,8 +473,8 @@ def _check_dummy_hash_model_forward(
473
vllm_config, engram, head_sizes, weight, scales, dp_shared_memory
474
):
475
"""A metadata-less replica joins DP sharding but skips a shared lookup."""
476
- from vllm.models.deepseek_v4_1.common.engram import NgramHashState
477
- from vllm.models.deepseek_v4_1.nvidia import model as model_ops
476
+ from vllm.models.deepseek_v41.common.engram import NgramHashState
477
+ from vllm.models.deepseek_v41.nvidia import model as model_ops
478
479
dp_rank = vllm_config.parallel_config.data_parallel_rank
480
if dp_shared_memory and dp_rank != 1:
tests/kernels/core/test_fused_q_kv_rmsnorm.py
+4
-4
@@ -125,7 +125,7 @@ def test_fused_q_kv_rmsnorm_quant_matches_separate(num_tokens, q_size, dtype):
125
from vllm.model_executor.layers.quantization.utils.mxfp8_utils import (
126
mxfp8_e4m3_quantize,
127
)
128
- from vllm.models.deepseek_v4_1.common.ops.query_quant import (
128
+ from vllm.models.deepseek_v41.common.ops.query_quant import (
129
fused_q_kv_rmsnorm_quant,
130
)
131
@@ -198,15 +198,15 @@ def test_shared_query_quant_preserves_projection(
198
mxfp8_e4m3_quantize,
199
)
200
from vllm.model_executor.layers.quantization.utils.quant_utils import kNvfp4Dynamic
201
- from vllm.models.deepseek_v4_1.attention import (
201
+ from vllm.models.deepseek_v41.attention import (
202
DeepseekV4Attention,
203
DeepseekV4Indexer,
204
)
205
- from vllm.models.deepseek_v4_1.common.ops.query_quant import (
205
+ from vllm.models.deepseek_v41.common.ops.query_quant import (
206
can_fuse_query_quant,
207
fused_q_kv_rmsnorm_quant,
208
)
209
- from vllm.models.deepseek_v4_1.quant_config import DeepseekV4FP8Config
209
+ from vllm.models.deepseek_v41.quant_config import DeepseekV4FP8Config
210
211
cls: (
212
type[FlashInferCutedslMxfp8LinearKernel]
tests/kernels/test_compressor_kv_cache.py
+5
-5
@@ -65,7 +65,7 @@ def test_v41_fused_save_compress_and_insert(
65
a Torch reference with BF16 rounding before RoPE. Replays change both
66
inputs and history so stale scratch/cache values cannot satisfy the test.
67
"""
68
- from vllm.models.deepseek_v4_1.common.ops.fused_compress_quant_cache import (
68
+ from vllm.models.deepseek_v41.common.ops.fused_compress_quant_cache import (
69
fused_save_compress_norm,
70
rope_quant_insert,
71
)
@@ -226,7 +226,7 @@ def test_v41_rope_insert_plain_row(compress_ratio: int, store_fp8: bool):
226
Non-boundary positions, negative slots and untouched rows must keep their
227
prior contents.
228
"""
229
- from vllm.models.deepseek_v4_1.common.ops.fused_compress_quant_cache import (
229
+ from vllm.models.deepseek_v41.common.ops.fused_compress_quant_cache import (
230
rope_quant_insert,
231
)
232
@@ -301,7 +301,7 @@ def test_v41_compressor_metadata_maps_tokens_to_their_ring():
301
capacity`` and keep padding tokens at PAD."""
302
from unittest.mock import MagicMock
303
304
- from vllm.models.deepseek_v4_1.compressor import CompressorMetadataBuilder
304
+ from vllm.models.deepseek_v41.compressor import CompressorMetadataBuilder
305
from vllm.v1.attention.backend import CommonAttentionMetadata
306
from vllm.v1.kv_cache_interface import CircularBufferSpec
307
@@ -351,11 +351,11 @@ def test_v41_compressor_metadata_maps_tokens_to_their_ring():
351
def test_v41_attention_joins_cache_writes_before_consumption(use_aux, use_graph):
352
"""Both reused-event joins must publish this forward's states and cache rows."""
353
from vllm.forward_context import ForwardContext, override_forward_context
354
- from vllm.models.deepseek_v4_1.attention import (
354
+ from vllm.models.deepseek_v41.attention import (
355
DeepseekV4Attention,
356
DeepseekV4Indexer,
357
)
358
- from vllm.models.deepseek_v4_1.compressor import DeepseekCompressor
358
+ from vllm.models.deepseek_v41.compressor import DeepseekCompressor
359
360
torch.manual_seed(43)
361
raw = torch.randn(19, 1024, device="cuda")
tests/kernels/test_engram.py
+6
-6
@@ -7,15 +7,15 @@ from types import SimpleNamespace
7
import pytest
8
import torch
9
10
-from vllm.models.deepseek_v4_1.common import engram as engram_ops
11
-from vllm.models.deepseek_v4_1.common.engram import (
10
+from vllm.models.deepseek_v41.common import engram as engram_ops
11
+from vllm.models.deepseek_v41.common.engram import (
12
Engram as CommonEngram,
13
)
14
-from vllm.models.deepseek_v4_1.common.engram import (
14
+from vllm.models.deepseek_v41.common.engram import (
15
NgramHashState,
16
)
17
-from vllm.models.deepseek_v4_1.nvidia import engram as nvidia_engram_ops
18
-from vllm.models.deepseek_v4_1.nvidia.engram import Engram, ParallelEngramEmbedding
17
+from vllm.models.deepseek_v41.nvidia import engram as nvidia_engram_ops
18
+from vllm.models.deepseek_v41.nvidia.engram import Engram, ParallelEngramEmbedding
19
from vllm.platforms import current_platform
20
21
@@ -503,7 +503,7 @@ def test_lookback_window_reproduces_single_instance(runner, capture):
503
@pytest.mark.skipif(not current_platform.is_cuda(), reason="CUDA required")
504
def test_v2_model_state_gathers_lookback_window():
505
"""The window is gathered on device from the runner's token history."""
506
- from vllm.models.deepseek_v4_1.nvidia.model_state import DeepseekV41ModelState
506
+ from vllm.models.deepseek_v41.nvidia.model_state import DeepseekV41ModelState
507
508
depth, max_num_reqs, max_model_len = 3, 4, 16
509
state = DeepseekV41ModelState.__new__(DeepseekV41ModelState)
tests/kernels/test_fused_indexer_q_rope_quant.py
+3
-3
@@ -359,7 +359,7 @@ def test_indexer_k_inserts_only_valid_groups_into_padded_pages(
359
num_tokens, compress_ratio, use_fp4, cache_dtype
360
):
361
"""Insert group ends and preserve skipped slots, graph rows, and page padding."""
362
- from vllm.models.deepseek_v4_1.common.ops.indexer_k_store import (
362
+ from vllm.models.deepseek_v41.common.ops.indexer_k_store import (
363
indexer_k_norm_rope_store,
364
)
365
@@ -442,7 +442,7 @@ def test_indexer_k_inserts_only_valid_groups_into_padded_pages(
442
@torch.inference_mode()
443
def test_indexer_k_cuda_graph_replay_reads_current_projection(use_fp4):
444
"""Replay must consume updated keys and slot mapping through the captured API."""
445
- from vllm.models.deepseek_v4_1.common.ops.indexer_k_store import (
445
+ from vllm.models.deepseek_v41.common.ops.indexer_k_store import (
446
indexer_k_norm_rope_store,
447
)
448
@@ -501,7 +501,7 @@ def test_indexer_k_store_roundtrips_through_rocm_gather(block_size, compress_rat
501
``block_size > 1``, so a row-major store would feed the indexer permuted
502
key bytes and randomize its top-k. Assert the write/read pair is exact.
503
"""
504
- from vllm.models.deepseek_v4_1.common.ops.indexer_k_store import (
504
+ from vllm.models.deepseek_v41.common.ops.indexer_k_store import (
505
indexer_k_norm_rope_store,
506
)
507
from vllm.v1.attention.ops.rocm_aiter_mla_sparse import (
tests/kernels/test_mhc_kernels.py
+3
-3
@@ -32,7 +32,7 @@ from vllm.models.deepseek_v4.nvidia.model import (
32
DeepseekV4DecoderLayer,
33
DeepseekV4Model,
34
)
35
-from vllm.models.deepseek_v4_1.nvidia.model import (
35
+from vllm.models.deepseek_v41.nvidia.model import (
36
DeepseekV4DecoderLayer as DeepseekV41DecoderLayer,
37
)
38
from vllm.platforms import current_platform
@@ -104,7 +104,7 @@ def test_hc_collapse_custom_op_supports_compile():
104
@pytest.mark.parametrize("num_tokens", [1, 7])
105
def test_v41_dspark_head_collapses_with_last_ffn_mix(num_tokens, monkeypatch):
106
"""Match reference DSparkBlock.forward_head's hc_pre before its RMSNorm."""
107
- from vllm.models.deepseek_v4_1.nvidia import dspark
107
+ from vllm.models.deepseek_v41.nvidia import dspark
108
109
set_random_seed(0)
110
hidden_size, hc_mult = 5120, 4
@@ -296,7 +296,7 @@ def test_deepseek_v41_decoder_mixes_match_torch(
296
return post, res, decoder.attn_norm(collapsed), pre
297
298
monkeypatch.setattr(
299
- "vllm.models.deepseek_v4_1.nvidia.model.mhc_pre_delayed_tilelang",
299
+ "vllm.models.deepseek_v41.nvidia.model.mhc_pre_delayed_tilelang",
300
reference,
301
)
302
expected = decoder(x, positions, None, **kwargs)
tests/models/test_deepseek_v4_mega_moe.py
+2
-2
@@ -18,8 +18,8 @@ from vllm.models.deepseek_v4.nvidia.model import (
18
)
19
from vllm.models.deepseek_v4.nvidia.mtp import DeepSeekV4MTP
20
from vllm.models.deepseek_v4.nvidia.ops.prepare_megamoe import prepare_megamoe_inputs
21
-from vllm.models.deepseek_v4_1.common.mm_preprocess import IMAGE_SENTINEL_BASE_ID
22
-from vllm.models.deepseek_v4_1.nvidia.model import DeepseekV4MoE as DeepseekV41MoE
21
+from vllm.models.deepseek_v41.common.mm_preprocess import IMAGE_SENTINEL_BASE_ID
22
+from vllm.models.deepseek_v41.nvidia.model import DeepseekV4MoE as DeepseekV41MoE
23
from vllm.platforms import current_platform
24
from vllm.transformers_utils.configs.deepseek_v41 import DeepseekV41Config
25
tests/models/test_dspark_mla.py
+1
-1
@@ -216,7 +216,7 @@ def test_v41_dspark_loads_linear_scales(
216
"""Checkpoint ``.scale`` maps to the quant method's scale parameter and
217
loads untouched. MXFP8 block-scale expansion lives in the KMxfp8Static
218
loader (see tests/quantization/test_modelopt.py), not in load_weights."""
219
- from vllm.models.deepseek_v4_1.nvidia import dspark
219
+ from vllm.models.deepseek_v41.nvidia import dspark
220
221
mxfp8 = scale_dtype != torch.float32
222
scale_name = "weight_scale" if mxfp8 else "weight_scale_inv"
tests/quantization/test_fp8.py
+6
-6
@@ -77,8 +77,8 @@ def test_deepseek_v41_mxfp8_scale_loading(
77
MergedColumnParallelLinear,
78
RowParallelLinear,
79
)
80
- from vllm.models.deepseek_v4_1 import quant_config as quant_module
81
- from vllm.models.deepseek_v4_1.nvidia import model as model_module
80
+ from vllm.models.deepseek_v41 import quant_config as quant_module
81
+ from vllm.models.deepseek_v41.nvidia import model as model_module
82
83
default_vllm_config.model_config = SimpleNamespace(dtype=torch.bfloat16)
84
quant_config = quant_module.DeepseekV4FP8Config(
@@ -214,8 +214,8 @@ def test_deepseek_v41_vl_mapper_routes_linear_scales(
214
"""The VL wrapper must map ``.scale`` keys to the parameter the linear
215
quant method registers, as the text model does. A hardcoded
216
``weight_scale_inv`` raised KeyError for native MXFP8 checkpoints."""
217
- from vllm.models.deepseek_v4_1.nvidia import model as model_module
218
- from vllm.models.deepseek_v4_1.nvidia import vl_model as vl_module
217
+ from vllm.models.deepseek_v41.nvidia import model as model_module
218
+ from vllm.models.deepseek_v41.nvidia import vl_model as vl_module
219
220
vllm_config = SimpleNamespace(
221
quant_config=SimpleNamespace(weight_block_size=weight_block_size)
@@ -318,8 +318,8 @@ def test_mxfp8_bmm_loads_and_projects_grouped_weights(
318
compute_fp8_einsum_recipe,
319
deep_gemm_fp8_o_proj,
320
)
321
- from vllm.models.deepseek_v4_1.nvidia.model import DeepseekV4Model
322
- from vllm.models.deepseek_v4_1.quant_config import DeepseekV4FP8Config
321
+ from vllm.models.deepseek_v41.nvidia.model import DeepseekV4Model
322
+ from vllm.models.deepseek_v41.quant_config import DeepseekV4FP8Config
323
from vllm.utils.deep_gemm import is_deep_gemm_supported
324
325
if not is_deep_gemm_supported() or not current_platform.is_device_capability_family(
tests/v1/attention/test_indexer_deepseek_v4_slot_mapping.py
+1
-1
@@ -8,7 +8,7 @@ import torch
8
9
from tests.v1.attention.utils import create_vllm_config
10
from vllm.models.deepseek_v4.sparse_mla import DeepseekV4SparseMLABackend
11
-from vllm.models.deepseek_v4_1.sparse_mla import (
11
+from vllm.models.deepseek_v41.sparse_mla import (
12
DeepseekV4SparseMLABackend as DeepseekV41SparseMLABackend,
13
)
14
from vllm.v1.attention.backend import CommonAttentionMetadata
vllm/model_executor/layers/quantization/__init__.py
+1
-1
@@ -120,7 +120,7 @@ def get_quantization_config(quantization: str) -> type[QuantizationConfig]:
120
# The v4.1 class is the v4 one extended to accept model_type
121
# "deepseek_v41" and its 32x32 MXFP8 linear layout. V4.1 has
122
# platform-specific implementations for both CUDA and ROCm.
123
- from vllm.models.deepseek_v4_1 import (
123
+ from vllm.models.deepseek_v41 import (
124
DeepseekV4FP8Config as DeepseekV41FP8Config,
125
)
126
vllm/model_executor/models/registry.py
+2
-2
@@ -377,7 +377,7 @@ _MULTIMODAL_MODELS = {
377
"DeepseekV4ForConditionalGeneration",
378
),
379
"DeepseekV41ForCausalLM": (
380
- "vllm.models.deepseek_v4_1",
380
+ "vllm.models.deepseek_v41",
381
"DeepseekV41ForCausalLM",
382
),
383
"Dots3NoteForCausalLM": (
@@ -645,7 +645,7 @@ _SPECULATIVE_DECODING_MODELS = {
645
"DFlashMuseGlimmerAssistantModel": ("qwen3_dflash", "DFlashQwen3ForCausalLM"),
646
"DSparkDraftModel": ("vllm.models.deepseek_v4", "DSparkDeepseekV4ForCausalLM"),
647
"DSparkV41DraftModel": (
648
- "vllm.models.deepseek_v4_1",
648
+ "vllm.models.deepseek_v41",
649
"DSparkDeepseekV4ForCausalLM",
650
),
651
"Qwen3DSparkModel": ("qwen3_dspark", "Qwen3DSparkForCausalLM"),
vllm/models/deepseek_v41/__init__.py
renamed
vllm/models/deepseek_v41/amd/__init__.py
renamed
vllm/models/deepseek_v41/amd/dspark.py
renamed
vllm/models/deepseek_v41/amd/model.py
renamed
+2
-2
@@ -54,8 +54,8 @@ from vllm.models.common.ops.sequence_parallel import (
54
from vllm.models.deepseek_v4.amd.model import (
55
DeepseekV4MoE as DeepseekV4MoEBase,
56
)
57
-from vllm.models.deepseek_v4_1.amd.rocm import DeepseekV41ROCMAiterMLAAttention
58
-from vllm.models.deepseek_v4_1.attention import DeepseekV4Attention
57
+from vllm.models.deepseek_v41.amd.rocm import DeepseekV41ROCMAiterMLAAttention
58
+from vllm.models.deepseek_v41.attention import DeepseekV4Attention
59
from vllm.sequence import IntermediateTensors
60
from vllm.utils.math_utils import cdiv
61
from vllm.v1.attention.backends.registry import AttentionBackendEnum
vllm/models/deepseek_v41/amd/rocm.py
renamed
+3
-3
@@ -13,9 +13,9 @@ from vllm.distributed import (
13
)
14
from vllm.forward_context import get_forward_context
15
from vllm.logger import init_logger
16
-from vllm.models.deepseek_v4_1.attention import DeepseekV4Attention
17
-from vllm.models.deepseek_v4_1.common.ops import dequantize_and_gather_k_cache
18
-from vllm.models.deepseek_v4_1.sparse_mla import (
16
+from vllm.models.deepseek_v41.attention import DeepseekV4Attention
17
+from vllm.models.deepseek_v41.common.ops import dequantize_and_gather_k_cache
18
+from vllm.models.deepseek_v41.sparse_mla import (
19
DeepseekV4FlashMLAMetadata,
20
DeepseekV4SparseMLABackend,
21
DeepseekV4SparseMLAMetadataBuilder,
vllm/models/deepseek_v41/amd/vl_model.py
renamed
vllm/models/deepseek_v41/attention.py
renamed
+7
-7
@@ -26,7 +26,7 @@ from vllm.model_executor.layers.linear import (
26
)
27
from vllm.model_executor.layers.sparse_attn_indexer import SparseAttnIndexer
28
from vllm.models.common.ops import fused_q_kv_rmsnorm
29
-from vllm.models.deepseek_v4_1.common.ops import (
29
+from vllm.models.deepseek_v41.common.ops import (
30
MXFP4_BLOCK_SIZE,
31
fused_indexer_q_rope_quant,
32
indexer_k_norm_rope_store,
@@ -49,8 +49,8 @@ from vllm.model_executor.layers.attention_layer_base import AttentionLayerBase
49
from vllm.model_executor.layers.layernorm import RMSNorm
50
from vllm.model_executor.layers.quantization import QuantizationConfig
51
from vllm.model_executor.models.utils import extract_layer_index
52
-from vllm.models.deepseek_v4_1.common.rope import build_deepseek_v4_rope
53
-from vllm.models.deepseek_v4_1.compressor import DeepseekCompressor
52
+from vllm.models.deepseek_v41.common.rope import build_deepseek_v4_rope
53
+from vllm.models.deepseek_v41.compressor import DeepseekCompressor
54
from vllm.triton_utils import tl, triton
55
from vllm.utils.multi_stream_utils import (
56
execute_in_parallel,
@@ -156,7 +156,7 @@ class DeepseekV4Attention(nn.Module, AttentionLayerBase, ABC):
156
``DeepseekV4FlashInferSM120Attention`` /
157
``DeepseekV4FlashInferMLAAttention`` (CUDA) or
158
``DeepseekV41ROCMAiterMLAAttention`` (ROCm) — selected by the platform-specific
159
- deepseek_v4_1 model module. The base is never instantiated directly.
159
+ deepseek_v41 model module. The base is never instantiated directly.
160
"""
161
162
# Provided by the platform subclass.
@@ -536,7 +536,7 @@ class DeepseekV4Attention(nn.Module, AttentionLayerBase, ABC):
536
"FLASHMLA_SPARSE_DSV41",
537
"ROCM_FLASHMLA_SPARSE_DSV4",
538
):
539
- from vllm.models.deepseek_v4_1.common.ops.cache_utils import (
539
+ from vllm.models.deepseek_v41.common.ops.cache_utils import (
540
_COMBINE_TOPK_SWA_INDICES_KERNEL,
541
)
542
@@ -581,7 +581,7 @@ class DeepseekV4Attention(nn.Module, AttentionLayerBase, ABC):
581
582
@cached_property
583
def _can_fuse_query_quant(self) -> bool:
584
- from vllm.models.deepseek_v4_1.common.ops.query_quant import (
584
+ from vllm.models.deepseek_v41.common.ops.query_quant import (
585
can_fuse_query_quant,
586
)
587
@@ -600,7 +600,7 @@ class DeepseekV4Attention(nn.Module, AttentionLayerBase, ABC):
600
"""
601
qr, kv = qr_kv.split([self.q_lora_rank, self.head_dim], dim=-1)
602
if self.q_lora_rank % 32 == 0 and self._can_fuse_query_quant:
603
- from vllm.models.deepseek_v4_1.common.ops.query_quant import (
603
+ from vllm.models.deepseek_v41.common.ops.query_quant import (
604
fused_q_kv_rmsnorm_quant,
605
)
606
vllm/models/deepseek_v41/common/__init__.py
renamed
vllm/models/deepseek_v41/common/engram.py
renamed
vllm/models/deepseek_v41/common/mm_preprocess.py
renamed
vllm/models/deepseek_v41/common/ops/__init__.py
renamed
vllm/models/deepseek_v41/common/ops/cache_utils.py
renamed
vllm/models/deepseek_v41/common/ops/fused_compress_quant_cache.py
renamed
vllm/models/deepseek_v41/common/ops/indexer_k_store.py
renamed
vllm/models/deepseek_v41/common/ops/query_quant.py
renamed
vllm/models/deepseek_v41/common/rope.py
renamed
vllm/models/deepseek_v41/compressor.py
renamed
+1
-1
@@ -12,7 +12,7 @@ from vllm.forward_context import get_forward_context
12
from vllm.model_executor.layers.attention_layer_base import AttentionLayerBase
13
from vllm.model_executor.layers.layernorm import RMSNorm
14
from vllm.model_executor.layers.linear import MergedColumnParallelLinear
15
-from vllm.models.deepseek_v4_1.common.ops.fused_compress_quant_cache import (
15
+from vllm.models.deepseek_v41.common.ops.fused_compress_quant_cache import (
16
fused_save_compress_norm,
17
rope_quant_insert,
18
)
vllm/models/deepseek_v41/nvidia/__init__.py
renamed
vllm/models/deepseek_v41/nvidia/dspark.py
renamed
vllm/models/deepseek_v41/nvidia/engram.py
renamed
+3
-3
@@ -23,16 +23,16 @@ from vllm.distributed.parallel_state import GroupCoordinator
23
from vllm.forward_context import get_forward_context
24
from vllm.logger import init_logger
25
from vllm.model_executor.utils import set_weight_attrs
26
-from vllm.models.deepseek_v4_1.common.engram import (
26
+from vllm.models.deepseek_v41.common.engram import (
27
DEAD_ID,
28
EngramLayout,
29
_engram_head_shard_weight_loader,
30
_engram_select_rows,
31
)
32
-from vllm.models.deepseek_v4_1.common.engram import (
32
+from vllm.models.deepseek_v41.common.engram import (
33
Engram as BaseEngram,
34
)
35
-from vllm.models.deepseek_v4_1.common.engram import (
35
+from vllm.models.deepseek_v41.common.engram import (
36
ParallelEngramEmbedding as BaseParallelEngramEmbedding,
37
)
38
from vllm.utils.platform_utils import is_uva_available
vllm/models/deepseek_v41/nvidia/flashinfer_sparse.py
renamed
+3
-3
@@ -13,12 +13,12 @@ from vllm.models.deepseek_v4.nvidia.ops.o_proj import (
13
compute_fp8_einsum_recipe,
14
deep_gemm_fp8_o_proj,
15
)
16
-from vllm.models.deepseek_v4_1.attention import DeepseekV4Attention
17
-from vllm.models.deepseek_v4_1.common.ops import (
16
+from vllm.models.deepseek_v41.attention import DeepseekV4Attention
17
+from vllm.models.deepseek_v41.common.ops import (
18
build_flashinfer_mixed_sparse_indices,
19
compute_global_topk_indices_and_lens,
20
)
21
-from vllm.models.deepseek_v4_1.sparse_mla import (
21
+from vllm.models.deepseek_v41.sparse_mla import (
22
DeepseekV4FlashMLAMetadata,
23
DeepseekV4SparseMLABackend,
24
DeepseekV4SparseMLAMetadataBuilder,
vllm/models/deepseek_v41/nvidia/flashmla.py
renamed
+3
-3
@@ -10,13 +10,13 @@ from vllm.models.deepseek_v4.nvidia.ops.o_proj import (
10
compute_fp8_einsum_recipe,
11
deep_gemm_fp8_o_proj,
12
)
13
-from vllm.models.deepseek_v4_1.attention import DeepseekV4Attention
14
-from vllm.models.deepseek_v4_1.common.ops import (
13
+from vllm.models.deepseek_v41.attention import DeepseekV4Attention
14
+from vllm.models.deepseek_v41.common.ops import (
15
combine_topk_swa_indices,
16
compute_global_topk_indices_and_lens,
17
dequantize_and_gather_k_cache,
18
)
19
-from vllm.models.deepseek_v4_1.sparse_mla import (
19
+from vllm.models.deepseek_v41.sparse_mla import (
20
DeepseekV4FlashMLABackend,
21
DeepseekV4FlashMLAMetadata,
22
DeepseekV41SparseSWAMetadataBuilder,
vllm/models/deepseek_v41/nvidia/model.py
renamed
+3
-3
@@ -63,12 +63,12 @@ from vllm.models.deepseek_v4.nvidia.model import (
63
from vllm.models.deepseek_v4.nvidia.model import (
64
make_deepseek_v4_expert_params_mapping,
65
)
66
-from vllm.models.deepseek_v4_1.attention import DeepseekV4Attention
67
-from vllm.models.deepseek_v4_1.nvidia.flashinfer_sparse import (
66
+from vllm.models.deepseek_v41.attention import DeepseekV4Attention
67
+from vllm.models.deepseek_v41.nvidia.flashinfer_sparse import (
68
DeepseekV4FlashInferMLAAttention,
69
DeepseekV4FlashInferSM120Attention,
70
)
71
-from vllm.models.deepseek_v4_1.nvidia.flashmla import DeepseekV4FlashMLAAttention
71
+from vllm.models.deepseek_v41.nvidia.flashmla import DeepseekV4FlashMLAAttention
72
from vllm.platforms import current_platform
73
from vllm.sequence import IntermediateTensors
74
from vllm.utils.math_utils import cdiv
vllm/models/deepseek_v41/nvidia/model_state.py
renamed
vllm/models/deepseek_v41/nvidia/vl_model.py
renamed
vllm/models/deepseek_v41/quant_config.py
renamed
vllm/models/deepseek_v41/sparse_mla.py
renamed
vllm/transformers_utils/configs/deepseek_v41.py
+1
-1
@@ -12,7 +12,7 @@ class DeepseekV41Config(PretrainedConfig):
12
tower under ``vision_config``. The vLLM model code (ported from
13
``deepseek_v4``) reads flat attributes, so both sub-configs are flattened
14
onto the top level here: text fields are exposed as-is, vision fields
15
- with the ``vision_*`` naming used by ``deepseek_v4_1.common.vision``.
15
+ with the ``vision_*`` naming used by ``deepseek_v41.common.vision``.
16
"""
17
18
model_type = "deepseek_v41"
vllm/v1/attention/backends/mla/sparse_swa.py
+1
-1
@@ -49,7 +49,7 @@ _LAYER_TYPE_C128A = "c128a"
49
# v4.1 ratio-1 / ratio-2 indexer layers: same indexer-path shape as C4A, but
50
# their compressed page block is block_size // ratio, so each gets its own plan.
51
# v4.1 builders classify layer types themselves (ratio 0 is SWA-only there); see
52
-# deepseek_v4_1/sparse_mla.py.
52
+# deepseek_v41/sparse_mla.py.
53
_LAYER_TYPE_C1A = "c1a"
54
_LAYER_TYPE_C2A = "c2a"
55
vllm/v1/attention/backends/registry.py
+2
-2
@@ -108,10 +108,10 @@ class AttentionBackendEnum(Enum, metaclass=_AttentionBackendEnumMeta):
108
# layer). Separate names from DSV4 so a V4.1 model never resolves the
109
# V4.0 backend classes through this enum.
110
FLASHMLA_SPARSE_DSV41 = (
111
- "vllm.models.deepseek_v4_1.sparse_mla.DeepseekV4FlashMLABackend"
111
+ "vllm.models.deepseek_v41.sparse_mla.DeepseekV4FlashMLABackend"
112
)
113
FLASHINFER_MLA_SPARSE_DSV41 = (
114
- "vllm.models.deepseek_v4_1.nvidia.flashinfer_sparse."
114
+ "vllm.models.deepseek_v41.nvidia.flashinfer_sparse."
115
"DeepseekV4FlashInferMLASparseBackend"
116
)
117
B12X = "vllm.v1.attention.backends.b12x.B12xPagedAttentionBackend"