Revert "Try to remove wrong logic about max total token in spec decoding" (#14259)
This commit is contained in:
@@ -1697,8 +1697,25 @@ class ModelRunner:
|
||||
|
||||
if self.spec_algorithm.is_eagle() or self.spec_algorithm.is_standalone():
|
||||
if self.is_draft_worker:
|
||||
self.max_total_num_tokens = self.server_args.draft_runner_cache_size
|
||||
max_num_reqs = self.server_args.max_num_reqs
|
||||
else:
|
||||
# We are sharing the `token_to_kv_pool`, and both verify and draft tokens
|
||||
# can be concurrently allocated, so we should give a headroom for it.
|
||||
self.server_args.draft_runner_cache_size = (
|
||||
self.max_total_num_tokens
|
||||
# draft
|
||||
+ max_num_reqs
|
||||
* self.server_args.speculative_num_steps
|
||||
* self.server_args.speculative_eagle_topk
|
||||
# verify
|
||||
+ max_num_reqs * self.server_args.speculative_num_draft_tokens
|
||||
# buffer
|
||||
+ 100
|
||||
)
|
||||
# Target worker and draft worker shares the same indices for the
|
||||
# token_to_kv_pool, so we should make sure to match max_total_num_tokens.
|
||||
self.max_total_num_tokens = self.server_args.draft_runner_cache_size
|
||||
self.server_args.max_num_reqs = max_num_reqs
|
||||
|
||||
if max_total_tokens is not None:
|
||||
|
||||
Reference in New Issue
Block a user