Skip to content

exp(examples): GLM-5.3 RL on SWE-rebench-V2 experiment config - #4127

Draft
aniravich wants to merge 1 commit into
mainfrom
exp/glm53-swe-rebench-v2
Draft

aniravich wants to merge 1 commit into
mainfrom
exp/glm53-swe-rebench-v2

Conversation

@aniravich

Copy link
Copy Markdown
Contributor

Adds examples/advanced/glm-5.3/swe-rebench-v2.toml, the config of a 16-node GLM-5.3 RL experiment (job 1862) kept exactly as it ran, and lists it in the GLM-5.3 README.

What it runs

  • Data: PrimeIntellect/SWE-rebench-V2-Filtered-Verified, train split (6,272 tasks from 1,890 repos). Repos with sum(repo.encode()) % 20 == 13 are held out (95 repos, 241 tasks). Training uses the other 6,025 tasks, after also dropping 3 train-side aliases of held-out repos (6 tasks). An eval of 100 held-out tasks × 4 rollouts runs at step 0 and every 50 steps.
  • Trainer: 8 nodes / 64 H200. CP8 × EP8 with FSDP over 8 at 131k seq_len, Muon with streamed CPU state (fix(optim): stream Muon gradients and state for 8-node GLM-5.3 SFT #3719), router replay (R3), lr 1e-6.
  • Inference: one 4-node prefill instance (DP32/EP32, DeepEP high-throughput) and one 4-node decode instance (DP32/EP32, DeepEP low-latency), with NIXL KV transfer and one vllm-router (sticky_least_loaded). The BF16 checkpoint is quantized to per-block FP8 online, KV cache is FP8, DeepGEMM MoE runs on both roles, and prefill DBO is off.
  • Orchestrator: batch 256 = 16 groups × 16, bash harness, up to 40 turns, and adaptive concurrency from 512 to 2048 in flight (starting at 1024). max_off_policy_steps = 16.
  • No [ckpt], because one save is ~6 TB.

Not runnable on main

The config is kept as an experiment record, not ported:

Cleanup relative to the run's config

The cleanup only touched comments and layout. The committed file parses (tomllib) to the same 151 values as the config that ran:

  • Dropped the version-history notes and kept the reasoning behind each setting.
  • Fixed stale comments: decode gpu_memory_utilization is 0.65 (not 0.60), max_num_seqs × 32 ranks now matches max_inflight 2048, and the prefill/decode sizing notes describe the 4 + 4 node layout.
  • Rewrote the inline compilation_config table as a [...compilation_config] section (same value).

🤖 Generated with Claude Code

Add the as-run config of a 16-node GLM-5.3 RL experiment (job 1862):
8 trainer nodes (CP8 x EP8, Muon with streamed CPU state, router
replay) and 8 P/D-disaggregated inference nodes (4-node EP32 prefill +
4-node EP32 decode, DeepGEMM MoE on both roles), trained on
SWE-rebench-V2 outside a held-out set of repos and evaluated on them.

The file is kept as it ran: it targets a prime-rl checkout from before
#3703 with #3719 applied, depends on local prime-envs / verifiers /
vLLM / vllm-router patches (checked by its pre_run_command), and points
at cluster paths. The GLM-5.3 README lists it with those caveats.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant