Pin trl==1.15.0 (pre-tree-packing, LFM2 hybrid compatible) + vllm v0.31.0 image
Browse files- README.md +8 -2
- run_job.sh +4 -1
README.md
CHANGED
|
@@ -10,6 +10,12 @@ TRL `AsyncGRPOTrainer` with `HarnessRolloutWorker` → vLLM policy server.
|
|
| 10 |
Every API here was verified against the released wheels (trl 1.16.0, openenv 0.10.0,
|
| 11 |
harbor 0.24.0), the `harbor_env` source, and the FineEnvs production env Space.
|
| 12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
**Sandboxes are HF Sandboxes** (Harbor's `hf-sandbox` backend, harbor>=0.24): each
|
| 14 |
rollout boots an HF Jobs cpu-basic machine running the task's prebuilt image
|
| 15 |
(`savatar101/env-data-agent-train:base` — the same image every task's Dockerfile is
|
|
@@ -45,7 +51,7 @@ hf upload YOU/lfm-opencode-lora-rl-code . \
|
|
| 45 |
--include "*.py" --include "*.sh" --include "*.md" --include "data/*.json"
|
| 46 |
|
| 47 |
# 1. Smoke run (~1-2h): validates weight sync, capture contract, sandbox boots
|
| 48 |
-
hf jobs run vllm/vllm-openai:
|
| 49 |
--secrets HF_TOKEN="$(hf auth token)" \
|
| 50 |
--env ADAPTER_REPO=YOU/LFM2.5-2.6B-opencode-lora-RL MAX_STEPS=20 \
|
| 51 |
-- bash -c 'pip -q install huggingface_hub && hf download YOU/lfm-opencode-lora-rl-code --local-dir /app && bash /app/run_job.sh'
|
|
@@ -55,7 +61,7 @@ hf jobs run vllm/vllm-openai:latest --flavor h200x2 --timeout 6h --detach \
|
|
| 55 |
hf jobs logs <job-id> --follow
|
| 56 |
|
| 57 |
# 3. Full run (the article's OpenCode-only run took ~32h on 2x H100)
|
| 58 |
-
hf jobs run vllm/vllm-openai:
|
| 59 |
--secrets HF_TOKEN="$(hf auth token)" \
|
| 60 |
--env ADAPTER_REPO=YOU/LFM2.5-2.6B-opencode-lora-RL MAX_STEPS=1000 \
|
| 61 |
-- bash -c 'pip -q install huggingface_hub && hf download YOU/lfm-opencode-lora-rl-code --local-dir /app && bash /app/run_job.sh'
|
|
|
|
| 10 |
Every API here was verified against the released wheels (trl 1.16.0, openenv 0.10.0,
|
| 11 |
harbor 0.24.0), the `harbor_env` source, and the FineEnvs production env Space.
|
| 12 |
|
| 13 |
+
**Version pins that matter:** `trl==1.15.0` (1.16.0 made tree packing unconditional
|
| 14 |
+
in AsyncGRPOTrainer and refuses hybrid models — LFM2.5 has conv layers; 1.15.0 has
|
| 15 |
+
the harness worker but predates tree packing) and `vllm/vllm-openai:v0.31.0` (top
|
| 16 |
+
of trl 1.15.0's supported vLLM band, and predates its mcp>=2 requirement which
|
| 17 |
+
conflicts with openenv's fastmcp 3.x).
|
| 18 |
+
|
| 19 |
**Sandboxes are HF Sandboxes** (Harbor's `hf-sandbox` backend, harbor>=0.24): each
|
| 20 |
rollout boots an HF Jobs cpu-basic machine running the task's prebuilt image
|
| 21 |
(`savatar101/env-data-agent-train:base` — the same image every task's Dockerfile is
|
|
|
|
| 51 |
--include "*.py" --include "*.sh" --include "*.md" --include "data/*.json"
|
| 52 |
|
| 53 |
# 1. Smoke run (~1-2h): validates weight sync, capture contract, sandbox boots
|
| 54 |
+
hf jobs run vllm/vllm-openai:v0.31.0 --flavor h200x2 --timeout 6h --detach \
|
| 55 |
--secrets HF_TOKEN="$(hf auth token)" \
|
| 56 |
--env ADAPTER_REPO=YOU/LFM2.5-2.6B-opencode-lora-RL MAX_STEPS=20 \
|
| 57 |
-- bash -c 'pip -q install huggingface_hub && hf download YOU/lfm-opencode-lora-rl-code --local-dir /app && bash /app/run_job.sh'
|
|
|
|
| 61 |
hf jobs logs <job-id> --follow
|
| 62 |
|
| 63 |
# 3. Full run (the article's OpenCode-only run took ~32h on 2x H100)
|
| 64 |
+
hf jobs run vllm/vllm-openai:v0.31.0 --flavor h200x2 --timeout 72h --detach \
|
| 65 |
--secrets HF_TOKEN="$(hf auth token)" \
|
| 66 |
--env ADAPTER_REPO=YOU/LFM2.5-2.6B-opencode-lora-RL MAX_STEPS=1000 \
|
| 67 |
-- bash -c 'pip -q install huggingface_hub && hf download YOU/lfm-opencode-lora-rl-code --local-dir /app && bash /app/run_job.sh'
|
run_job.sh
CHANGED
|
@@ -25,8 +25,11 @@ echo "=== [setup] packages ==="
|
|
| 25 |
# vllm + torch come from the base image (vllm/vllm-openai). Per TRL docs,
|
| 26 |
# transformers>=5.2.0 may need --no-deps next to vllm's pinned stack.
|
| 27 |
python3 -m pip install --quiet 'transformers>=5.2.0' --no-deps
|
|
|
|
|
|
|
|
|
|
| 28 |
python3 -m pip install --quiet \
|
| 29 |
-
'trl[peft]
|
| 30 |
'openenv[harbor]' \
|
| 31 |
'harbor[hf-sandbox]>=0.24.0' \
|
| 32 |
math-verify tomli-w \
|
|
|
|
| 25 |
# vllm + torch come from the base image (vllm/vllm-openai). Per TRL docs,
|
| 26 |
# transformers>=5.2.0 may need --no-deps next to vllm's pinned stack.
|
| 27 |
python3 -m pip install --quiet 'transformers>=5.2.0' --no-deps
|
| 28 |
+
# trl is pinned to 1.15.0: 1.16.0 made tree packing unconditional in
|
| 29 |
+
# AsyncGRPOTrainer and rejects hybrid models (LFM2.5 has conv layers). 1.15.0
|
| 30 |
+
# has HarnessRolloutWorker (#6947) but predates tree packing.
|
| 31 |
python3 -m pip install --quiet \
|
| 32 |
+
'trl[peft]==1.15.0' \
|
| 33 |
'openenv[harbor]' \
|
| 34 |
'harbor[hf-sandbox]>=0.24.0' \
|
| 35 |
math-verify tomli-w \
|