Skip to content
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

[Misc] Pass attention to impl backend #12218

Merged
merged 2 commits into from
Jan 20, 2025

Conversation

wangxiyuan
Copy link
Contributor

@wangxiyuan wangxiyuan commented Jan 20, 2025

With #11969, a quantization method can be implemented and register to vLLM out-of-tree now. But there is no way to use the registered parameter for attention layer in custom attention backend impl.

This PR pass the attention object to attention backend, so that the backend can use the parameters registered by quantization attention method directly to keep the same with other kind of quantization method(Linear, MoE)

Copy link

👋 Hi! Thank you for contributing to the vLLM project.
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 do one of these:

  • Add ready label to the PR
  • Enable auto-merge.

🚀

@@ -244,13 +244,12 @@ def __init__(
@abstractmethod
def forward(
self,
layer: torch.nn.Module,
Copy link
Member

Choose a reason for hiding this comment

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

Can we specify an interface for the attention layer explicitly?

Copy link
Contributor Author

@wangxiyuan wangxiyuan Jan 20, 2025

Choose a reason for hiding this comment

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

Sorry if I missed your suggestion. Do you mean to add an interface in Attention and get/set parameters there?

Attention inherits from torch.nn.Module which contains register_parameter and get_parameter func already.

Copy link
Member

Choose a reason for hiding this comment

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

I mean that we can define a typing.Protocol so we know which attributes of the layer we are supposed to access.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Got it, just pushed a new commit. Not sure it's what you want or not. Need your feedback. Thanks.

Signed-off-by: wangxiyuan <[email protected]>
Copy link
Member

@DarkLight1337 DarkLight1337 left a comment

Choose a reason for hiding this comment

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

Yes, this is what I meant. Thanks for updating this!

@DarkLight1337 DarkLight1337 enabled auto-merge (squash) January 20, 2025 12:51
@github-actions github-actions bot added the ready ONLY add when PR is ready to merge/full CI is needed label Jan 20, 2025
@youkaichao youkaichao disabled auto-merge January 20, 2025 15:25
@youkaichao youkaichao merged commit 86bfb6d into vllm-project:main Jan 20, 2025
47 of 52 checks passed
mhendrey pushed a commit to mhendrey/vllm that referenced this pull request Jan 23, 2025
Signed-off-by: wangxiyuan <[email protected]>
Signed-off-by: Matthew Hendrey <[email protected]>
yessenzhar pushed a commit to deepinfra/vllm that referenced this pull request Jan 23, 2025
abmfy pushed a commit to abmfy/vllm-flashinfer that referenced this pull request Jan 24, 2025
abmfy pushed a commit to abmfy/vllm-flashinfer that referenced this pull request Jan 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready ONLY add when PR is ready to merge/full CI is needed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants