Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,6 @@
{
"group": "Recipes",
"pages": [
"examples/fully-async",
"examples/geo3k-vlm",
"examples/geo3k-vlm/multi-turn",
"examples/multi-lora",
Expand All @@ -275,6 +274,7 @@
"group": "Infra Features",
"root": "examples/infra-features",
"pages": [
"examples/infra-features/fully-async",
"examples/infra-features/low-precision",
"examples/infra-features/p2p-weight-transfer",
"examples/infra-features/random-async",
Expand Down
54 changes: 0 additions & 54 deletions docs/examples/fully-async.md

This file was deleted.

2 changes: 1 addition & 1 deletion docs/examples/index.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

28 changes: 28 additions & 0 deletions docs/examples/infra-features/fully-async.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion docs/examples/infra-features/random-async.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion docs/models/glm/glm5-2.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,4 +146,4 @@ The launcher exposes these as flags:
- [Low Precision RL](/advanced/low-precision) — opt-in via `--fp8-rollout`.
- [Speculative Decoding](/advanced/speculative-decoding) — opt-in via `--enable-mtp`.
- [LoRA](/advanced/lora) — via `scripts/run_glm5_2_744b_a40b_lora.py`.
- [Fully Async Rollout](/examples/fully-async) — the terminal-bench-2 agentic example (§4.2) runs fully async.
- [Fully Async Rollout](/examples/infra-features/fully-async) — the terminal-bench-2 agentic example (§4.2) runs fully async.
7 changes: 3 additions & 4 deletions docs/user-guide/fully-async.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,8 @@ Four launch scripts show the mode end to end, from a single-node smoke test to a

| Script | What it covers |
|---|---|
| [`run-qwen3-4b-fully_async.sh`](https://github.com/radixark/miles/blob/main/examples/fully_async/run-qwen3-4b-fully_async.sh) | The smallest complete run: Qwen3-4B on one engine per GPU, with `--max-weight-staleness` shown as a commented-out option |
| [`run_qwen3_30b_a3b_fully_async.py`](https://github.com/radixark/miles/blob/main/examples/fully_async/run_qwen3_30b_a3b_fully_async.py) | The same pattern on a 30B MoE, with `tp=8`, `ep=8`, and one 8-GPU rollout engine |
| [`run_qwen3_5_4b_fully_async_eval.py`](https://github.com/radixark/miles/blob/main/examples/fully_async/run_qwen3_5_4b_fully_async_eval.py) | Both checkpoint eval backends behind one flag, `--eval-backend fleet` or `--eval-backend external` |
| [`run_qwen3_30b_a3b_fully_async.py`](https://github.com/radixark/miles/blob/main/examples/infra_features/fully_async/run_qwen3_30b_a3b_fully_async.py) | The same pattern on a 30B MoE, with `tp=8`, `ep=8`, and one 8-GPU rollout engine |
| [`run_qwen3_5_4b_fully_async_eval.py`](https://github.com/radixark/miles/blob/main/examples/infra_features/fully_async/run_qwen3_5_4b_fully_async_eval.py) | Both checkpoint eval backends behind one flag, `--eval-backend fleet` or `--eval-backend external` |
| [`run_glm5_2_744b_a40b_daytona.py`](https://github.com/radixark/miles/blob/main/examples/experimental/openenv/glm52_tbench2/run_glm5_2_744b_a40b_daytona.py) | GLM-5.2 744B-A40B on 16 GB300 nodes, split 8 training and 8 inference, with multi-turn terminal-bench-2 episodes in per-task Daytona sandboxes. It runs 128 in-flight trajectories against a 64-sample train batch and evaluates on the shared rollout engines |

### Customizations
Expand Down Expand Up @@ -247,7 +246,7 @@ them explicitly with `--eval-sglang-*` if the fleet is large enough to want them
### Mode 3: External backend

The contract lives in [`miles/rollout/checkpoint_eval.py`](https://github.com/radixark/miles/blob/main/miles/rollout/checkpoint_eval.py), with a
reference implementation in [`examples/fully_async/external_eval_fn.py`](https://github.com/radixark/miles/blob/main/examples/fully_async/external_eval_fn.py).
reference implementation in [`examples/infra_features/fully_async/external_eval_fn.py`](https://github.com/radixark/miles/blob/main/examples/infra_features/fully_async/external_eval_fn.py).

Subclass `CheckpointEvalFn` and implement `evaluate_checkpoint(checkpoint_dir, input)`.
The trainer hands over a snapshot path per eval point and owns dispatch, logging, and
Expand Down
2 changes: 1 addition & 1 deletion examples/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ These examples are runnable starting points for your own RL workflow. A few are

End-to-end training workflows — the place to start.

- **[fully_async](./fully_async)**: Demonstrates fully asynchronous rollout generation for higher efficiency.
- **[geo3k_vlm](./geo3k_vlm)**: Training VLMs with FSDP using GRPO on the GEO3K dataset.
- **[multi_turn](./geo3k_vlm/multi_turn)**: The same dataset over multiple turns, with the model cropping images through an interactive environment.
- **[lora](./lora)**: LoRA fine-tuning with the Megatron backend.
Expand All @@ -22,6 +21,7 @@ End-to-end training workflows — the place to start.
Runtime and infrastructure plumbing rather than training recipes — how miles moves
data and weights around.

- **[fully_async](./infra_features/fully_async)**: Demonstrates fully asynchronous rollout generation for higher efficiency.
- **[low_precision](./infra_features/low_precision)**: Examples of FP8 training and inference, plus INT4 QAT, for improved throughput and stability.
- **[p2p_weight_transfer](./infra_features/p2p_weight_transfer)**: Point-to-point weight transfer between training and rollout engines.
- **[random_async](./infra_features/random_async)**: Dataset-free stress test of the async rollout ↔ trainer loop.
Expand Down
51 changes: 0 additions & 51 deletions examples/fully_async/README.md

This file was deleted.

143 changes: 0 additions & 143 deletions examples/fully_async/run-qwen3-4b-fully_async.sh

This file was deleted.

Loading
Loading