A high-throughput and memory-efficient inference and serving engine for LLMs
Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git
Synced Nov 14, 05:30 UTC
[Misc] Minor code simplification for spec decode (#24053)
Signed-off-by: Woosuk Kwon <woosuk.kwon@berkeley.edu>
Woosuk Kwon committed
Sep 1, 2025 at 08:54 UTC
39a22dcaac707ebc6c79bfbfc12d6375a2094f38
1 file changed
+7
-7
vllm/v1/core/sched/scheduler.py
+7
-7
@@ -873,19 +873,19 @@ class Scheduler(SchedulerInterface):
873
scheduled_spec_token_ids = (
874
scheduler_output.scheduled_spec_decode_tokens.get(req_id))
875
if scheduled_spec_token_ids:
876
+ num_draft_tokens = len(scheduled_spec_token_ids)
877
+ num_accepted = len(generated_token_ids) - 1
878
+ num_rejected = num_draft_tokens - num_accepted
879
# num_computed_tokens represents the number of tokens
880
# processed in the current step, considering scheduled
881
# tokens and rejections. If some tokens are rejected,
882
# num_computed_tokens is decreased by the number of rejected
880
- # tokens, where is given by:
881
- # len(scheduled_spec_token_ids) + 1 - len(generated_token_ids).
882
- num_tokens_rejected = (len(scheduled_spec_token_ids) + 1 -
883
- len(generated_token_ids))
884
- request.num_computed_tokens -= num_tokens_rejected
883
+ # tokens.
884
+ request.num_computed_tokens -= num_rejected
885
spec_decoding_stats = self.make_spec_decoding_stats(
886
spec_decoding_stats,
887
- num_draft_tokens=len(scheduled_spec_token_ids),
888
- num_accepted_tokens=len(generated_token_ids) - 1)
887
+ num_draft_tokens=num_draft_tokens,
888
+ num_accepted_tokens=num_accepted)
889
890
stopped = False
891
new_logprobs = None