File size: 1,416 Bytes
ae02605 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #!/bin/bash
# Ablations that test the mechanism rather than decorate the result.
#
# 0,1 recurrent WITHOUT deep supervision -> is per-step supervision the
# ingredient, or is recurrence alone enough?
# 2,3 32 DISTINCT layers, d=128, no weight sharing -> is it the depth, or the
# weight sharing? Same depth, ~32x the parameters.
# 4,5 R=8 instead of 32 -> how much recurrence does the task actually need?
#
# All use the schedule-matched objective, which is the arm that reached 99.70%.
#SBATCH -J abl
#SBATCH -p gpu-h100
#SBATCH --gpus=h100:1
#SBATCH -c 8
#SBATCH --mem=48g
#SBATCH -t 5:00:00
#SBATCH -o logs/abl-%A_%a.out
#SBATCH --array=0-5%6
source /etc/profile
SCR=/scratch/zt1/project/msml612/user/$USER
module load python/3.10.10
export PYTHONPATH=
cd $SCR/pcmd/src
I=$SLURM_ARRAY_TASK_ID
S=$((I % 2))
COMMON="--mode full --seed $S --pe ape --hard $SCR/pcmd/data/sudoku_hard --augment \
--heads 4 --bs 256 --steps 120000 --lr 3e-4 --warmup 3000 --K 8 --lam 1.0 \
--eval_bs 250 --ckpt_every 10000"
case $((I / 2)) in
0) NAME="abl-nodeepsup-s$S"
ARGS="--recurrent --R 32 --R_infer 64 --no_deep_sup --d 128 --layers 1" ;;
1) NAME="abl-deep32L-s$S"
ARGS="--d 128 --layers 32" ;;
2) NAME="abl-R8-s$S"
ARGS="--recurrent --R 8 --R_infer 16 --d 128 --layers 1" ;;
esac
echo "=== $NAME ==="
$SCR/hf_env/bin/python -u train_sudoku.py $ARGS $COMMON --out $SCR/pcmd/runs/$NAME
|