Skip to content

[Doc]: update README for Vime#28

Merged
aoshen02 merged 2 commits into
mainfrom
update_doc
May 26, 2026
Merged

[Doc]: update README for Vime#28
aoshen02 merged 2 commits into
mainfrom
update_doc

Conversation

@CalvinXKY

Copy link
Copy Markdown
Collaborator

Sub-task

Docs — README and architecture overview (remaining #11 items: quickstart, per-model run guides, slime → vime migration guide).

Summary

  • Rebrand README.md / README_zh.md from slime to Vime (slime-based RL framework, default vLLM rollout).
  • Refresh architecture section: rollout described as vLLM + router; update imgs/arch.png.
  • Trim slime-only sections (Blogs, Projects); add slime doc for upstream references.
  • Add repo link (https://github.com/vllm-project/vime) and Vime citation.

Out of scope (follow-ups under #11)

  • Quickstart doc updates
  • Per-model run guides
  • slime → vime migration guide

Test plan

  • Preview README.md / README_zh.md on GitHub
  • Confirm imgs/arch.png renders in Architecture Overview

@CalvinXKY
CalvinXKY requested a review from aoshen02 May 25, 2026 12:32

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request rebrands the "slime" framework to "Vime" and transitions the default rollout backend from SGLang to vLLM (integrated with vllm-router). The changes include updating documentation in both English and Chinese, modifying repository links, and adjusting argument prefixes to support vLLM and router configurations. Review feedback focused on improving the technical tone and formatting of the Chinese README, specifically recommending more formal phrasing for "RL scaling" and standardizing the term "server-based".

Comment thread README_zh.md

[![Documentation](https://img.shields.io/badge/docs-latest-brightgreen.svg?style=flat)](https://thudm.github.io/slime/)
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/THUDM/slime)
**Vime** 是基于 [slime](https://github.com/THUDM/slime) 的 RL scaling 用 LLM post-training 框架。在保留 slime 训练栈与数据生成设计的同时,默认以 [**vLLM**](https://github.com/vllm-project/vllm)(配合 [vllm-router](https://github.com/vllm-project/router))作为 rollout 后端,替代 SGLang。Vime 提供两大核心能力:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The phrasing "RL scaling 用" is a bit informal for technical documentation. It is recommended to use "面向 RL scaling 的" or "用于 RL scaling 的" to improve readability and maintain a professional tone in Chinese.

Suggested change
**Vime** 是基于 [slime](https://github.com/THUDM/slime) 的 RL scaling LLM post-training 框架。在保留 slime 训练栈与数据生成设计的同时,默认以 [**vLLM**](https://github.com/vllm-project/vllm)(配合 [vllm-router](https://github.com/vllm-project/router))作为 rollout 后端,替代 SGLang。Vime 提供两大核心能力:
**Vime** 是一个基于 [slime](https://github.com/THUDM/slime)、面向 RL scaling LLM post-training 框架。在保留 slime 训练栈与数据生成设计的同时,默认以 [**vLLM**](https://github.com/vllm-project/vllm)(配合 [vllm-router](https://github.com/vllm-project/router))作为 rollout 后端,替代 SGLang。Vime 提供两大核心能力:

Comment thread README_zh.md

**slime** 是为 RL scaling 设计的 LLM post‑training 框架,提供两大核心能力:
1. **高性能训练**:通过连接 Megatron 与 vLLM,支持各种模式的高效训练;
2. **灵活的数据生成**:通过自定义数据生成接口以及 server based engine,实现任意的训练数据生成流程。

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

It is better to use a hyphen for "server-based" to follow standard technical writing conventions when using English terms in Chinese documentation.

Suggested change
2. **灵活的数据生成**:通过自定义数据生成接口以及 server based engine,实现任意的训练数据生成流程。
2. **灵活的数据生成**:通过自定义数据生成接口以及 server-based engine,实现任意的训练数据生成流程。

@CalvinXKY
CalvinXKY requested review from aoshen02 and youkaichao and removed request for aoshen02 and youkaichao May 25, 2026 12:49
@aoshen02
aoshen02 merged commit 0d249f9 into main May 26, 2026
1 of 3 checks passed
aoshen02 added a commit that referenced this pull request May 26, 2026
Both have already landed on main:
- PR #28 (#0d249f9) rebranded README.md / README_zh.md to "Vime" and
  rewrote the architecture / arguments / docs sections in a coherent
  Vime-as-vLLM-fork voice. My earlier 8279d5f cherry-picked
  sglang→vLLM edits on the old slime-titled README are now strictly
  redundant.
- PR #30 (#4f03679) added the non-colocated Qwen3-VL geo3k example
  (round-robin router policy, MODEL_NAME validation, external Ray flag).
  This branch had a divergent older version from an earlier rebase.

Resetting these three files to origin/main so the PR #18 merge is a
no-op for them. Issues introduced by PR #28 / PR #30 (dead slime_vllm
backend-design link, --router- prefix doc imprecision, stale pkill -9
sglang) are addressed in the follow-up commit.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
aoshen02 added a commit that referenced this pull request May 26, 2026
PR #28 (the Vime README rebrand) and PR #30 (the Qwen3-VL geo3k
non-colocated example) both landed cleanly on main, but introduced
three small issues that this commit fixes:

1. Dead link to docs/zh/advanced/slime_vllm_backend_design_v1.md
   in the README en+zh "slime doc" section. That file was deleted
   on main by fe700db ~14h before PR #28 merged, so PR #28's diff
   introduced a link to a path that no longer existed. Removed both
   the en and zh occurrences.

2. Arguments Walkthrough description of router-prefixed options was
   incomplete in en+zh README. The single-prefix wording ("Router-
   related options use the `--router-` prefix") would lead users to
   try `--router-ip` and fail — Vime exposes two distinct router
   prefixes: vllm-router's native CLI under `--router-` (e.g.
   `--router-policy round_robin`, used by PR #30 itself) and Vime's
   orchestration knobs under `--vllm-router-` (ip / port /
   request-timeout-secs). Updated both READMEs to call this out.

3. Stale `pkill -9 sglang` in examples/geo3k_vlm/run_geo3k_vlm.sh
   cleanup block. SGLang processes don't exist in Vime, so the call
   is dead code. Removed. (Left `pkill -9 slime` for the eventual
   slime→vime cleanup pass.)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
aoshen02 added a commit that referenced this pull request May 26, 2026
…ch.png

PR #28 (commit 0d249f9) updated `imgs/arch.png` to the vime
architecture diagram. Vime had a second copy at
`docs/_static/image/arch.png` referenced by Sphinx docs, which is
inherently duplication of the same diagram at two paths.

This PR's original diff modified the docs/_static/image/ copy
(carried over from PR #18 upstream), but that perpetuates the
duplication.

Fix: delete the docs/_static/image/arch.png copy and have the two
remaining references (docs/{en,zh}/advanced/vllm-config.md) point at
the single canonical `imgs/arch.png` via relative path `../../../imgs/`.

Single source of truth: 1 arch.png in the tree, used by README,
README_zh, and both vllm-config.md docs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
CalvinXKY added a commit that referenced this pull request May 28, 2026
* docs: complete sglang→vllm rename across docs/ + README

Split from PR #18 (gcl/clean-sglang). One of 4 PRs splitting the
original PR #18 by content area (docs / examples / tests+CI / core
runtime). See pr18-split-plan.md.

53 files. Pure documentation: no runtime code change.

What this PR does:

- docs/en/ + docs/zh/ (49 files):
  rename sglang-config.md → vllm-config.md (1 each side); update all
  --sglang-* CLI flag examples to their --vllm-* equivalents; rename
  references to SGLang as the rollout backend → vLLM; fix three broken
  upstream URLs (each replacement verified to load):
    * blog.vllm.ai/2025/10/26/distributed-batch-invariance.html
      → vllm.ai/blog/2025-11-10-bitwise-consistent-train-inference
    * docs.vllm.ai/.../features/spec_decode.html  (301 → 404)
      → docs.vllm.ai/.../features/speculative_decoding/
    * github.com/vllm-project/vllm-router  (404; repo does not exist)
      → github.com/vllm-project/router  (the actual router repo)

- docs/_static/image/ (3 files):
  rename sglang_config.png → vllm_config.png; refresh arch.png to the
  vllm-router architecture.

- docs/en/advanced/reproducibility.md and docs/zh/advanced/reproducibility.md:
  the en and zh files had their content swapped (en had Chinese body,
  zh had English body). Restored the correct mapping.

- docs/{en,zh}/blogs/introducing_slime.md:
  remove the "Special thanks to the AMD GenAI - Foundation Model Team
  for Day-1 AMD hardware support" line. With AMD support removed in
  #36, the acknowledgement implied ongoing support that no longer
  exists.

- README.md / README_zh.md:
  expanded vLLM router argument prefix explanation (--router-* for
  vllm-router native flags vs --vllm-router-* for vime-side
  orchestration knobs); remove stale link to docs/zh/advanced/
  slime_vllm_backend_design_v1.md which was deleted in commit fe700db.

This PR is independent of the other splits and can land at any time
without coordination. See pr18-split-plan.md §"合并顺序无强约束".

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: scrub remaining sglang references and fix OPD teacher URL

Follow-up to PR #38 review:

1. on-policy-distillation.md (en+zh): `--rm-url` example was
   `http://<TEACHER_IP>:<TEACHER_PORT>/v1/completions`. Updated to
   `/inference/v1/generate` — vime's vLLM rollout uses this endpoint
   by default; the teacher should match.

2. Removed SGLang-comparison advisory blocks. Treating SGLang as if
   it never existed in vime:

   - docs/{en,zh}/examples/deepseek-r1.md:
     - Drop ⚠️ "originally written for SGLang backend, check VLLM_ARGS
       against arguments.py" admonition
     - Drop "The original SGLang version of this example used large-EP
       inference (EP64, DP attention, DeepEP); confirm flag availability"

   - docs/{en,zh}/examples/{glm4.7-30B-A3B,glm4.7-355B-A32B,qwen3-30B-A3B}.md:
     Drop references to "SGLang's --enable-dp-attention" / "sglang
     `--enable-dp-attention`". The doc now just describes the vLLM
     configuration (DP on attention + EP on experts) without invoking
     SGLang as a reference point.

   - docs/{en,zh}/blogs/introducing_slime.md:
     - Drop parenthetical "(originally as an SGLang-native framework;
       this fork has been adapted to vLLM)" in the article subtitle
     - Rewrite the "RL-specific workloads" paragraph from past-tense
       "the original SGLang version upstreamed patches; vLLM port
       replays..." to present-tense "slime builds on vLLM's
       /inference/v1/generate ... to support MoE weight updates etc."

3. Final grep result: `grep -E 'sgl|SGL' docs/` returns matches only in
   docs/{en,zh}/blogs/release_v0.1.0.md (the historical slime v0.1.0
   release blog with 6 SGLang mentions each, kept pending separate
   decision on whether to remove the blog entirely).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: remove historical slime blog posts + clean up index.rst toctree

Per user direction "当作sglang完全不存在" — remove docs/{en,zh}/blogs/
in its entirety, plus orphan toctree entries:

Removed files (6):
  - docs/en/blogs/release_v0.1.0.md  (slime upstream v0.1.0 release notes;
                                       sourced from zhihu; tightly coupled to
                                       SGLang-era engineering, 6 sgl mentions)
  - docs/zh/blogs/release_v0.1.0.md  (same, Chinese)
  - docs/en/blogs/introducing_slime.md  (vision blog from lmsys.org 2025-07;
                                          SGLang-era origin doc, fully washed
                                          earlier but content overlaps with
                                          README, kept thin value-add)
  - docs/zh/blogs/introducing_slime.md  (same, Chinese)
  - docs/_static/image/blogs/release_v0.1.0/cuda_vmm.png
  - docs/_static/image/blogs/release_v0.1.0/overrall.png

Toctree cleanup (2 files):
  - docs/en/index.rst:
    * Drop "Hardware Platforms" toctree section — its only entry was
      `platform_support/amd_tutorial.md`, which #36 deleted from the
      tree but did not remove from the toctree (stale reference left
      behind on main).
    * Drop "Blogs" toctree section (now empty).
  - docs/zh/index.rst:
    * Drop "博客" toctree section (now empty). (zh side never had the
      Hardware Platforms section.)

Verification:
  $ git grep -E 'sgl|SGL' -- docs/  # returns nothing — docs/ is now
                                     # 100% free of SGLang references.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: dedup arch.png — drop docs/_static/image copy, point to imgs/arch.png

PR #28 (commit 0d249f9) updated `imgs/arch.png` to the vime
architecture diagram. Vime had a second copy at
`docs/_static/image/arch.png` referenced by Sphinx docs, which is
inherently duplication of the same diagram at two paths.

This PR's original diff modified the docs/_static/image/ copy
(carried over from PR #18 upstream), but that perpetuates the
duplication.

Fix: delete the docs/_static/image/arch.png copy and have the two
remaining references (docs/{en,zh}/advanced/vllm-config.md) point at
the single canonical `imgs/arch.png` via relative path `../../../imgs/`.

Single source of truth: 1 arch.png in the tree, used by README,
README_zh, and both vllm-config.md docs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: fix vllm_config.png wiring (redraw to match original sglang_config.png topology)

The previous regenerate (8b3d1e3) had two wiring bugs vs the original
upstream sglang_config.png:

  1. MISSING: data buffer → megatron (data feeds training)
  2. EXTRA:   custom rollout generation → megatron (rollout shouldn't
              feed training data; that's the data buffer's job)

It also had a visual bug — the 'prefill server' / 'decode server' /
'regular server' text labels were centred on the box and overlapping
the GPU sprites inside.

This commit re-runs matplotlib to produce the topologically correct
graph: data buffer → megatron on the left column, custom rollout
generation branching to the two server groups, and megatron → prefill
server as the weight-sync edge into server group 1. Inner-server
labels are now placed above the GPUs.

Topology after this commit:

  data buffer  ↔  custom rollout generation
      │                  │           │
      ↓                  ↓           ↓
  megatron ──────→ [server group 1] [server group 2]
                  (vllm router)      (vllm router)
                  prefill+decode     regular

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: mention TorchSpec for draft training

* update architecture image.

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: kaiyuan <kyxiezju@163.com>
momo609 pushed a commit that referenced this pull request Jun 8, 2026
* update vime readme

* update arch.png
momo609 pushed a commit that referenced this pull request Jun 8, 2026
* docs: complete sglang→vllm rename across docs/ + README

Split from PR #18 (gcl/clean-sglang). One of 4 PRs splitting the
original PR #18 by content area (docs / examples / tests+CI / core
runtime). See pr18-split-plan.md.

53 files. Pure documentation: no runtime code change.

What this PR does:

- docs/en/ + docs/zh/ (49 files):
  rename sglang-config.md → vllm-config.md (1 each side); update all
  --sglang-* CLI flag examples to their --vllm-* equivalents; rename
  references to SGLang as the rollout backend → vLLM; fix three broken
  upstream URLs (each replacement verified to load):
    * blog.vllm.ai/2025/10/26/distributed-batch-invariance.html
      → vllm.ai/blog/2025-11-10-bitwise-consistent-train-inference
    * docs.vllm.ai/.../features/spec_decode.html  (301 → 404)
      → docs.vllm.ai/.../features/speculative_decoding/
    * github.com/vllm-project/vllm-router  (404; repo does not exist)
      → github.com/vllm-project/router  (the actual router repo)

- docs/_static/image/ (3 files):
  rename sglang_config.png → vllm_config.png; refresh arch.png to the
  vllm-router architecture.

- docs/en/advanced/reproducibility.md and docs/zh/advanced/reproducibility.md:
  the en and zh files had their content swapped (en had Chinese body,
  zh had English body). Restored the correct mapping.

- docs/{en,zh}/blogs/introducing_slime.md:
  remove the "Special thanks to the AMD GenAI - Foundation Model Team
  for Day-1 AMD hardware support" line. With AMD support removed in
  #36, the acknowledgement implied ongoing support that no longer
  exists.

- README.md / README_zh.md:
  expanded vLLM router argument prefix explanation (--router-* for
  vllm-router native flags vs --vllm-router-* for vime-side
  orchestration knobs); remove stale link to docs/zh/advanced/
  slime_vllm_backend_design_v1.md which was deleted in commit fe700db.

This PR is independent of the other splits and can land at any time
without coordination. See pr18-split-plan.md §"合并顺序无强约束".

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: scrub remaining sglang references and fix OPD teacher URL

Follow-up to PR #38 review:

1. on-policy-distillation.md (en+zh): `--rm-url` example was
   `http://<TEACHER_IP>:<TEACHER_PORT>/v1/completions`. Updated to
   `/inference/v1/generate` — vime's vLLM rollout uses this endpoint
   by default; the teacher should match.

2. Removed SGLang-comparison advisory blocks. Treating SGLang as if
   it never existed in vime:

   - docs/{en,zh}/examples/deepseek-r1.md:
     - Drop ⚠️ "originally written for SGLang backend, check VLLM_ARGS
       against arguments.py" admonition
     - Drop "The original SGLang version of this example used large-EP
       inference (EP64, DP attention, DeepEP); confirm flag availability"

   - docs/{en,zh}/examples/{glm4.7-30B-A3B,glm4.7-355B-A32B,qwen3-30B-A3B}.md:
     Drop references to "SGLang's --enable-dp-attention" / "sglang
     `--enable-dp-attention`". The doc now just describes the vLLM
     configuration (DP on attention + EP on experts) without invoking
     SGLang as a reference point.

   - docs/{en,zh}/blogs/introducing_slime.md:
     - Drop parenthetical "(originally as an SGLang-native framework;
       this fork has been adapted to vLLM)" in the article subtitle
     - Rewrite the "RL-specific workloads" paragraph from past-tense
       "the original SGLang version upstreamed patches; vLLM port
       replays..." to present-tense "slime builds on vLLM's
       /inference/v1/generate ... to support MoE weight updates etc."

3. Final grep result: `grep -E 'sgl|SGL' docs/` returns matches only in
   docs/{en,zh}/blogs/release_v0.1.0.md (the historical slime v0.1.0
   release blog with 6 SGLang mentions each, kept pending separate
   decision on whether to remove the blog entirely).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: remove historical slime blog posts + clean up index.rst toctree

Per user direction "当作sglang完全不存在" — remove docs/{en,zh}/blogs/
in its entirety, plus orphan toctree entries:

Removed files (6):
  - docs/en/blogs/release_v0.1.0.md  (slime upstream v0.1.0 release notes;
                                       sourced from zhihu; tightly coupled to
                                       SGLang-era engineering, 6 sgl mentions)
  - docs/zh/blogs/release_v0.1.0.md  (same, Chinese)
  - docs/en/blogs/introducing_slime.md  (vision blog from lmsys.org 2025-07;
                                          SGLang-era origin doc, fully washed
                                          earlier but content overlaps with
                                          README, kept thin value-add)
  - docs/zh/blogs/introducing_slime.md  (same, Chinese)
  - docs/_static/image/blogs/release_v0.1.0/cuda_vmm.png
  - docs/_static/image/blogs/release_v0.1.0/overrall.png

Toctree cleanup (2 files):
  - docs/en/index.rst:
    * Drop "Hardware Platforms" toctree section — its only entry was
      `platform_support/amd_tutorial.md`, which #36 deleted from the
      tree but did not remove from the toctree (stale reference left
      behind on main).
    * Drop "Blogs" toctree section (now empty).
  - docs/zh/index.rst:
    * Drop "博客" toctree section (now empty). (zh side never had the
      Hardware Platforms section.)

Verification:
  $ git grep -E 'sgl|SGL' -- docs/  # returns nothing — docs/ is now
                                     # 100% free of SGLang references.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: dedup arch.png — drop docs/_static/image copy, point to imgs/arch.png

PR #28 (commit 0d249f9) updated `imgs/arch.png` to the vime
architecture diagram. Vime had a second copy at
`docs/_static/image/arch.png` referenced by Sphinx docs, which is
inherently duplication of the same diagram at two paths.

This PR's original diff modified the docs/_static/image/ copy
(carried over from PR #18 upstream), but that perpetuates the
duplication.

Fix: delete the docs/_static/image/arch.png copy and have the two
remaining references (docs/{en,zh}/advanced/vllm-config.md) point at
the single canonical `imgs/arch.png` via relative path `../../../imgs/`.

Single source of truth: 1 arch.png in the tree, used by README,
README_zh, and both vllm-config.md docs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: fix vllm_config.png wiring (redraw to match original sglang_config.png topology)

The previous regenerate (8b3d1e3) had two wiring bugs vs the original
upstream sglang_config.png:

  1. MISSING: data buffer → megatron (data feeds training)
  2. EXTRA:   custom rollout generation → megatron (rollout shouldn't
              feed training data; that's the data buffer's job)

It also had a visual bug — the 'prefill server' / 'decode server' /
'regular server' text labels were centred on the box and overlapping
the GPU sprites inside.

This commit re-runs matplotlib to produce the topologically correct
graph: data buffer → megatron on the left column, custom rollout
generation branching to the two server groups, and megatron → prefill
server as the weight-sync edge into server group 1. Inner-server
labels are now placed above the GPUs.

Topology after this commit:

  data buffer  ↔  custom rollout generation
      │                  │           │
      ↓                  ↓           ↓
  megatron ──────→ [server group 1] [server group 2]
                  (vllm router)      (vllm router)
                  prefill+decode     regular

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: mention TorchSpec for draft training

* update architecture image.

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: kaiyuan <kyxiezju@163.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.

2 participants