-
-
Notifications
You must be signed in to change notification settings - Fork 11.8k
[feature] extend DBO to XBO #30120
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
base: main
Are you sure you want to change the base?
[feature] extend DBO to XBO #30120
Conversation
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 extends the Dual Batch Overlap (DBO) functionality to support a configurable number of microbatches (XBO). The changes primarily involve generalizing hardcoded values of 2 to a variable number of microbatches, which includes dynamically resizing lists for handles and buffers. The overall approach is sound, but there are a few areas for improvement regarding code clarity and robustness. Specifically, I've identified commented-out code that should be removed, debug logging statements that need to be cleaned up, and a fragile implementation using global variables that could be refactored for better maintainability.
Signed-off-by: jiangkuaixue123 <jiangxiaozhou111@163.com>
|
Documentation preview: https://vllm--30120.org.readthedocs.build/en/30120/ |
|
Hi @jiangkuaixue123, the pre-commit checks have failed. Please run: uv pip install pre-commit
pre-commit install
pre-commit run --all-filesThen, commit the changes and push to your branch. For future commits, |
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.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Signed-off-by: jiangkuaixue123 <jiangxiaozhou111@163.com>
|
Hi @jiangkuaixue123, the pre-commit checks have failed. Please run: uv pip install pre-commit
pre-commit install
pre-commit run --all-filesThen, commit the changes and push to your branch. For future commits, |
6f9ca26 to
752260f
Compare
|
Hi @jiangkuaixue123, the pre-commit checks have failed. Please run: uv pip install pre-commit
pre-commit install
pre-commit run --all-filesThen, commit the changes and push to your branch. For future commits, |
|
@LucasWilkinson This PR is ready for review. Could you please help take a look? Thank you! |
|
Hi @jiangkuaixue123, the pre-commit checks have failed. Please run: uv pip install pre-commit
pre-commit install
pre-commit run --all-filesThen, commit the changes and push to your branch. For future commits, |
3a70348 to
4fd5301
Compare
|
Hi @jiangkuaixue123, the pre-commit checks have failed. Please run: uv pip install pre-commit
pre-commit install
pre-commit run --all-filesThen, commit the changes and push to your branch. For future commits, |
|
PRs with failing pre-commit are not merged. |
I will fix it soon. |
|
Hi @jiangkuaixue123, the pre-commit checks have failed. Please run: uv pip install pre-commit
pre-commit install
pre-commit run --all-filesThen, commit the changes and push to your branch. For future commits, |
6dfea50 to
b47f798
Compare
Signed-off-by: jiangkuaixue123 <jiangxiaozhou111@163.com>
|
Hi @jiangkuaixue123, the pre-commit checks have failed. Please run: uv pip install pre-commit
pre-commit install
pre-commit run --all-filesThen, commit the changes and push to your branch. For future commits, Tip Is
|
Signed-off-by: jiangkuaixue123 <jiangxiaozhou111@163.com>
Purpose
As mentioned in #30105
This PR implements the extension of DBO to XBO in the codebase. I have added a command-line argument --num-of-microbatches to be used in conjunction with --enable-dbo.
At present, the core code modification for the DBO→XBO extension has been completed. The test results with 3 microbatches are still in progress and will be supplemented and attached to this PR as soon as they are available.
The main purpose of submitting this PR in advance is to seek feedback from reviewers on whether the current code modification approach is reasonable。
cc @SageMoore @LucasWilkinson
Usage
I have added the command-line argument --ubatch-size with a default value of 0. When --enable-dbo is enabled, --ubatch-size takes no effect. When --enable-dbo is disabled, if --ubatch-size is greater than 1, the ubatch process will be initiated with the corresponding number.
Test Result On gsm8k
Without ubatches
vllm serve "/home/dyvm6xra/dyvm6xrauser08/jcz/deepseek-v2-lite" --data_parallel_size=2 --enable_expert_parallelWith 2 ubatches
deepep_high_throughput:
deepep_low_latency:
The above experimental results indicate that the original DBO function works properly. Regarding microbatch splitting into 3 or 4 parts, its validity has been verified with the PR #29772.