Skip to content

docs: add SkyPilot launch tutorial under platform_support - #1

Draft
ishankaul1 wants to merge 12 commits into
mainfrom
docs/skypilot-platform-support
Draft

docs: add SkyPilot launch tutorial under platform_support#1
ishankaul1 wants to merge 12 commits into
mainfrom
docs/skypilot-platform-support

Conversation

@ishankaul1

@ishankaul1 ishankaul1 commented Aug 19, 2026

Copy link
Copy Markdown
Owner

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):

  • Job Group (sky jobs launch): gang-placed via inter_connection: true, engine discovered at sglang-0.<group>:30000, trainer rollouts generating at ~9.6k tok/s (212 concurrent reqs) before teardown.
  • Multi-node (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):

  1. Job-agent readiness probe instead of a sleep ("No available agent" race).
  2. Non-default --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.
  3. Start Ray from /root/slime + absolute train.py path (Ray runs entrypoints in the head's cwd).
  4. ray start --block on workers — a run command that exits gets its daemons reaped.
  5. --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_support tutorial 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 start steps), 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

ishankaul1 and others added 12 commits August 19, 2026 10:58
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>
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.

4 participants