THUDM / THUDM/slime

Delta weight sync (NCCL) produces NaN weights on Qwen3.5-122B MoE → "probability tensor contains inf/nan" crash

Open
#2,209 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
8.5k
Forks
1.3k
Avg merge
5h 36m
Merged PRs (30d)
22

Description

Summary

With --update-weight-mode delta --update-weight-transport nccl, the first delta apply on Qwen3.5-122B-A10B (grouped MoE) leaves NaN/inf in the rollout engine's weights. The next rollout crashes in sampling. Full-sync mode (--update-weight-mode full) on the same model/config is stable. Reproduced 4/4 runs.

Symptom
TensorCompare.cu:109 _assert_async_cuda_kernel: Assertion `probability tensor contains either inf, nan or element < 0` failed
Subprocess scheduler_0 crashed with exit code -3. Triggering SIGQUIT for cleanup...

Timeline: initial full seed sync ✓ → step-1 train ✓ → step-2 delta sync applied (checksum passes) ✓ → next rollout crashes.

Config
  • slime with delta sync (#1806); SGLang v0.5.13 + docker/patch/latest/sglang.patch
  • Qwen3.5-122B-A10B: --num-experts 256 --moe-grouped-gemm --moe-token-dispatcher-type alltoall --attention-backend flash (not flashinfer_trtllm)
  • --update-weight-encoding indices, per-sync density ~1%
  • Reproduced on both TP2/PP2/EP16 and TP2/PP4/EP8 (parallelism-independent)
Notes
  • Checksum passes, so the (positions, values) payload arrives intact — corruption is in the apply into grouped-MoE params, not on the wire.
  • Possibly related: #2193 (grouped-MoE GLU rechunk expert-axis), #2104 (failed apply not surfaced) — but neither reports this crash signature.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the delta-sync apply path selected by --update-weight-mode delta and --update-weight-transport nccl, comparing it with the stable full-sync path. Reproduce on the Qwen3.5-122B-A10B grouped-MoE configuration and inspect the grouped-MoE parameter update after the checksum passes. Done means the first delta apply leaves no inf or NaN weights and the next rollout completes without the probability-tensor crash.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
distributed-systems, machine-learning
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.