#!/bin/bash # Properly specified baselines, replacing two broken ones. # # 0 DIRECT + all-cell supervision: the published recurrent classifier trains # on all 81 cells, not just the blanks. Our blanks-only version plateaued at # loss 0.34 against diffusion's 0.15, which is the likeliest cause. # 1 same, second seed - the first attempt had huge seed variance (40.9 / 6.6) # 2 AR PREFIX-LM: [puzzle][solution], causal, loss on the solution half. The # earlier in-place causal version was mis-specified: Sudoku clues are # scattered, so a causal model could not attend to clues on its right. #SBATCH -J fix #SBATCH -p gpu-h100 #SBATCH --gpus=h100:1 #SBATCH -c 8 #SBATCH --mem=48g #SBATCH -t 2:00:00 #SBATCH -o logs/fix-%A_%a.out #SBATCH --array=0-2%3 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 COMMON="--pe ape --hard $SCR/pcmd/data/sudoku_hard --augment --heads 4 --bs 256 \ --steps 110000 --lr 3e-4 --warmup 3000 --eval_bs 250 --ckpt_every 10000" case $I in 0) NAME="fix-directall-s0"; ARGS="--objective direct --all_cells --recurrent --R 32 --R_infer 64 --d 128 --layers 1 --seed 0" ;; 1) NAME="fix-directall-s1"; ARGS="--objective direct --all_cells --recurrent --R 32 --R_infer 64 --d 128 --layers 1 --seed 1" ;; 2) NAME="fix-arprefix-s0"; ARGS="--objective ar --d 128 --layers 12 --seed 0" ;; esac echo "=== $NAME ===" $SCR/hf_env/bin/python -u train_sudoku.py $ARGS $COMMON --out $SCR/pcmd/runs/$NAME