Add metrics for speculative decoding (acceptance rate, average acceptance length) (#11441)
This commit is contained in:
@@ -127,6 +127,7 @@ class SchedulerStats:
|
||||
|
||||
# Speculative decoding
|
||||
spec_accept_length: float = 0.0
|
||||
spec_accept_rate: float = 0.0
|
||||
|
||||
# Retract
|
||||
num_retracted_reqs: int = 0
|
||||
@@ -220,6 +221,12 @@ class SchedulerMetricsCollector:
|
||||
labelnames=labels.keys(),
|
||||
multiprocess_mode="mostrecent",
|
||||
)
|
||||
self.spec_accept_rate = Gauge(
|
||||
name="sglang:spec_accept_rate",
|
||||
documentation="The average acceptance rate of speculative decoding (`accepted tokens / total draft tokens` in batch).",
|
||||
labelnames=labels.keys(),
|
||||
multiprocess_mode="mostrecent",
|
||||
)
|
||||
|
||||
# Retract
|
||||
self.num_retracted_reqs = Gauge(
|
||||
@@ -520,6 +527,7 @@ class SchedulerMetricsCollector:
|
||||
|
||||
# Speculative decoding
|
||||
self._log_gauge(self.spec_accept_length, stats.spec_accept_length)
|
||||
self._log_gauge(self.spec_accept_rate, stats.spec_accept_rate)
|
||||
|
||||
# PD disaggregation
|
||||
self._log_gauge(
|
||||
|
||||
Reference in New Issue
Block a user