-
-
Notifications
You must be signed in to change notification settings - Fork 10.8k
[V1][Spec Decode] Eagle interface #15334
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
👋 Hi! Thank you for contributing to the vLLM project. 💬 Join our developer Slack at https://slack.vllm.ai to discuss your PR in #pr-reviews, coordinate on features in #feat- channels, or join special interest groups in #sig- channels. Just a reminder: PRs would not trigger full CI run by default. Instead, it would only run Once the PR is approved and ready to go, your PR reviewer(s) can run CI to test the changes comprehensively before merging. To run CI, PR reviewers can either: Add 🚀 |
| num_new_tokens = (request.num_tokens_with_spec + | ||
| self.num_lookahead_slots - |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IIUC, this is not correct because num_lookahead_slots is only for memory allocation, not about how many tokens to be batched in this step.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can I ask how is self.num_lookahead_slots different from len(request.spec_token_ids)?
Isn't request.num_tokens_with_spec is taking into account the number of draft token for the req as it is def as len(request._all_token_ids) + len(request.spec_token_ids)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, probably self.num_lookahead_slots is needed for kv cache of transformer block in eagle proposer? If so, then we need a bigger kvc for eagle module when doing prefill since the entire prompt is processed by the eagle module.
| @abstractmethod | ||
| def generate_draft_token_ids( | ||
| self, input_batch: InputBatch, sampled_token_ids: list[list[int]], | ||
| sampling_metadata: SamplingMetadata) -> list[list[int]]: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
change it similar to *args
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add if statement in the model_runner to pass in different parameters
|
This pull request has merge conflicts that must be resolved before it can be |
This PR
Some notes: