From c8b7516fe8aeebd442ddc0a8454b9d95563cf5b1 Mon Sep 17 00:00:00 2001 From: neo Date: Fri, 14 Nov 2025 00:54:50 +0800 Subject: [PATCH] Fix accept rate in speculative decoding metrics (#13212) --- python/sglang/srt/managers/scheduler_metrics_mixin.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/python/sglang/srt/managers/scheduler_metrics_mixin.py b/python/sglang/srt/managers/scheduler_metrics_mixin.py index 53714c9ed..2dd6511ef 100644 --- a/python/sglang/srt/managers/scheduler_metrics_mixin.py +++ b/python/sglang/srt/managers/scheduler_metrics_mixin.py @@ -274,9 +274,12 @@ class SchedulerMetricsMixin: self.spec_num_accepted_tokens / self.spec_num_forward_ct ) # Calculate acceptance rate: accepted tokens / total draft tokens - total_draft_tokens = self.spec_num_forward_ct * ( - (self.server_args.speculative_num_steps or 0) + 1 + draft_tokens_fallback = (self.server_args.speculative_num_steps or 0) + 1 + num_draft_tokens = ( + self.server_args.speculative_num_draft_tokens or draft_tokens_fallback ) + total_draft_tokens = self.spec_num_forward_ct * num_draft_tokens + spec_accept_rate = ( self.spec_num_accepted_tokens / total_draft_tokens if total_draft_tokens > 0