[RFC] Support GLM-5.3-Flash RL Training on Ascend 950 NPUs
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- python
- Domain
- machine-learning
Research direction
Start by reading scripts/run-glm5.3-flash-300B.sh, the relevant files in docker/npu_patch/, and the model path in slime_plugins/models/. Identify the Ascend 950 software and configuration requirements, then compare operator outputs and gradients with reference implementations. Done means documenting setup and supported versions, completing end-to-end RL iterations, and reporting stability, throughput, memory use, and regression results.
Written by the indexing model from the issue text.
Description
We propose adding native support for GLM-5.3-Flash (300B) RL training on Ascend 950 NPUs, using scripts/run-glm5.3-flash-300B.sh with the same model and training configuration, adapting hardware-specific settings as needed.
The implementation will reuse existing model and training code, keep Ascend-specific changes isolated, and preserve existing functionality and default behavior.
1. Proposed changes
- Environment installation guide: Document validated software versions, container setup, dependencies, multi-node configuration, and launch instructions.
- Update
docker/npu_patch/: Add or update the compatibility patches required for GLM-5.3-Flash training on Ascend 950 NPUs, documenting their purpose and supported dependency versions. - High-performance operators in
slime_plugins/models/: Integrate Ascend-optimized operators into the existing model path, with forward and backward support and minimal duplication.
2. Validation
- Verify operator outputs and gradients against reference implementations.
- Complete multiple end-to-end RL iterations, including rollout, policy updates, and weight synchronization.
- Report the tested configuration, numerical stability, throughput, and memory usage.
- Run regression checks on affected CUDA and shared code paths to ensure existing functionality remains unchanged.
Any required deviations from the baseline training configuration will be documented.
3. Timeline and maintainer feedback
We expect to have an initial PR ready sometime in November 2026, covering the environment guide, NPU patch updates, and initial operator integration.
@zhuzilin, would you be open to merging this support natively into the slime repository? We would appreciate your feedback on the proposed scope, code organization, and testing requirements before preparing the PR.
- Dominant language
- Python
- Stars
- 8.8k
- Forks
- 1.3k
- Avg merge
- 20h 44m
- Merged PRs (30d)
- 25
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from THUDM/slime
-
[Bug] Math reward accepts distinct large integers after float normalizationPossibly taken @lll-hhh claimed this 3 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
gpqa: when no option letter can be extracted, a single-letter gold label is substring-matched against the whole reply, so a reply that never answers can score 1.0Possibly taken @shaurya416 claimed this 40 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
[Bug] shipped dynamic-sampling filters crash on fan-out groups (list[list[Sample]]) from multi-turn agent rolloutsPossibly taken @QIU-Guanzong claimed this 51 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
[Bug] W&B initialization fails with wandb 0.28.2 because wandb.util.generate_id was removedPossibly taken @cyyecao-lappland claimed this 69 days ago. Openbug
Difficulty 1/5 1-3 hours Newbie friendliness 90/100
THUDM/slime#2332 · 1 comment ·
Maintainers usually reply within 1 day
-
[Bug] solution_str = sample.prompt + sample.responsePossibly taken @mvanhorn claimed this 133 days ago. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
THUDM/slime#1829 · 1 comment ·
Maintainers usually reply within 1 day
Similar issues
-
ci-rerun: collect.py fails a whole pr-babysit cycle on one transient GitHub 5xx and never retriesOpenfollow-up
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Built-in QUBO fallback applies bitwise xor to floating binary statesPossibly taken @iloveeyjafjalla claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
qboson/kaiwu-pytorch-plugin#1702 ·
Maintainers usually reply within 3 days
-
bug v2
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
modelcontextprotocol/python-sdk#3811 ·
Maintainers usually reply within 1 day
-
cost:cheap practicality:seen-in-the-wild severity:medium
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
fairagro/m4.2_advanced_middleware_api#620 ·
Maintainers usually reply within 1 day