From e4ef1902acfb29f664ab04ff9c02c3df4beb3828 Mon Sep 17 00:00:00 2001 From: Jeff Rasley Date: Sun, 30 Aug 2026 12:22:25 -0700 Subject: [PATCH 1/4] glm 5.3 example and cli alias --- examples/api/README.md | 1 + examples/api/glm-5.3-sampling.json | 18 ++++++++++++++++++ examples/api/glm-sampling.json | 9 ++++++--- pyproject.toml | 1 + 4 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 examples/api/glm-5.3-sampling.json diff --git a/examples/api/README.md b/examples/api/README.md index 1a599e4..32fec9c 100644 --- a/examples/api/README.md +++ b/examples/api/README.md @@ -10,5 +10,6 @@ These JSON files demonstrate individual Cortex Training request bodies: | `fwd-bwd.json` | Submit a readable forward/backward batch | | `generate.json` | Submit prompts for generation | | `glm-sampling.json` | Create a GLM sampling sub-job | +| `glm-5.3-sampling.json` | Create a GLM-5.3 sampling sub-job with an fp8 KV cache and a reasoning parser | They are wire-format examples, not end-to-end training recipes. diff --git a/examples/api/glm-5.3-sampling.json b/examples/api/glm-5.3-sampling.json new file mode 100644 index 0000000..3eca261 --- /dev/null +++ b/examples/api/glm-5.3-sampling.json @@ -0,0 +1,18 @@ +{ + "sub_job_configs": [ + { + "inference_config": { + "max_seq_len": 32768, + "n_gpus": 8, + "vllm_config": { + "gpu_memory_utilization": 0.85, + "kv_cache_dtype": "fp8", + "reasoning_parser": "glm45", + "tensor_parallel_size": 8 + } + }, + "job_type": "sampling", + "model_name": "zai-org/GLM-5.3" + } + ] +} diff --git a/examples/api/glm-sampling.json b/examples/api/glm-sampling.json index e256762..788815c 100644 --- a/examples/api/glm-sampling.json +++ b/examples/api/glm-sampling.json @@ -6,12 +6,15 @@ "max_seq_len": 32768, "n_gpus": 8, "vllm_config": { - "quantization": "fp8", - "tensor_parallel_size": 8 + "enable_auto_tool_choice": true, + "enable_flashinfer_autotune": false, + "reasoning_parser": "glm45", + "tensor_parallel_size": 8, + "tool_call_parser": "glm47" } }, "job_type": "sampling", - "model_name": "zai-org/GLM-5.2-FP8" + "model_name": "zai-org/GLM-5.3-Flash" } ] } diff --git a/pyproject.toml b/pyproject.toml index 73e3a30..590929d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,6 +22,7 @@ dependencies = [ [project.scripts] cortex-training = "cortex_training.cli:main" +ct = "cortex_training.cli:main" [project.optional-dependencies] dev = [ From 4b0b9554c12da4afbc0e861bf706dfa87ed0eb1d Mon Sep 17 00:00:00 2001 From: Jeff Rasley Date: Sun, 30 Aug 2026 12:27:42 -0700 Subject: [PATCH 2/4] revert --- examples/api/glm-sampling.json | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/examples/api/glm-sampling.json b/examples/api/glm-sampling.json index 788815c..e256762 100644 --- a/examples/api/glm-sampling.json +++ b/examples/api/glm-sampling.json @@ -6,15 +6,12 @@ "max_seq_len": 32768, "n_gpus": 8, "vllm_config": { - "enable_auto_tool_choice": true, - "enable_flashinfer_autotune": false, - "reasoning_parser": "glm45", - "tensor_parallel_size": 8, - "tool_call_parser": "glm47" + "quantization": "fp8", + "tensor_parallel_size": 8 } }, "job_type": "sampling", - "model_name": "zai-org/GLM-5.3-Flash" + "model_name": "zai-org/GLM-5.2-FP8" } ] } From 331461040d134865c2bfcefc3f55b1e37561e5f9 Mon Sep 17 00:00:00 2001 From: Jeff Rasley Date: Fri, 11 Sep 2026 19:06:32 -0700 Subject: [PATCH 3/4] update glm sampling configs --- examples/api/README.md | 5 +++-- examples/api/glm-5.3-sampling.json | 7 ++++--- examples/api/glm-sampling.json | 18 ------------------ 3 files changed, 7 insertions(+), 23 deletions(-) delete mode 100644 examples/api/glm-sampling.json diff --git a/examples/api/README.md b/examples/api/README.md index 32fec9c..2f671e8 100644 --- a/examples/api/README.md +++ b/examples/api/README.md @@ -9,7 +9,8 @@ These JSON files demonstrate individual Cortex Training request bodies: | `rl.json` | Create colocated training and sampling sub-jobs | | `fwd-bwd.json` | Submit a readable forward/backward batch | | `generate.json` | Submit prompts for generation | -| `glm-sampling.json` | Create a GLM sampling sub-job | -| `glm-5.3-sampling.json` | Create a GLM-5.3 sampling sub-job with an fp8 KV cache and a reasoning parser | +| `glm-5.3-sampling.json` | Create a single-node GLM-5.3 sampling sub-job on 8 H200 GPUs with an FP8 MLA KV cache and a reasoning parser | They are wire-format examples, not end-to-end training recipes. + +ontext limit. diff --git a/examples/api/glm-5.3-sampling.json b/examples/api/glm-5.3-sampling.json index 3eca261..7885009 100644 --- a/examples/api/glm-5.3-sampling.json +++ b/examples/api/glm-5.3-sampling.json @@ -2,11 +2,12 @@ "sub_job_configs": [ { "inference_config": { - "max_seq_len": 32768, + "max_seq_len": 720896, "n_gpus": 8, "vllm_config": { - "gpu_memory_utilization": 0.85, - "kv_cache_dtype": "fp8", + "enforce_eager": true, + "gpu_memory_utilization": 0.95, + "kv_cache_dtype": "fp8_ds_mla", "reasoning_parser": "glm45", "tensor_parallel_size": 8 } diff --git a/examples/api/glm-sampling.json b/examples/api/glm-sampling.json deleted file mode 100644 index 9fbf64d..0000000 --- a/examples/api/glm-sampling.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "sub_job_configs": [ - { - "inference_config": { - "gpu_memory_utilization": 0.9, - "max_seq_len": 1048576, - "n_gpus": 16, - "vllm_config": { - "quantization": "fp8", - "tensor_parallel_size": 16, - "kv_cache_dtype": "fp8_ds_mla" - } - }, - "job_type": "sampling", - "model_name": "zai-org/GLM-5.2-FP8" - } - ] -} From f20f57e67e8e2706482d2eda98f36282e82fb303 Mon Sep 17 00:00:00 2001 From: Jeff Rasley Date: Fri, 11 Sep 2026 19:09:32 -0700 Subject: [PATCH 4/4] cleanup --- examples/api/README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/examples/api/README.md b/examples/api/README.md index 2f671e8..f21c0ba 100644 --- a/examples/api/README.md +++ b/examples/api/README.md @@ -12,5 +12,3 @@ These JSON files demonstrate individual Cortex Training request bodies: | `glm-5.3-sampling.json` | Create a single-node GLM-5.3 sampling sub-job on 8 H200 GPUs with an FP8 MLA KV cache and a reasoning parser | They are wire-format examples, not end-to-end training recipes. - -ontext limit.