feat: support compatibility between MTP and two-batch-overlap (#7225)
Co-authored-by: Cheng Wan <54331508+ch-wan@users.noreply.github.com>
This commit is contained in:
@@ -679,6 +679,7 @@ class CudaGraphRunner:
|
||||
forward_mode=self.capture_forward_mode,
|
||||
bs=bs,
|
||||
num_token_non_padded=len(forward_batch.input_ids),
|
||||
spec_info=forward_batch.spec_info,
|
||||
)
|
||||
if forward_batch.forward_mode.is_idle() and forward_batch.spec_info is not None:
|
||||
forward_batch.spec_info.custom_mask = self.custom_mask
|
||||
|
||||
@@ -352,7 +352,9 @@ class ForwardBatch:
|
||||
|
||||
if ret.forward_mode.is_idle():
|
||||
ret.positions = torch.empty((0,), device=device)
|
||||
TboForwardBatchPreparer.prepare(ret)
|
||||
TboForwardBatchPreparer.prepare(
|
||||
ret, is_draft_worker=model_runner.is_draft_worker
|
||||
)
|
||||
return ret
|
||||
|
||||
# Override the positions with spec_info
|
||||
@@ -397,7 +399,9 @@ class ForwardBatch:
|
||||
if model_runner.server_args.lora_paths is not None:
|
||||
model_runner.lora_manager.prepare_lora_batch(ret)
|
||||
|
||||
TboForwardBatchPreparer.prepare(ret)
|
||||
TboForwardBatchPreparer.prepare(
|
||||
ret, is_draft_worker=model_runner.is_draft_worker
|
||||
)
|
||||
|
||||
return ret
|
||||
|
||||
|
||||
@@ -1039,7 +1039,7 @@ class ModelRunner:
|
||||
|
||||
def init_attention_backend(self):
|
||||
"""Init attention kernel backend."""
|
||||
if self.server_args.enable_two_batch_overlap:
|
||||
if self.server_args.enable_two_batch_overlap and not self.is_draft_worker:
|
||||
self.attn_backend = TboAttnBackend.init_new(self._get_attention_backend)
|
||||
else:
|
||||
self.attn_backend = self._get_attention_backend()
|
||||
|
||||
Reference in New Issue
Block a user