Buckets:

Pranav2748's picture
download
raw
2.73 kB
#!/usr/bin/env bash
# Runs after the 2B pipeline (called by the overnight driver): Jevals for the 2B models, then the RL checkpoint-40
# eval (1e-5 only, to separate the two RL phases) and its Jevals run, then the Jevals table again.
cd /workspace/decision-reasoner
source .venv/bin/activate
M=$(cat runs/v2_2b/results/model_2b.txt 2>/dev/null || echo Qwen/Qwen3.5-2B)
[ -f data/jevals/runs/base_2b.json ] || python -u jevals_eval.py run --name base_2b --model "$M" >> logs/jevals_run.log 2>&1 || echo "FAILED base_2b" >> logs/jevals_run.log
if [ -d runs/v2_2b/checkpoints/v2b_joint_merged ]; then
[ -f data/jevals/runs/v2_2b.json ] || python -u jevals_eval.py run --name v2_2b --model runs/v2_2b/checkpoints/v2b_joint_merged >> logs/jevals_run.log 2>&1 || echo "FAILED v2_2b" >> logs/jevals_run.log
fi
# the untrained 2B's thinking on the eval subset, and a readout-only 2B if joint training hurt the 2B's thinking
bash runs/v2_2b/twob_extra.sh > logs/v2b_extra.log 2>&1 || true
if [ -d runs/v2_2b/checkpoints/v2b_ro_merged ]; then
[ -f data/jevals/runs/v2_2b_ro.json ] || python -u jevals_eval.py run --name v2_2b_ro --model runs/v2_2b/checkpoints/v2b_ro_merged >> logs/jevals_run.log 2>&1 || echo "FAILED v2_2b_ro" >> logs/jevals_run.log
fi
# thinking mode on Jevals for the other models (V2 + RL ran before the 2B)
for spec in "v2_joint runs/v2/checkpoints/v2_joint_merged" "base Qwen/Qwen3.5-4B" "v1_joint checkpoints/joint_merged"; do
set -- $spec
[ -f data/jevals/runs/$1_think.json ] || python -u jevals_eval.py think --name $1 --model $2 >> logs/jevals_run.log 2>&1 || echo "FAILED $1_think" >> logs/jevals_run.log
done
[ -f data/jevals/runs/base_2b.json ] && { [ -f data/jevals/runs/base_2b_think.json ] || python -u jevals_eval.py think --name base_2b --model "$M" --max-seqs 96 >> logs/jevals_run.log 2>&1 || echo "FAILED base_2b_think" >> logs/jevals_run.log; }
if [ -d runs/v2_2b/checkpoints/v2b_joint_merged ] && [ -f data/jevals/runs/v2_2b.json ]; then
[ -f data/jevals/runs/v2_2b_think.json ] || python -u jevals_eval.py think --name v2_2b --model runs/v2_2b/checkpoints/v2b_joint_merged --max-seqs 96 >> logs/jevals_run.log 2>&1 || echo "FAILED v2_2b_think" >> logs/jevals_run.log
fi
python -u jevals_eval.py score > logs/jevals_score.log 2>&1 || true
(cd runs/v2 && CKPT=checkpoints/rl_grpo/checkpoint-40 NAME=rl40 bash run_rl_eval.sh > ../../logs/rl_eval_driver_rl40.log 2>&1; echo "DRIVER_EXIT $?" >> ../../logs/rl_eval_driver_rl40.log)
[ -d runs/v2/checkpoints/rl40_merged ] && { [ -f data/jevals/runs/rl40.json ] || python -u jevals_eval.py run --name rl40 --model runs/v2/checkpoints/rl40_merged >> logs/jevals_run.log 2>&1; }
python -u jevals_eval.py score > logs/jevals_score.log 2>&1 || true

Xet Storage Details

Size:
2.73 kB
·
Xet hash:
eec60d799fe91d32ddebad75f64c34508a4185904d0b3fa092d7bd210a668749

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.