laya-browser / code /finetune /run_fmt_ab.sh
cklxx's picture
v19s: WebChain real-site trajectories, format v5, webgym x7 + DAgger, harness fixes; replaces v17s
454b3e6 verified
Raw History Blame Contribute Delete
2.04 kB
#!/bin/bash
# A/B: option format v3 vs v4. Same start (v17s), same 100k-item random subset, 1 epoch each; then offline eval (by
# option-count width), webgym held-out 7 kinds, suite C x2.
cd /home/ckl/projects/S/laya && source env.sh
until grep -q EVAL_DONE finetune/out/eval_v18s.log; do sleep 60; done
export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True CKPT=1 COMPILE=0 LAYA_HEAD=768
P=.venv/bin/python; O=finetune/out; I="bash finetune/infra.sh"; export INFRA_DIR=${INFRA_DIR:-/tmp/laya-infra}
$I stop_s1; SG=$(pgrep -f 'sglang.launch_serve[r]' | head -1); [ -n "$SG" ] && kill $SG; sleep 15
for F in 3 4; do
CK=laya-browser-x$F
echo "== train $CK (format v$F)"; LAYA_FMT=v$F LAYA_BASE=$PWD/$O/laya-browser-v17s $P finetune/train.py $O/items_x$F/train_items.pt $O/$CK 1 2>&1 | grep --line-buffered -E "=== epoch|saved|Error|Traceback|resumed"
[ -f $O/$CK/model.safetensors ] || { echo "training of $CK interrupted; rerun to resume"; exit 0; }
E=$O/items_s/eval_cases.jsonl
LAYA_FMT=v$F $P finetune/calibrate.py $O/pages.jsonl $E $PWD/$O/$CK 2>&1 | grep -vE "TileLang|Warn|warn|Fetch" | tail -1
LAYA_FMT=v$F $P finetune/eval.py $O/pages.jsonl $E $PWD/$O/$CK 2>&1 | grep -E "operation acc| live | mind2web | width"
done
$I start_chrome >/dev/null; SGL_MEM=0.5 $I start_sglang Qwen/Qwen3-8B-AWQ >/dev/null; bash finetune/webgym/serve.sh restart >/dev/null
until curl -s -m 3 http://127.0.0.1:30000/health >/dev/null; do sleep 5; done
KINDS=$($P -c "import sys; sys.path.insert(0,'finetune/webgym'); import spec; print(','.join(spec.KINDS))")
for F in 3 4; do
CK=laya-browser-x$F
$I start_s1 $PWD/$O/$CK 60 >/dev/null
echo "== $CK webgym held-out"; (cd ../jev-ultrafast && GYM_OUT=$PWD/../laya/$O/gym7_$CK.json timeout 7200 .venv/bin/python ../laya/finetune/webgym/eval_gym.py 10 $KINDS 60 2>&1 | grep -E "^==")
echo "== $CK suite C x2"; (cd ../jev-ultrafast && REPEATS=2 SUITE_OUT=$PWD/../laya/$O/suiteC_$CK.json timeout 5400 .venv/bin/python ../laya/apps/browser_suite_c.py 2>&1 | grep -E "^==")
done
echo AB_DONE