diff --git a/vllm/config/vllm.py b/vllm/config/vllm.py index f74317975f..7bf75a67b2 100644 --- a/vllm/config/vllm.py +++ b/vllm/config/vllm.py @@ -764,6 +764,16 @@ class VllmConfig: elif self.scheduler_config.async_scheduling is None: # Enable async scheduling unless there is an incompatible option. if ( + self.model_config is not None + and self.model_config.runner_type == "pooling" + ): + # The current implementation of asynchronous scheduling negatively + # impacts performance of pooling models, so we disable by default. + logger.debug( + "Disabling asynchronous scheduling by default for pooling model." + ) + self.scheduler_config.async_scheduling = False + elif ( self.speculative_config is not None and self.speculative_config.method not in get_args(EagleModelTypes) and self.speculative_config.method not in get_args(NgramGPUTypes)