-
Notifications
You must be signed in to change notification settings - Fork 629
[Core] Encoder separation for Encode-Prefill-Decode Disaggregation #4176
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
|
👋 Hi! Thank you for contributing to the vLLM Ascend project. The following points will speed up your PR merge:
If CI fails, you can run linting and testing checks locally according Contributing and Testing. |
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 support for encode-prefill-decode disaggregation by separating the encoder execution path. Workers can now be designated as encoder producers, which exclusively run the multimodal encoder and transfer the resulting embeddings, bypassing the decoding process. The implementation correctly adds logic for producer and consumer roles. However, I've identified a critical bug where consumer ranks incorrectly re-execute the encoder, which overwrites the embeddings they just received. My review provides a necessary fix for this issue.
|
Are there any proxies that support EPD currently? |
|
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
17f1100 to
63971b1
Compare
|
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
63971b1 to
ad5aaa2
Compare
170adfc to
073df5a
Compare
92c5ecc to
adce4f1
Compare
|
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Signed-off-by: amy-why-3459 <[email protected]>
adce4f1 to
85306a9
Compare
|
Thanks for this great work, do you have any plan to add e2e test for this feature? |
We will add use cases as soon as possible. |
…llm-project#4176) ### What this PR does / why we need it? Support Encoder separation for Encode-Prefill-Decode Disaggregation - vLLM version: v0.11.2 - vLLM main: https://github.com/vllm-project/vllm/commit/v0.11.2 Signed-off-by: amy-why-3459 <[email protected]> Signed-off-by: Che Ruan <[email protected]>
…llm-project#4176) ### What this PR does / why we need it? Support Encoder separation for Encode-Prefill-Decode Disaggregation - vLLM version: v0.11.2 - vLLM main: https://github.com/vllm-project/vllm/commit/v0.11.2 Signed-off-by: amy-why-3459 <[email protected]> Signed-off-by: Che Ruan <[email protected]>
…llm-project#4176) ### What this PR does / why we need it? Support Encoder separation for Encode-Prefill-Decode Disaggregation - vLLM version: v0.11.2 - vLLM main: https://github.com/vllm-project/vllm/commit/v0.11.2 Signed-off-by: amy-why-3459 <[email protected]>
What this PR does / why we need it?
Encoder separation for Encode-Prefill-Decode Disaggregation
Does this PR introduce any user-facing change?
How was this patch tested?