OpenSource-Hub

miles

フレームワーク

radixark/miles

企業向けの大規模 LLM/VLM ポストトレーニング強化学習フレームワーク。

概要

Miles は、エンタープライズ向けの大規模 LLM/VLM ポストトレーニング強化学習フレームワークであり、slime から fork されたものです。SGLang の高スループット rollout と Megatron-LM のスケーラブルなトレーニングを組み合わせ、完全非同期 RL、秒単位の重み更新、低精度トレーニングをサポートし、最先端のモデルや多様なハードウェアと互換性があります。

README プレビュー

\n\n\n\n### **Enterprise-Grade Reinforcement Learning for Large-Scale Model Post-Training**\n\n[](https://miles.radixark.com/)\n[](https://github.com/radixark/miles)\n[](https://miles.radixark.com/docs)\n[](LICENSE)\n[](https://slack.sglang.ai)\n\n| [**Website**](https://miles.radixark.com/) | [**Documentation**](https://miles.radixark.com/docs) | [**Quick Start**](https://miles.radixark.com/docs/getting-started/quick-start) | [**Supported Models**](https://miles.radixark.com/docs/models) | [**Miles Diffusion**](https://github.com/radixark/miles_diffusion) | [**Blog**](https://www.lmsys.org/blog?filter=miles) | [**Slack**](https://slack.sglang.ai) (`#miles-rl`) |\n\n\n\n--------------------------------------------------------------------------------\n\n## News\n\n- [2026/08] 🔥 Miles v0.1 is released! Read the blog post here: [Miles v0.1: Production-level Post-training](https://www.lmsys.org/blog/2026-08-18-miles-v0-1).\n- [2026/07] Towards Blackwell-Native 8-bit and 4-bit RL: End-to-End MXFP8 and NVFP4 RL in Miles ([blog](https://www.lmsys.org/blog/2026-07-29-mxfp8-nvfp4-rl)).\n- [2026/07] 🔥 SGLang and Miles add day-0 support for Kimi K3 ([blog](https://www.lmsys.org/blog/2026-07-27-kimi-k3-day0-support)).\n- [2026/07] On-policy distillation lands in Miles ([blog](https://www.lmsys.org/blog/2026-07-18-opd-support-in-miles)).\n- [2026/07] 🔥 SGLang and Miles add day-0 support for Inkling, a frontier multimodal model ([blog](https://www.lmsys.org/blog/2026-07-15-inkling-day0-support)).\n- [2026/07] DeepSeek-V4 Flash RL training comes to AMD Instinct MI355X with Miles ([blog](https://www.lmsys.org/blog/2026-07-10-rocm-miles-dsv4)).\n- [2026/06] SGLang and Miles add day-0 support for NVIDIA Nemotron 3 Ultra ([blog](https://www.lmsys.org/blog/2026-06-04-nvidia-run-nemotron-3-ultra)).\n- [2026/05] No token left behind: token-in-token-out in Miles ([blog](https://www.lmsys.org/blog/2026-05-13-no-token-left-behind)).\n- [2026/04] Updating 1 T parameters in seconds: P2P we

FAQ (2)

トラブル対応
Slurm/Rayクラスターでmilesを起動する際のSGLang routerの'Invalid address: invalid socket address syntax'エラーを修正する方法

これは、sglang_router.launch_router --host が IP リテラルのみを受け付け(Rust の SocketAddr としてパースするため)、Slurm で管理されるクラスタでは Ray がノードアドレスをホスト名(例: node1234)として報告するため、ルーターがバインド前に終了し、その後 'Server at <host>:<port> not ready after 120s' で実行が失敗することが原因です。

修正: PR #3356(コミット 9fecf0ff)を含むリビジョンに miles をアップグレードしてください。このコミットは、ルーターのバインドアドレス用に指定されたホスト名を IP リテラルに解決しつつ、接続側の URL と分散初期化にはホスト名を保持します。GB200/GB300 の Slurm 環境で sglang-router 0.3.2 を使用して動作が確認されています。

古いリビジョンでの回避策: Ray がホスト名の代わりに IP リテラルを通知するようにします。つまり、$(hostname) ではなく --node-ip-address=<node-IP> を指定して Ray を起動します。なお、--miles-host-ip 0.0.0.0 は一般的な回避策としては有効ではないことに注意してください。

参照 Issue #3133
トラブル対応
Qwen3-235B-A22B (MoE) での Miles p2p weight-sync 中に発生する 'Process group MagicMock mock.cpu_group is not initialized in the world group map' エラーの修正方法

クラッシュが発生するのは、Miles の _create_cpu_replica()(update_weight_from_distributed/p2p.py 内)がシャーディングレイアウトを導出するために使い捨ての CPU 専用レプリカを構築し、tp_group.cpu_group を MagicMock としてスタブしているためです。SGLang のモデル構築では、その後 MultimemAllGatherer(triton_symm_mem_ag)が初期化され、これが torch.distributed.get_backend(tp_group.cpu_group) を介してトポロジーをプローブしますが、未登録のモックグループで失敗します。回避策: 1) PR #2605 の修正を適用する — ローカル P2P 構造レプリカのみを nnodes=1 でオーバーライドします(現在の main では get_context().override(...) を使用)。これにより、TP/EP シャーディングジオメトリを維持したまま、MultimemAllGatherer のトポロジープローブをショートカットできます。ただし、235B MoE マルチノード実行ではまだ完全に検証されておらず、残りの MoE ステージング/レイアウトの制限は #2605 に記載されていることに注意してください。2) p2p の代わりに broadcast 重み同期モードを使用する — Qwen3-235B-A22B の broadcast は同じテストマトリックスで正常に完了しました。

参照 Issue #2856