From 2825f4f47f3dd5350fc9033ac62844791f11ec8a Mon Sep 17 00:00:00 2001 From: fyabc Date: Mon, 21 Apr 2025 15:42:53 +0800 Subject: [PATCH 1/2] Fix distributed bug --- vllm/model_executor/models/qwen2_5_vl.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/vllm/model_executor/models/qwen2_5_vl.py b/vllm/model_executor/models/qwen2_5_vl.py index d5bc3446edb8..30980316ecfc 100644 --- a/vllm/model_executor/models/qwen2_5_vl.py +++ b/vllm/model_executor/models/qwen2_5_vl.py @@ -198,9 +198,8 @@ def forward(self, x: torch.Tensor): def all_gather_interleave(local_tensor, hidden_size: int, tp_size: int): """All-gather the input tensor interleavely across model parallel group.""" - import torch.distributed as dist gathered_tensors = [torch.zeros_like(local_tensor) for _ in range(tp_size)] - dist.all_gather(gathered_tensors, local_tensor) + parallel_state.get_tp_group().all_gather(gathered_tensors, local_tensor) gathered_tensors_split = [ torch.split(tensor, hidden_size // tp_size, -1) From abf276d7e98851c6554f9091667819605612fecc Mon Sep 17 00:00:00 2001 From: fyabc Date: Tue, 22 Apr 2025 17:51:00 +0800 Subject: [PATCH 2/2] fix distributed bug again Signed-off-by: fyabc --- vllm/model_executor/models/qwen2_5_vl.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/vllm/model_executor/models/qwen2_5_vl.py b/vllm/model_executor/models/qwen2_5_vl.py index 30980316ecfc..0ab55411bad4 100644 --- a/vllm/model_executor/models/qwen2_5_vl.py +++ b/vllm/model_executor/models/qwen2_5_vl.py @@ -198,8 +198,11 @@ def forward(self, x: torch.Tensor): def all_gather_interleave(local_tensor, hidden_size: int, tp_size: int): """All-gather the input tensor interleavely across model parallel group.""" + import torch.distributed as dist gathered_tensors = [torch.zeros_like(local_tensor) for _ in range(tp_size)] - parallel_state.get_tp_group().all_gather(gathered_tensors, local_tensor) + dist.all_gather(gathered_tensors, + local_tensor, + group=parallel_state.get_tp_group().device_group) gathered_tensors_split = [ torch.split(tensor, hidden_size // tp_size, -1)