Skip to content

Conversation

@dsikka
Copy link
Contributor

@dsikka dsikka commented Jul 29, 2025

Purpose

Test Plan

  • Adds smoke tests to test the speculator with a quantized target model
  • Tested performance with the dense target model:
[0.713 0.469]
conditional
[0.713 0.657]

@github-actions
Copy link

👋 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 fastcheck CI which starts running only a small and essential subset of CI tests to quickly catch errors. You can run other CI tests on top of those by going to your fastcheck build on Buildkite UI (linked in the PR checks section) and unblock them. If you do not have permission to unblock, ping simon-mo or khluu to add you in our Buildkite org.

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 ready label to the PR or enable auto-merge.

🚀

@mergify mergify bot added llama Related to Llama models qwen Related to Qwen models speculative-decoding labels Jul 29, 2025
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces support for Qwen models in speculative decoding by adding a generic 'speculators' configuration format. The changes are extensive, touching model configuration, argument parsing, and adding new config classes for speculators.

My review has identified a couple of critical bugs:

  1. An incorrect loop logic in vllm/config.py that would lead to faulty validation of supported models.
  2. A potential TypeError in vllm/transformers_utils/configs/speculators/base.py due to unsafe dictionary access.

I've also pointed out a weak assertion in a new test file that should be strengthened to prevent future regressions.

Please address these issues to ensure the stability and correctness of this new feature.

@dsikka dsikka changed the title [Speculators][Speculative Decoding] Add support for Qwen [Speculators][Speculative Decoding] Add support for Qwen Eagle3 Support Jul 29, 2025
@dsikka dsikka changed the title [Speculators][Speculative Decoding] Add support for Qwen Eagle3 Support [Speculators][Speculative Decoding] Add Qwen Eagle3 Support Jul 30, 2025
@mergify
Copy link

mergify bot commented Jul 30, 2025

This pull request has merge conflicts that must be resolved before it can be
merged. Please rebase the PR, @dsikka.

https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork

@dsikka dsikka requested a review from mgoin August 1, 2025 13:59
Copy link
Member

@mgoin mgoin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@mgoin mgoin added the ready ONLY add when PR is ready to merge/full CI is needed label Aug 1, 2025
dsikka added 5 commits August 1, 2025 17:44
Signed-off-by: Dipika Sikka <dipikasikka1@gmail.com>
Signed-off-by: Dipika Sikka <dipikasikka1@gmail.com>
Signed-off-by: Dipika Sikka <dipikasikka1@gmail.com>
Signed-off-by: Dipika Sikka <dipikasikka1@gmail.com>
Signed-off-by: Dipika Sikka <dipikasikka1@gmail.com>
Signed-off-by: Dipika Sikka <dipikasikka1@gmail.com>
@dsikka dsikka force-pushed the spec_eagle3_qwen branch from 6612d13 to 95eb570 Compare August 1, 2025 17:44
self.make_empty_intermediate_tensors = (
self.model.make_empty_intermediate_tensors)

def set_aux_hidden_state_layers(self, layers: tuple[int]) -> None:
Copy link
Member

@DarkLight1337 DarkLight1337 Aug 2, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's add an explicit interface for supporting eagle3 (SupportsEagle3) in another PR

@vllm-bot vllm-bot merged commit 9f9c38c into vllm-project:main Aug 2, 2025
41 of 43 checks passed
npanpaliya pushed a commit to odh-on-pz/vllm-upstream that referenced this pull request Aug 6, 2025
jinzhen-lin pushed a commit to jinzhen-lin/vllm that referenced this pull request Aug 9, 2025
…ject#21835)

Signed-off-by: Dipika Sikka <dipikasikka1@gmail.com>
Signed-off-by: Jinzhen Lin <linjinzhen@hotmail.com>
noamgat pushed a commit to noamgat/vllm that referenced this pull request Aug 9, 2025
…ject#21835)

Signed-off-by: Dipika Sikka <dipikasikka1@gmail.com>
Signed-off-by: Noam Gat <noamgat@gmail.com>
paulpak58 pushed a commit to paulpak58/vllm that referenced this pull request Aug 13, 2025
…ject#21835)

Signed-off-by: Dipika Sikka <dipikasikka1@gmail.com>
Signed-off-by: Paul Pak <paulpak58@gmail.com>
diegocastanibm pushed a commit to diegocastanibm/vllm that referenced this pull request Aug 15, 2025
…ject#21835)

Signed-off-by: Dipika Sikka <dipikasikka1@gmail.com>
Signed-off-by: Diego-Castan <diego.castan@ibm.com>
epwalsh pushed a commit to epwalsh/vllm that referenced this pull request Aug 28, 2025
zhewenl pushed a commit to zhewenl/vllm that referenced this pull request Aug 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

llama Related to Llama models qwen Related to Qwen models ready ONLY add when PR is ready to merge/full CI is needed speculative-decoding

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants