Commit 9acedbb
refactor: hoist Arctic RL integration to top-level arctic_training/ folder
Per Charlie's feedback on the public SkyRL PR — the integration code (two
subclasses + an entrypoint) doesn't belong inside skyrl/ core, where the
SkyRL maintainers would have to keep it building. The legacy skyrl-tx/
folder pattern (top-level sibling of skyrl/, no maintenance from upstream
core) is the right precedent.
Move:
skyrl/backends/arctic_rl/__init__.py → arctic_training/arctic_rl_integration/__init__.py
skyrl/backends/arctic_rl/arctic_trainer.py → arctic_training/arctic_rl_integration/trainer.py
skyrl/backends/arctic_rl/arctic_generator.py → arctic_training/arctic_rl_integration/generator.py
skyrl/backends/arctic_rl/config.py → arctic_training/arctic_rl_integration/config.py
skyrl/train/entrypoints/main_arctic_rl.py → arctic_training/arctic_rl_integration/entrypoint.py
The folder name `arctic_training/` matches Charlie's request (sibling of
`skyrl/`, like the legacy `skyrl-tx/`). The Python module name inside is
`arctic_rl_integration` — intentionally distinct from the upstream
`arctic_training` PyPI package (the DSS server library) so they can
coexist at import time. SkyRL's main_base.py routing becomes a 5-line
shim:
if cfg.trainer.arctic_rl is not None:
from arctic_rl_integration.entrypoint import main as arctic_rl_main
arctic_rl_main()
return
pyproject.toml gains a `where = [".", "arctic_training"]` and includes
`arctic_rl_integration*` so setuptools picks up the new package directory.
The ArcticRLTrainerConfig dataclass (the trainer.arctic_rl.* schema) stays
in skyrl/train/config/config.py — it's a pure schema, no behavior, near-
zero maintenance burden.
Validated on dev pod (kganesan-dev-h200-0-qsxhj, 8x H200): zero-env
1x4 colocated GSM8K, 3 stable steps, rewards 0.19 -> 0.25, step time
~19s. Matches prior baseline. Import smoke confirms arctic_rl_integration
and upstream arctic_training (DSS) coexist without collision.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 29de7a9 commit 9acedbb
8 files changed
Lines changed: 49 additions & 35 deletions
File tree
- arctic_training/arctic_rl_integration
- skyrl
- backends/arctic_rl
- train/entrypoints
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
File renamed without changes.
Lines changed: 6 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
18 | 14 | | |
19 | 15 | | |
20 | 16 | | |
| |||
30 | 26 | | |
31 | 27 | | |
32 | 28 | | |
33 | | - | |
34 | | - | |
| 29 | + | |
| 30 | + | |
35 | 31 | | |
36 | 32 | | |
37 | 33 | | |
| |||
90 | 86 | | |
91 | 87 | | |
92 | 88 | | |
93 | | - | |
| 89 | + | |
94 | 90 | | |
95 | 91 | | |
96 | 92 | | |
| |||
File renamed without changes.
File renamed without changes.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
5 | 11 | | |
6 | | - | |
| 12 | + | |
| 13 | + | |
7 | 14 | | |
8 | 15 | | |
9 | 16 | | |
| |||
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
478 | 478 | | |
479 | 479 | | |
480 | 480 | | |
481 | | - | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
482 | 485 | | |
483 | | - | |
| 486 | + | |
484 | 487 | | |
485 | 488 | | |
486 | 489 | | |
| |||
0 commit comments