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

[V1] Initial support of multimodal models for V1 re-arch #10699

Merged
merged 31 commits into from
Dec 8, 2024

Conversation

ywang96
Copy link
Member

@ywang96 ywang96 commented Nov 27, 2024

This PR adds V1 support for selected image language models

Signed-off-by: Roger Wang <[email protected]>
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.

🚀

Signed-off-by: Roger Wang <[email protected]>
@DarkLight1337 DarkLight1337 self-assigned this Nov 28, 2024
ywang96 and others added 10 commits November 30, 2024 11:20
Signed-off-by: Roger Wang <[email protected]>
Signed-off-by: Roger Wang <[email protected]>
Signed-off-by: Roger Wang <[email protected]>
Signed-off-by: Roger Wang <[email protected]>
Signed-off-by: Roger Wang <[email protected]>
Signed-off-by: Roger Wang <[email protected]>
Signed-off-by: Roger Wang <[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.

Model changes look good to me overall. We can consider passing the placeholder indices to get_input_embeddings so that the relationship between input_ids and multimodal_embeddings becomes more explicit.

We should add tests to ensure that these models actually work in V1.

@ywang96
Copy link
Member Author

ywang96 commented Dec 2, 2024

We can consider passing the placeholder indices to get_input_embeddings so that the relationship between input_ids and multimodal_embeddings becomes more explicit.

Hmm I don't think that alone will help actually because V1 assumes chunked prefill by default. Unless we're passing additional information such as computed tokens per request, the model runner doesn't know the original indices of input_ids in their corresponding requests.

vllm/v1/engine/llm_engine.py Show resolved Hide resolved
vllm/model_executor/models/interfaces.py Show resolved Hide resolved
vllm/multimodal/inputs.py Outdated Show resolved Hide resolved
vllm/model_executor/models/utils.py Show resolved Hide resolved
Signed-off-by: Roger Wang <[email protected]>
Signed-off-by: Roger Wang <[email protected]>
Signed-off-by: Roger Wang <[email protected]>
Signed-off-by: Roger Wang <[email protected]>
Signed-off-by: Roger Wang <[email protected]>
Copy link
Collaborator

@WoosukKwon WoosukKwon left a comment

Choose a reason for hiding this comment

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

LGTM! It'd be nice if @DarkLight1337 can also take another look.

Copy link

mergify bot commented Dec 7, 2024

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

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

@mergify mergify bot added the needs-rebase label Dec 7, 2024
@mergify mergify bot removed the needs-rebase label Dec 7, 2024
@ywang96 ywang96 added ready ONLY add when PR is ready to merge/full CI is needed needs-rebase and removed needs-rebase labels Dec 7, 2024
@ywang96 ywang96 enabled auto-merge (squash) December 7, 2024 22:47
Signed-off-by: Roger Wang <[email protected]>
@ywang96 ywang96 disabled auto-merge December 8, 2024 10:48
@ywang96
Copy link
Member Author

ywang96 commented Dec 8, 2024

It seems that we have tests related to using image embeddings as input, indicating usage of this feature from the community (which will be a breaking change in V1 since we cannot take batched image embedding directly as input), thus I'm separating Qwen2VL out to unblock this PR.

Signed-off-by: Roger Wang <[email protected]>
@ywang96 ywang96 enabled auto-merge (squash) December 8, 2024 12:28
@ywang96 ywang96 merged commit a11f326 into vllm-project:main Dec 8, 2024
54 checks passed
@DarkLight1337
Copy link
Member

LGTM! It'd be nice if @DarkLight1337 can also take another look.

Sorry for the late reply, it looks good to me.

sleepwalker2017 pushed a commit to sleepwalker2017/vllm that referenced this pull request Dec 13, 2024
BKitor pushed a commit to BKitor/vllm that referenced this pull request Dec 30, 2024
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