#!/bin/bash # The baselines that can overturn the paper's framing. # # 0,1 DIRECT + RECURRENT: predict every blank from the puzzle, no masking # schedule, recurrent with deep supervision. This is the Recurrent # Transformer setup reimplemented in our codebase - the control that asks # whether the DIFFUSION framing earns its place at all. If it matches # 99.70%, diffusion contributes nothing and the paper's framing collapses. # 2,3 DIRECT + FEED-FORWARD: same, without recurrence. Isolates recurrence # from the objective. # 4,5 AUTOREGRESSIVE: left-to-right cell filling at matched size. Asks whether # any iterative model would do, making the generative framing irrelevant. #SBATCH -J base #SBATCH -p gpu-h100 #SBATCH --gpus=h100:1 #SBATCH -c 8 #SBATCH --mem=48g #SBATCH -t 5:00:00 #SBATCH -o logs/base-%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="--seed $S --pe ape --hard $SCR/pcmd/data/sudoku_hard --augment \ --heads 4 --bs 256 --steps 120000 --lr 3e-4 --warmup 3000 \ --eval_bs 250 --ckpt_every 10000" case $((I / 2)) in 0) NAME="base-directrec-s$S" ARGS="--objective direct --recurrent --R 32 --R_infer 64 --d 128 --layers 1" ;; 1) NAME="base-directff-s$S" ARGS="--objective direct --d 128 --layers 12" ;; 2) NAME="base-ar-s$S" ARGS="--objective ar --d 128 --layers 12" ;; esac echo "=== $NAME ===" $SCR/hf_env/bin/python -u train_sudoku.py $ARGS $COMMON --out $SCR/pcmd/runs/$NAME