Skip to content

[Bugfix] Declare SupportsEagle3 on KimiLinearForCausalLM - #52171

Merged
DarkLight1337 merged 1 commit into
vllm-project:mainfrom
nickus:fix-kimi-linear-eagle3
Aug 13, 2026
Merged

[Bugfix] Declare SupportsEagle3 on KimiLinearForCausalLM#52171
DarkLight1337 merged 1 commit into
vllm-project:mainfrom
nickus:fix-kimi-linear-eagle3

Conversation

@nickus

@nickus nickus commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Purpose

KimiK3ForConditionalGeneration (multimodal) declares SupportsEagle3; the text-only KimiLinearForCausalLM does not — even though both serve the same inner KimiLinearModel, which already inherits EagleModelMixin and implements the aux-hidden-state tap machinery. Serving a text-only Kimi-K3 checkpoint with EAGLE3-family speculative decoding (e.g. dspark) therefore dies at startup:

RuntimeError: Model does not support EAGLE3 interface

Adding the interface to the class bases is the whole fix: the protocol's default set_aux_hidden_state_layers / get_eagle3_default_aux_hidden_state_layers delegate to self.model, which satisfies their EagleModelMixin requirement.

Test plan

  • tests/models/kimi_k3/test_eagle3.py gains test_kimi_linear_advertises_eagle3_support, mirroring the existing multimodal assertion; it fails on main and passes with this change.
  • Runtime-validated: a text-only Kimi-K3 checkpoint served with a dspark draft on 8× RTX 3090 using an equivalent patch (that is how we hit the error).

Assisted-By: Claude

The multimodal KimiK3ForConditionalGeneration declares SupportsEagle3, but the
text-only KimiLinearForCausalLM does not - even though both serve the same
inner KimiLinearModel, which already inherits EagleModelMixin and implements
the aux-hidden-state tap machinery. As a result, serving a text-only Kimi-K3
checkpoint with EAGLE3-family speculative decoding (e.g. dspark) is rejected
at startup:

    RuntimeError: Model does not support EAGLE3 interface

Adding the interface to the class bases is sufficient: the protocol's default
set_aux_hidden_state_layers / get_eagle3_default_aux_hidden_state_layers
delegate to self.model, which satisfies the EagleModelMixin requirement.

Verified by serving a text-only Kimi-K3 checkpoint with a dspark draft on
8x RTX 3090 with an equivalent runtime patch.

Assisted-By: Claude

Signed-off-by: Nick Iusiumbeli <nickuspro@gmail.com>

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

@mergify mergify Bot added kimi k3 bug Something isn't working labels Aug 13, 2026
@DarkLight1337 DarkLight1337 added the verified Run pre-commit for new contributors without triggering other tests label Aug 13, 2026
@DarkLight1337
DarkLight1337 enabled auto-merge (squash) August 13, 2026 14:06
@DarkLight1337

Copy link
Copy Markdown
Member

/ci run

@github-actions github-actions Bot added the ready ONLY add when PR is ready to merge/full CI is needed label Aug 13, 2026
@github-actions

Copy link
Copy Markdown

✅ Triggered Buildkite CI #83739 for commit 52313989a42a.

@DarkLight1337
DarkLight1337 merged commit 83d4c61 into vllm-project:main Aug 13, 2026
72 of 78 checks passed
@aoshen02

Copy link
Copy Markdown
Collaborator

How can 8× RTX 3090 serve kimi k3? cc @DarkLight1337

@DarkLight1337

Copy link
Copy Markdown
Member

I don't think you got enough VRAM for that

Alessandra005 pushed a commit to Alessandra005/vllm that referenced this pull request Aug 17, 2026
…t#52171)

Signed-off-by: Nick Iusiumbeli <nickuspro@gmail.com>
Signed-off-by: Alessandra005 <aurib032@fiu.edu>
zyp2014 pushed a commit to zyp2014/vllm that referenced this pull request Aug 21, 2026
…t#52171)

Signed-off-by: Nick Iusiumbeli <nickuspro@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working k3 kimi ready ONLY add when PR is ready to merge/full CI is needed verified Run pre-commit for new contributors without triggering other tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants