File size: 1,618 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
40
41
#!/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