-
-
Notifications
You must be signed in to change notification settings - Fork 10.6k
[Model] Add option to run Step3VisionEncoder in DP #22697
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
Signed-off-by: zzh142857 <chaorenzhaozhenghao@gmail.com>
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.
Code Review
This pull request introduces an option to run the step3 vision encoder with data parallelism, which is a great performance enhancement. The implementation is clean and follows existing patterns in the vLLM codebase. The logic for conditionally using ReplicatedLinear
for data parallelism and the sharding/gathering of data in run_dp_sharded_vision_model
seems correct. The changes are well-contained and properly gated by the new configuration flag. Overall, this is a solid contribution.
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.
This LGTM but please fix pre-commit
👋 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 🚀 |
Signed-off-by: zzh142857 <chaorenzhaozhenghao@gmail.com>
Thanks. For reference, can you also run E2E benchmarks ( |
@DarkLight1337 is this PR good to merge? |
Yes, you can merge this. The benchmark results can be updated in the PR description later |
Actually let me just merge this myself |
Signed-off-by: zzh142857 <chaorenzhaozhenghao@gmail.com> Signed-off-by: Diego-Castan <diego.castan@ibm.com>
Signed-off-by: zzh142857 <chaorenzhaozhenghao@gmail.com>
Signed-off-by: zzh142857 <chaorenzhaozhenghao@gmail.com>
Signed-off-by: zzh142857 <chaorenzhaozhenghao@gmail.com>
Signed-off-by: zzh142857 <chaorenzhaozhenghao@gmail.com> Signed-off-by: Xiao Yu <xiao.yu@amd.com>
Signed-off-by: zzh142857 <chaorenzhaozhenghao@gmail.com>
Essential Elements of an Effective PR Description Checklist
Purpose
Add option to run step3 vision encoder in data parallel manner while the main model is in TP. Can be enabled by flag: vllm_config.parallel_config.enable_multimodal_encoder_data_parallel
Test Plan
Run step3 model and print GPU trace
Test Result
From local benchmark, vision encoder latency can be reduced by ~45%.


Trace before:
Trace after:
E2E benchmark:
Tested e2e with 320 max batch size, QPS has ~10% improvement (from 3.02 to 3.3), TTFT reduced from 3311ms to 3176ms.
(Optional) Documentation Update