docs: add GLM-5.2 model page and update supported-models tables - #2216
Merged
Conversation
Fully-async agentic RL on 16 GB300 nodes (4 GPUs each): 8 training nodes
(TP2/CP4/PP4/EP8, optimizer state streamed to node-local disk) and 8
inference nodes (one 4-GPU dp-attention fp8 sglang engine per node). Each
episode is a multi-turn terminal agent solving one terminal-bench-2 task in
its own Daytona sandbox built from that task's official image, scored by
the task's canonical test.sh.
The recipe's defaults are the reference configuration, so
python3 run_glm5_2_744b_a40b_daytona.py train --num-nodes 16
reproduces it; launch_16node_slurm.sh is a ~60-line site adapter (container
+ Ray bring-up) that forwards its CLI args to the recipe. Reference run:
100 rollout steps in 21h, truncation 0.0-0.3, prefix-cache hit rate ~0.96,
engine fleet saturated at --async-max-concurrent-samples 128.
The recipe also carries the two debugging paths that shaped it:
--debug-replay-data replays recorded rollout dumps through the training
side alone (parallelism/OOM changes validated in minutes, no sandboxes),
and --load-from + --start-rollout-id 0 scores an existing checkpoint via
the pre-train eval.
Shi-Dong
commented
Aug 5, 2026
Shi-Dong
commented
Aug 5, 2026
yueming-yuan
approved these changes
Aug 7, 2026
3 tasks
3 tasks
Conflicts, both resolved in favour of main: - docs/index.md: #2271 refreshed the homepage table (trimmed to recent releases, added Kimi-K3 / Nemotron-3-Ultra / Gemma-4 / JoyAI / Inkling-Small) and already carries the GLM-5.2 link this branch was adding, so main's table is taken wholesale. - examples/experimental/openenv/glm52_tbench2/README.md: the example landed on main separately as #2220 with a reworded "Container image" prerequisite; main's copy wins and this branch no longer touches the example. Net diff against main is now just the GLM-5.2 docs: the new docs/models/glm/glm5-2.md page, its nav entry, the GLM and models index rows, the cross-reference from glm5.md, and the /glm/ .gitignore anchor.
The rule matched a directory named glm at any depth, so docs/models/glm/ was ignored and new pages under it — such as the GLM-5.2 page this branch adds — needed git add -f. Nothing in the tree needs a glm/ ignore, so the rule goes away rather than being anchored to the repo root.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #2220 (base branch
yueming/glm52-tbench2-example); merge that first.Summary
docs/models/glm/glm5-2.md), covering thescripts/run_glm5_2_744b_a40b.pyrecipe: supported variants (zai-org/GLM-5.2and the 5-layer pruned smoke-test model), checkpoint validation + HF → Megatron conversion, the three parallelism branches (1-node 5-layer, ≥16-node GB300 4-GPU/node, ≥16-node 8-GPU/node), GRPO + TIS, the FP8-KV-cache SGLang rollout config (fp8_e4m3,flashmla_kvdecode /flashmla_sparseprefill), and the launcher flags (--fp8-rollout,--enable-mtp,--enable-pd,--sglang-config,--use-deepepwith the GB300 caveat).examples/experimental/openenv/glm52_tbench2/) in a new §4.2 of the page, with a cross-link to the Fully Async Rollout docs.docs/docs.jsonnavigation.docs/index.mdanddocs/models/index.md, and to the GLM family index (docs/models/glm/index.md: description, intro, variants table, "Which variant do I pick?").glm/pattern in.gitignore(→/glm/): unanchored, it matchesdocs/models/glm/too and silently blocksgit addof any new page in that directory. The entry sits among local-scratch patterns (wandb/,outputs/,local/), so it is clearly meant for a repo-root scratch dir only.All facts are taken from
scripts/run_glm5_2_744b_a40b.py,scripts/models/glm5.2-744B-A40B.sh, and the #2220 example README; the page follows the same six-section structure as the existing GLM-5 page.