fix(grpo): TRL 1.2 stock path + LoRA double-wrap fix + smoke memory caps
Browse files- scripts/job_train.sh +14 -1
scripts/job_train.sh
CHANGED
|
@@ -65,13 +65,26 @@ print("SFT adapter:", run_sft(cfg, m, t))
|
|
| 65 |
PY
|
| 66 |
|
| 67 |
# GRPO 50 steps (Path 3 — 0.5B sanity check; switch to qwen_1_5b + max_steps=400 for Path 1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 68 |
python <<'PY'
|
| 69 |
from hydra import initialize_config_dir, compose
|
| 70 |
from train.model_load import load_model_and_tokenizer
|
| 71 |
from train.grpo import run_grpo
|
| 72 |
from rewards.compose import make_reward_fn
|
| 73 |
with initialize_config_dir(config_dir="/w/configs", version_base="1.3"):
|
| 74 |
-
cfg = compose(config_name="config", overrides=[
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 75 |
m, t = load_model_and_tokenizer(cfg)
|
| 76 |
print("GRPO merged:", run_grpo(cfg, m, t, make_reward_fn(cfg.reward), "http://localhost:8001"))
|
| 77 |
PY
|
|
|
|
| 65 |
PY
|
| 66 |
|
| 67 |
# GRPO 50 steps (Path 3 — 0.5B sanity check; switch to qwen_1_5b + max_steps=400 for Path 1)
|
| 68 |
+
# Memory overrides for single-A10G + vLLM colocate at 0.5B:
|
| 69 |
+
# - num_generations=4 (was 8) → halves rollout VRAM
|
| 70 |
+
# - max_prompt_length=2048 (was 4096) → halves KV cache per prompt
|
| 71 |
+
# - max_completion_length=512 (was 2048) → quarters generation memory
|
| 72 |
+
# - vllm_gpu_memory_utilization=0.35 → leaves ~16GB headroom for trainer
|
| 73 |
python <<'PY'
|
| 74 |
from hydra import initialize_config_dir, compose
|
| 75 |
from train.model_load import load_model_and_tokenizer
|
| 76 |
from train.grpo import run_grpo
|
| 77 |
from rewards.compose import make_reward_fn
|
| 78 |
with initialize_config_dir(config_dir="/w/configs", version_base="1.3"):
|
| 79 |
+
cfg = compose(config_name="config", overrides=[
|
| 80 |
+
"model=qwen_0_5b_smoke",
|
| 81 |
+
"train=grpo",
|
| 82 |
+
"train.max_steps=50",
|
| 83 |
+
"train.num_generations=4",
|
| 84 |
+
"train.max_prompt_length=2048",
|
| 85 |
+
"train.max_completion_length=512",
|
| 86 |
+
"train.vllm_gpu_memory_utilization=0.35",
|
| 87 |
+
])
|
| 88 |
m, t = load_model_and_tokenizer(cfg)
|
| 89 |
print("GRPO merged:", run_grpo(cfg, m, t, make_reward_fn(cfg.reward), "http://localhost:8001"))
|
| 90 |
PY
|