docs: add SkyPilot launch tutorial under platform_support - #1
Draft
ishankaul1 wants to merge 12 commits into
Draft
docs: add SkyPilot launch tutorial under platform_support#1ishankaul1 wants to merge 12 commits into
ishankaul1 wants to merge 12 commits into
Conversation
Adds docs/en/platform_support/skypilot_tutorial.md covering multi-node launch (provision nodes, start Ray, submit train.py from one YAML) and a disaggregated trainer + SGLang-engines setup, with a link to the end-to-end agentic RL example in the SkyPilot repo. Registers the page in the docs toctree and cross-references it from the quick start's multi-node section. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Both YAMLs now run end-to-end as written (validated on a 2x4xH100 Kubernetes cluster): full Qwen3-4B GRPO recipe args, engine/trainer setup, Ray bring-up that coexists with SkyPilot's node runtime (non-default agent/metrics ports, job-agent readiness probe, --block workers), --num-gpus-per-node passed for colocate engine mapping on <8-GPU nodes, and inter_connection: true on the Job Group. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Zilin Zhu <zhuzilinallen@gmail.com>
Co-authored-by: EazyReal <8047065+EazyReal@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: EazyReal <8047065+EazyReal@users.noreply.github.com>
…#2085) Co-authored-by: EazyReal <8047065+EazyReal@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Zilin Zhu <zhuzilinallen@gmail.com>
Co-authored-by: EazyReal <8047065+EazyReal@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Review feedback: collapse the two full launch YAMLs behind <details>/<summary> dropdowns so the page reads as prose with expandable configs, and tighten the quick-start cross-link wording. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Fork-internal draft for review — do NOT merge. Once approved, this branch gets PR'd to THUDM/slime with the description below.
Review notes (not part of the upstream PR)
Both YAMLs are now smoke-validated on staging (coreweave-dev, 2026-08-19):
sky jobs launch): gang-placed viainter_connection: true, engine discovered atsglang-0.<group>:30000, trainer rollouts generating at ~9.6k tok/s (212 concurrent reqs) before teardown.sky launch, 2×H100:4): 8-GPU placement across both nodes, all 4 TP2 engines decoding ~4k tok/s each with ~90+ concurrent rollout reqs before teardown.Fixes the smoke shook out (each has a one-line comment in the YAML):
--dashboard-agent-listen-port/--metrics-export-port— SkyPilot's node runtime runs its own Ray; default agent port collides and Ray's raylet dies with its agent./root/slime+ absolutetrain.pypath (Ray runs entrypoints in the head's cwd).ray start --blockon workers — a run command that exits gets its daemons reaped.--num-gpus-per-node ${SKYPILOT_NUM_GPUS_PER_NODE}— colocate engine→node mapping assumes 8 GPUs/node (we independently repro'd the bug fix(colocate): derive num_gpus_per_node from actor_num_gpus_per_node THUDM/slime#2012 fixes; the flag is the documented workaround and stays correct after that PR merges).Other notes: toctree caption renamed "Hardware Platforms" → "Platforms" (easy to revert); the quick_start cross-link is one line and offered as droppable upstream.
Proposed upstream PR description
This adds a
platform_supporttutorial for launching multi-node slime on Kubernetes or cloud instances with SkyPilot — provisioning the nodes, starting the Ray cluster, and submitting the training job from a single YAML — following the same pattern as the AMD tutorial: written and maintained by us (the SkyPilot maintainers), with slime's core docs unchanged.It covers the Quick Start's Qwen3-4B GRPO recipe in two forms, both validated end-to-end on a Kubernetes cluster: the standard multi-node setup (automating the per-node
ray startsteps), and a disaggregated variant that runs the trainer and SGLang engines as separate gang-scheduled jobs with disk weight sync. It links to a full end-to-end agentic RL example kept working against slime in the SkyPilot repo — per CONTRIBUTING.md's guidance to build such pipelines in separate repositories and reference them.Also adds a one-line cross-reference from the quick start's multi-node section to the new page — happy to drop that line if you'd rather keep the quick start minimal.
🤖 Generated with Claude Code