[UX] Add --performance-mode {balanced,interactivity,throughput} (#34936)
Signed-off-by: mgoin <mgoin64@gmail.com>
This commit is contained in:
@@ -89,7 +89,7 @@ from vllm.config.parallel import (
|
||||
)
|
||||
from vllm.config.scheduler import SchedulerPolicy
|
||||
from vllm.config.utils import get_field
|
||||
from vllm.config.vllm import OptimizationLevel
|
||||
from vllm.config.vllm import OptimizationLevel, PerformanceMode
|
||||
from vllm.logger import init_logger, suppress_logging
|
||||
from vllm.platforms import CpuArchEnum, current_platform
|
||||
from vllm.plugins import load_general_plugins
|
||||
@@ -596,6 +596,7 @@ class EngineArgs:
|
||||
|
||||
kv_sharing_fast_prefill: bool = CacheConfig.kv_sharing_fast_prefill
|
||||
optimization_level: OptimizationLevel = VllmConfig.optimization_level
|
||||
performance_mode: PerformanceMode = VllmConfig.performance_mode
|
||||
|
||||
kv_offloading_size: float | None = CacheConfig.kv_offloading_size
|
||||
kv_offloading_backend: KVOffloadingBackend = CacheConfig.kv_offloading_backend
|
||||
@@ -1264,6 +1265,7 @@ class EngineArgs:
|
||||
vllm_group.add_argument(
|
||||
"--optimization-level", **vllm_kwargs["optimization_level"]
|
||||
)
|
||||
vllm_group.add_argument("--performance-mode", **vllm_kwargs["performance_mode"])
|
||||
vllm_group.add_argument(
|
||||
"--weight-transfer-config", **vllm_kwargs["weight_transfer_config"]
|
||||
)
|
||||
@@ -1894,6 +1896,7 @@ class EngineArgs:
|
||||
profiler_config=self.profiler_config,
|
||||
additional_config=self.additional_config,
|
||||
optimization_level=self.optimization_level,
|
||||
performance_mode=self.performance_mode,
|
||||
weight_transfer_config=self.weight_transfer_config,
|
||||
)
|
||||
|
||||
@@ -2110,6 +2113,13 @@ class EngineArgs:
|
||||
SchedulerConfig.DEFAULT_MAX_NUM_SEQS,
|
||||
)
|
||||
|
||||
# If throughput mode is set, double max_num_batched_tokens and max_num_seqs.
|
||||
if self.performance_mode == "throughput":
|
||||
if orig_max_num_batched_tokens is None:
|
||||
self.max_num_batched_tokens *= 2
|
||||
if orig_max_num_seqs is None:
|
||||
self.max_num_seqs *= 2
|
||||
|
||||
if orig_max_num_batched_tokens is None:
|
||||
assert model_config.max_model_len is not None, (
|
||||
"max_model_len must be set by this point"
|
||||
|
||||
Reference in New Issue
Block a user