[Spec v2] Remove allocate_lens and enable over-allocation (#13478)

This commit is contained in:
Liangsheng Yin
2025-11-22 22:49:10 +08:00
committed by GitHub
parent 5625e32cae
commit 863124684c
8 changed files with 29 additions and 49 deletions
@@ -263,7 +263,6 @@ class SchedulerOutputProcessorMixin:
"""Resolve the padding next token ids for speculative decoding with overlap."""
assert result.next_token_ids.is_cpu
assert result.accept_lens.is_cpu
assert result.allocate_lens.is_cpu
next_token_ids = result.next_token_ids.tolist()
accept_lens = result.accept_lens.tolist()
@@ -271,7 +270,9 @@ class SchedulerOutputProcessorMixin:
predict_tokens = []
stride = self.draft_worker.speculative_num_draft_tokens
for i, req in enumerate(batch.reqs):
req.kv_committed_len += accept_lens[i]
predict_tokens.append(
next_token_ids[i * stride : i * stride + accept_lens[i]]
)
@@ -300,8 +301,6 @@ class SchedulerOutputProcessorMixin:
next_token_logprobs = logits_output.next_token_logprobs.tolist()
elif batch.is_v2_eagle:
next_token_ids = self._resolve_spec_overlap_token_ids(result, batch)
allocate_lens_list = result.allocate_lens.tolist()
accept_lens_list = result.accept_lens.tolist()
self.num_generated_tokens += len(batch.reqs)
if not batch.spec_algorithm.is_none():