[Bugfix] mamba-block-size is set for vision language model (#27773)

Signed-off-by: Chen Zhang <zhangch99@outlook.com>
This commit is contained in:
Chen Zhang
2025-10-29 19:39:57 -07:00
committed by GitHub
parent b798e39f93
commit d7fb10c574
2 changed files with 16 additions and 10 deletions

View File

@ -5,7 +5,7 @@ import hashlib
from dataclasses import field from dataclasses import field
from typing import TYPE_CHECKING, Any, Literal from typing import TYPE_CHECKING, Any, Literal
from pydantic import Field, SkipValidation, field_validator, model_validator from pydantic import Field, SkipValidation, field_validator
from pydantic.dataclasses import dataclass from pydantic.dataclasses import dataclass
from vllm.config.utils import config from vllm.config.utils import config
@ -185,11 +185,3 @@ class CacheConfig:
raise ValueError("Too large swap space. " + msg) raise ValueError("Too large swap space. " + msg)
elif cpu_memory_usage > 0.4 * total_cpu_memory: elif cpu_memory_usage > 0.4 * total_cpu_memory:
logger.warning("Possibly too large swap space. %s", msg) logger.warning("Possibly too large swap space. %s", msg)
@model_validator(mode="after")
def validate_mamba_block_size(self) -> "CacheConfig":
if self.mamba_block_size is not None and not self.enable_prefix_caching:
raise ValueError(
"--mamba-block-size can only be set with --enable-prefix-caching"
)
return self

View File

@ -17,7 +17,7 @@ from pathlib import Path
from typing import TYPE_CHECKING, Any, TypeVar from typing import TYPE_CHECKING, Any, TypeVar
import torch import torch
from pydantic import ConfigDict, Field from pydantic import ConfigDict, Field, model_validator
from pydantic.dataclasses import dataclass from pydantic.dataclasses import dataclass
import vllm.envs as envs import vllm.envs as envs
@ -943,6 +943,20 @@ class VllmConfig:
f"compilation_config={self.compilation_config!r}" f"compilation_config={self.compilation_config!r}"
) )
@model_validator(mode="after")
def validate_mamba_block_size(self) -> "VllmConfig":
if self.model_config is None:
return self
mamba_block_size_is_set = (
self.cache_config.mamba_block_size is not None
and self.cache_config.mamba_block_size != self.model_config.max_model_len
)
if mamba_block_size_is_set and not self.cache_config.enable_prefix_caching:
raise ValueError(
"--mamba-block-size can only be set with --enable-prefix-caching"
)
return self
_current_vllm_config: VllmConfig | None = None _current_vllm_config: VllmConfig | None = None
_current_prefix: str | None = None _current_prefix: str | None = None