[CI][xlite] Match xlite backend with the current main and add e2e MoE model test coverage - #12246
[CI][xlite] Match xlite backend with the current main and add e2e MoE model test coverage#12246SijieFu wants to merge 4 commits into
Conversation
…h the current main with vllm==0.24.0 Signed-off-by: Sijie Fu <fusijie@huawei.com>
…rdXliteModel` Signed-off-by: Sijie Fu <fusijie@huawei.com>
Signed-off-by: Sijie Fu <fusijie@huawei.com>
Signed-off-by: Sijie Fu <fusijie@huawei.com>
|
👋 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. |
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request aligns the xlite backend with the latest main branch and vLLM version. It introduces a significant refactoring of the model adapter hierarchy, centralizing weight loading logic to improve maintainability. Additionally, the PR expands test coverage by adding new e2e tests for MoE models and updating existing test configurations to ensure stability across different hardware setups. Highlights
New Features🧠 You can now enable Memory (public preview) to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Ignored Files
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Code Review
Suggested PR Title:
[Ops][Misc] Refactor Xlite model adapters and add MoE multi-card testsSuggested PR Summary:
### What this PR does / why we need it?
This pull request refactors the xlite integration by consolidating MoE adapter weight-loading logic into a unified StandardXliteModel base class, upgrading the xlite dependency, and adding two-card MoE e2e tests. However, the refactoring introduces critical bugs where conditionally assigned attributes (mha_q_norm, mha_k_norm, and mha_qkv_bias) are accessed immediately after the condition block, which will raise AttributeError crashes when the conditions are not met.
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
Tested with updated single-card and new two-card e2e tests for MoE serving.
What this PR does / why we need it?
This PR brings the
xlitebackend in line with the current main andvllm==0.24.0, refactors xlite model adapter/docking with its backend implementation, re-enables and adds e2e coverage for the xlite graph mode, and bumps the pinnedxlitedependency to the latest dev release.Refer to PR #12019 for the context.
More specifically,
main2mainupdate forxlite;xlitepackage to its latest dev vesion.Does this PR introduce any user-facing change?
No.
How was this patch tested?
e2e test
The following tests were run locally on Atlas A3 and passed:
main2main update + refactoring
We benchmarked model accuracies with multiple models using
aisbench. The batch_aisbench.py script was used with 208 questions from thecevaldataset:For most models, no accuracy regression was observed, except:
Qwen3-VL-32B-Instructserved withxlite decode-onlymode showed degraded accuracy - upon further investigation, the model's outputs contained random texts for certain questions, likely a previously existing issue (e.g., PR [BugFix][xlite] Performance improvement in xlite full mode by avoiding redundant memory allocation during profiling runs #11380).MiniMax-M2.7-w8a8-QuaRotserved withxlite decode-only + aclgraph for prefillandaclgraphthrew anAttributionErrorduring serving, likely not related toxlitesincexlite full modeworked correctly.