fix smoke.

This commit is contained in:
wassname
2026-05-23 11:26:39 +08:00
parent 120400c5f5
commit bf252fac69
8 changed files with 1574 additions and 138 deletions
+16 -6
View File
@@ -2,8 +2,12 @@ set shell := ["bash", "-cu"]
# Three seeds for headline arms; one seed for ablations.
SEEDS_3 := "41 43 44"
MODEL := "Qwen/Qwen2.5-1.5B" # placeholder for tiny-dev; real runs use Qwen3.5-2B
TINY_MODEL := "hf-internal-testing/tiny-random-LlamaForCausalLM" # tiny+stable; swap for real arch if needed
# H4 main: Qwen3.5-2B; if H4 falsified (vanilla hack<30%), switch to Qwen/Qwen3-4B per spec.md.
MODEL := "Qwen/Qwen3.5-2B"
# Compute-fit override for 96GB single-GPU (see docs/grpo_hyperparams.md §Our deviations).
NUM_GEN := "8"
BATCH := "16"
TINY_MODEL := "llamafactory/tiny-random-qwen3" # qwen3 arch, ~6M params, smoke only
BASE := "uv run python -m projected_grpo.run"
default:
@@ -47,22 +51,28 @@ queue:
# just queue-projected-m32 # H2 sweep
# Vanilla GRPO baseline, 3 seeds. H: hack rate >30% at step 200 per spec H4.
# Real run goes through Ariahw's verl pipeline (NOT our smoke run.py).
queue-vanilla:
#!/usr/bin/env bash
set -x
for seed in {{ SEEDS_3 }}; do
pueue add -w "$PWD" -o 5 \
-l "why: H4 sanity, does Qwen3.5-2B reward-hack at all; resolve: if <30% hack rate, swap to Qwen3-4B" \
-- {{ BASE }} --arm=vanilla --seed=$seed --model={{ MODEL }} --steps=200
pueue add -w "$PWD/external/rl-rewardhacking" -o 5 \
-l "why: H4 sanity, does {{ MODEL }} reward-hack at all; resolve: if <30% hack rate at step 200, swap MODEL to Qwen/Qwen3-4B + reduce NUM_GEN to 4" \
-- uv run python scripts/run_rl_training.py no_intervention \
--model_id={{ MODEL }} --seed=$seed \
--num_generations={{ NUM_GEN }} --per_device_batch_size={{ BATCH }}
done
# Projected gradient, m=16, 3 seeds. H1 main result.
# TODO: integrate project_grad_per_row into verl's GRPO trainer. Currently the
# justfile recipe still calls our smoke run.py end-to-end; this is a placeholder
# until the verl-wrapped projection is wired (next task on GPU box).
queue-projected-m16:
#!/usr/bin/env bash
set -x
for seed in {{ SEEDS_3 }}; do
pueue add -w "$PWD" -o 4 \
-l "why: H1 main, gradient proj reduces hack rate >=30pp at matched pass; resolve: publish if H1 holds" \
-l "why: H1 main, gradient proj reduces hack rate >=30pp at matched pass; resolve: publish if H1 holds; BLOCKED: needs verl integration" \
-- {{ BASE }} --arm=projected --m=16 --seed=$seed --model={{ MODEL }} --steps=200
done