diff --git a/fastdeploy/worker/gpu_model_runner.py b/fastdeploy/worker/gpu_model_runner.py index 2e0055a97..cf1a6d352 100644 --- a/fastdeploy/worker/gpu_model_runner.py +++ b/fastdeploy/worker/gpu_model_runner.py @@ -140,17 +140,10 @@ class GPUModelRunner(ModelRunnerBase): """ Check whether prefill stage finished """ - if self.enable_mm: - # VL only support 1 batch to prefill - prefill_statue = (self.share_inputs["seq_lens_this_time"] != 0) & ( - self.share_inputs["seq_lens_this_time"] != 1 - ) - return not paddle.any(prefill_statue).numpy() + if int(paddle.max(self.share_inputs["seq_lens_encoder"])) != 0: + return 1 else: - if int(paddle.max(self.share_inputs["seq_lens_encoder"])) != 0: - return 1 - else: - return 0 + return 0 def _init_speculative_proposer(self): """ diff --git a/fastdeploy/worker/worker_process.py b/fastdeploy/worker/worker_process.py index 4b968b179..9e2de2b97 100644 --- a/fastdeploy/worker/worker_process.py +++ b/fastdeploy/worker/worker_process.py @@ -278,7 +278,7 @@ class PaddleDisWorkerProc(): if self.local_rank % mp_num_per_node == 0: if self.task_queue.num_tasks() > 0: # VL only support 1 batch to prefill - if not self.fd_config.model_config.enable_mm or self.worker.prefill_finished(): + if not self.fd_config.model_config.enable_mm or not self.worker.prefill_finished(): if self.nnode > 1: self.task_queue.read_finish_flag.set(1) else: @@ -332,8 +332,7 @@ class PaddleDisWorkerProc(): # Execute model to generate token. The generated token will be written to the buffer. # These generated tokens can be obtained through get_output op. self.worker.execute_model(req_dicts) - if not self.fd_config.model_config.enable_mm: - self.exist_prefill_task_signal.value[0] = self.worker.prefill_finished() + self.exist_prefill_task_signal.value[0] = self.worker.prefill_finished() def determine_num_available_blocks(self) -> None: """Profiles the peak memory usage of the model to determine how many