-
Notifications
You must be signed in to change notification settings - Fork 3.2k
[fsdp, vllm] feat: add NPU GRPO training scripts for Qwen3-VL-8B (FSDP/VLLM backends) #5250
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?
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 introduces a new training script for GRPO on Qwen3-VL-8B with NPU backends. The script is comprehensive, but I've identified a couple of critical issues with the Hydra configuration that would likely cause the script to fail at startup. Specifically, an invalid value is used for rollout_rs, and an undefined parameter rollout_token_veto_threshold is passed to the trainer. My review provides suggestions to fix these configuration errors.
| rollout_is_batch_normalize=true | ||
| rollout_rs=token | ||
| rollout_rs_threshold=0.6_1.6 | ||
| rollout_token_veto_threshold=1e-4 |
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.
| algorithm.rollout_correction.rollout_is_batch_normalize=${rollout_is_batch_normalize} \ | ||
| algorithm.rollout_correction.rollout_rs=${rollout_rs} \ | ||
| algorithm.rollout_correction.rollout_rs_threshold=${rollout_rs_threshold} \ | ||
| algorithm.rollout_correction.rollout_token_veto_threshold=${rollout_token_veto_threshold} \ |
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.
The configuration parameter algorithm.rollout_correction.rollout_token_veto_threshold is not defined in the RolloutCorrectionConfig dataclass (verl/trainer/config/algorithm.py). This will cause a ValidationError and crash the script. This line and the variable definition on line 20 should be removed.
What does this PR do?
Add NPU GRPO training scripts for Qwen3-VL-8B (FSDP/VLLM backends). The reward curves of this scenario are also shown.
Checklist Before Starting
[{modules}] {type}: {description}(This will be checked by the CI){modules}includefsdp,megatron,veomni,sglang,vllm,rollout,trainer,ci,training_utils,recipe,hardware,deployment,ray,worker,single_controller,misc,perf,model,algo,env,tool,ckpt,doc,data,cfg,reward,like[megatron, fsdp, doc]{type}is infeat,fix,refactor,chore,test[BREAKING]to the beginning of the title.[BREAKING][fsdp, megatron] feat: dynamic batchingTest
API and Usage Example
# Add code snippet or script demonstrating how to use thisDesign & Code Changes
Checklist Before Submitting
Important
Please check all the following items before requesting a review, otherwise the reviewer might deprioritize this PR for review.
pre-commit install && pre-commit run --all-files --show-diff-on-failure --color=alwaysci-requestchannel in theverlSlack workspace. (If not accessible, please try the Feishu group (飞书群).)recipesubmodule, please also update the reference to the submodule commit viagit submodule update --remoteorcd recipe && git pull origin main.